Alert This post is over a year old, some of this information may be out of date.

Publishing your VSCode Extensions from GitHub Actions

Automation is key! That is how I think anyway. I’m not too fond of repetition, but for some reason, I had not yet automated my Visual Studio Code extension publishing. I always did this manually from my terminal by running vsce publish.

With my latest extension, I thought, now is the time to automate this as well.

Setting up your workflow

When publishing your Code extensions, you need to use the Visual Studio Code Extension command-line tool: vsce. Typically this is something you install locally by running npm i -g vsce.

In this case, we will do this on GitHub Actions instead, but before you can start, you need to create your Personal Access Token or also called PAT.

Important

Get your personal access token to publish to the VS Code Marketplace

When you got this PAT, add it as a GitHub Secret to your project.

PAT Secret in GitHub
PAT Secret in GitHub

We will use this secret in the GitHub Actions workflow which looks as follows:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
name: Release
on:
  release:
    types:
      - published
  workflow_dispatch:

jobs:
  release:
    runs-on: ubuntu-latest

    steps:
      - uses: actions/checkout@v2
      - uses: actions/setup-node@v1
        with:
          node-version: 14
          registry-url: https://registry.npmjs.org/

      - name: Install the dependencies
        run: npm i

      - name: Install vsce
        run: npm i -g vsce

      - name: Publish
        run: vsce publish -p ${{ secrets.VSCE_PAT }}
Info

The GitHub Actions workflow gets triggered whenever you create and publish a new release. In the last step, the PAT will be used to publish your extension.

Important

Make sure to set the publisher to your account in the package.json file. For me, this is eliostruyf.

Comments

Back to top