Skip to content

chore(release): 17.3.0 #108

chore(release): 17.3.0

chore(release): 17.3.0 #108

Workflow file for this run

name: Release Extension
on:
push:
branches:
- main
workflow_dispatch:
permissions:
contents: read
concurrency:
group: release-${{ github.ref }}
cancel-in-progress: false
jobs:
release:
runs-on: ubuntu-latest
if: github.ref == 'refs/heads/main' && (github.event_name == 'workflow_dispatch' || !startsWith(github.event.head_commit.message, 'chore(release):'))
env:
GH_RELEASE_PAT: ${{ secrets.GH_RELEASE_PAT }}
steps:
- name: Checkout
uses: actions/checkout@v4
with:
fetch-depth: 0
token: ${{ secrets.GH_RELEASE_PAT }}
- name: Setup pnpm
uses: pnpm/action-setup@v4
with:
version: 9
- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: 20
cache: pnpm
- name: Install dependencies
run: pnpm install --frozen-lockfile
- name: Validate release secret
run: test -n "$GH_RELEASE_PAT" || (echo "Missing GH_RELEASE_PAT secret" && exit 1)
- name: Fetch release tags
run: git fetch --force --tags origin
- name: Lint
run: pnpm lint
- name: Compile tests
run: pnpm compile-tests
- name: Build webviews
run: pnpm build-webviews
- name: Package extension
run: pnpm package
- name: Configure git user
run: |
git config user.name "github-actions[bot]"
git config user.email "41898282+github-actions[bot]@users.noreply.github.com"
- name: Bump version and changelog
run: pnpm changelog
- name: Push release commit and tag
run: git push origin HEAD:main --follow-tags