ccc673b5af
When pushing to production branch we now also package and publish a new version of the VS Code extension. We get the last version from VS Code marketplace and update the package.json with that version. We don't commit that to the repo though (see the discussion below). I added `VSCE_PAT` secret (my own personal access token from the dev.azure.com), which will expire in 1 year. This is used when running the publish command. Some more info here: - [Publishing from CI](https://code.visualstudio.com/api/working-with-extensions/continuous-integration#github-actions) - Publishing uses `VSCE_PAT` env variable ![image](https://github.com/tldraw/tldraw/assets/2523721/df971c57-5197-4525-bc58-d50dd4bd8f3c) ### Change Type <!-- ❗ Please select a 'Scope' label ❗️ --> - [ ] `sdk` — Changes the tldraw SDK - [ ] `dotcom` — Changes the tldraw.com web app - [ ] `docs` — Changes to the documentation, examples, or templates. - [x] `vs code` — Changes to the vscode plugin - [ ] `internal` — Does not affect user-facing stuff <!-- ❗ Please select a 'Type' label ❗️ --> - [ ] `bugfix` — Bug fix - [ ] `feature` — New feature - [ ] `improvement` — Improving existing features - [ ] `chore` — Updating dependencies, other boring stuff - [ ] `galaxy brain` — Architectural changes - [ ] `tests` — Changes to any test code - [x] `tools` — Changes to infrastructure, CI, internal scripts, debugging tools, etc. - [ ] `dunno` — I don't know ### Release Notes - Automate publishing of the VS Code extension.
39 lines
768 B
YAML
39 lines
768 B
YAML
name: Publish VS Code Extension
|
|
|
|
on:
|
|
push:
|
|
branches:
|
|
- production
|
|
|
|
env:
|
|
CI: 1
|
|
PRINT_GITHUB_ANNOTATIONS: 1
|
|
defaults:
|
|
run:
|
|
shell: bash
|
|
|
|
jobs:
|
|
deploy:
|
|
name: Publish VS Code Extension
|
|
timeout-minutes: 15
|
|
runs-on: ubuntu-latest-16-cores-open
|
|
|
|
steps:
|
|
- name: Check out code
|
|
uses: actions/checkout@v3
|
|
with:
|
|
submodules: true
|
|
|
|
- uses: ./.github/actions/setup
|
|
|
|
- name: Build types
|
|
run: yarn build-types
|
|
|
|
- name: Get extension info from the marketplace
|
|
working-directory: 'apps/vscode/extension'
|
|
run: yarn get-info
|
|
|
|
- name: Publish extension
|
|
run: yarn tsx ./scripts/publish-vscode-extension.ts
|
|
env:
|
|
VSCE_PAT: ${{ secrets.VSCE_PAT }}
|