vscode-vsce

Activity, over time

Daily observations from the public event archive.

Attention

Daily stars & forks

Loading attention chart

Star accumulation

Cumulative stars

Loading star accumulation chart

Pull requests

Daily opens & merges

Loading pull requests chart

Conversations

Daily issues & comments

Loading conversations chart

Community

Daily accounts & reviews

Loading community chart

Releases

Daily releases

Loading releases chart

Mentions

2posts · 30d
Nov 41 post
  1. Zenn · · @kyto64

    VS Code 拡張の Marketplace 公開を承認付きのまま PAT なしで自動化した 検証環境: GitHub Actions(ubuntu-latest) @vscode/vsce 4.1.0 対象: vscode-line-ref-copy(Marketplace) 変更: PR #45 背景 自作の VS Code 拡張を Marketplace に出している。v0.1.0〜0.1.2 は VSIX を作って、Marketplace の管理画面にドラッグ&ドロップで上げていた。 この手作業をやめたい、というのが出発点だ。 公開をわざと手動にしていた理由もある。リポジトリのリリース方針(release.md)で「公開は毎回 kyto が承認する」と決めていた。だから publish 用のワークフローは置かず、自動化は Issue #6(Open VSX / VS Code Marketplace への公開検討)の先送り扱いにしていた。 認証についても release.md に「PAT で公開する。長期の Marketplace PAT は 2026-12-01 に廃止予定と Microsoft が告知している」と書いていた。公式ドキュメントでも、Azure DevOps のグローバル PAT は 2026-12-01 に廃止とされている。 結論 承認を残すために手動にする必要はなかった。GitHub の environment に Required reviewers を付ければ、毎回の承認と自動化を両立できる。 Marketplace の Trusted Publishing(vsce publish --oidc)を使えば、PAT もシークレットもリポジトリに置かずに GitHub Actions から公開できる。 --oidc は vsce 4.0.0 では使えず、4.1.0 に上げたら通った。 ポリシーにはワークフローのファイル名まで登録するので、ファイル名は固定。private リポジトリだとポリシー作成から 48 時間以内に初回実行が必要なので、作るタイミングにも気をつける。 v0.1.3 をこの仕組みで初めて公開し、ワークフローは成功した(2026-10-29 15:23 JST 起動)。 旅路 承認ゲートは environment で作れる 手動にしていたのは「人が承認してから出す」を守るためだった。 でも GitHub Actions の environment に Required reviewers を設定すれば、その environment を使うジョブは承認されるまで始まらない。承認は残したまま、アップロードの手作業だけを消せる。 Marketplace 側の設定 publisher の管理画面 → Trusted Publishing → Create で、次を登録する。 Repository owner: kyto64 Repository: vscode-line-ref-copy Workflow: publish.yml Environment: release ワークフローのファイル名がポリシーに入るので、後から名前を変えないこと。publish.yml の先頭にもその旨をコメントで書いた。 公式ドキュメントによると、private リポジトリの場合はポリシー作成から 48 時間以内に設定したワークフローを走らせる必要がある。最初のトークン交換が成功すると、ポリシーが恒久的に有効になる。 今回は次の version(v0.1.3)の準備ができてからポリシーを作った。 GitHub 側の設定 Settings → Environments に release を作り、Required reviewers に自分(kyto64)を入れる。 タグを打っても、承認するまで公開ジョブは止まる。 ワークフロー 要点だけ書く。 on: push: tags: ["v*"] workflow_dispatch: inputs: tag: required: true permissions: contents: read jobs: publish: environment: release permissions: contents: read id-token: write steps: refs/tags/<tag> を checkout(persist-credentials: false) lint → テスト(xvfb-run)→ compile package.json の version とタグの一致、Marketplace に同じ version が無いことを確認 - run: npx @vscode/vsce publish --oidc 権限はトップレベルが contents: read だけ。id-token: write は publish ジョブだけに付ける。 タグ(refs/tags/<tag>)を checkout する。ブランチの HEAD からは公開しない。タグが無ければ落ちる。 package.json の version とタグ名が違えば落とす。 Marketplace に同じ version がすでにあれば落とす。vsce publish 自体も同じ version では失敗するが、その前に止める。 concurrency(cancel-in-progress: false)で同時に公開が走らないようにする。 vsce のバージョンで詰まる 最初は vsce 4.0.0 のままで、--oidc に対応していなかった。4.1.0 に上げて解決した。 devDependencies で 4.1.0 に固定している。 リリースの流れ version と CHANGELOG.md を更新した PR をマージする。 GitHub Release を作り、v0.1.3 タグを push する。 Publish ワークフローが起動し、release environment の承認待ちで止まる。 自分で承認する。 Marketplace に公開される。 v0.1.3 は 2026-10-29 15:23 JST に起動し、承認後の 15:30 JST ごろに公開まで終わった。 備考 今回は Marketplace のみ。Open VSX は namespace 未作成なので後回し。 手動で VSIX を作って上げる手順は、フォールバックとして残している。 個人開発の private リポジトリでは、この方法はそのまま使えない。GitHub Free / Pro / Team だと Required reviewers は public リポジトリでしか使えない。 実装は AI 開発ボット経由で、公開前の承認だけ自分でやっている。 参考 Publishing Extensions(VS Code Extension API) Publish Visual Studio Marketplace extensions securely with Trusted Publishing(Microsoft for Developers) Retirement of Global Personal Access Tokens in Azure DevOps(Sprint 270 Update) microsoft/vscode-vsce: Trusted publishing vsce v4.1.0 リリース Deployments and environments(GitHub Docs)

  2. まだバックエンド整備されてないんかー --oidc is not yet fully supported by the marketplace backend. It will be soon. Sorry for the confusion, I should not have added it to the read me already. vscode-vsce#1275

    16 views

Latest stargazers

The last 10 distinct accounts we observed this year.

Most active participants

PR, issue, comment & review events in the past year.

Packages

Scan pending.

Live mentions badge

Show how many posts mention your project in the last 30 days.

Live mentions · last 30 days
microsoft/vscode-vsce mentions in the last 30 days