Skip to content

Merge pull request #15 from digitarald/primer/vnext-refresh #1

Merge pull request #15 from digitarald/primer/vnext-refresh

Merge pull request #15 from digitarald/primer/vnext-refresh #1

name: Release Please
on:
push:
branches: [main]
permissions:
contents: write
pull-requests: write
jobs:
release-please:
runs-on: ubuntu-latest
outputs:
release_created: ${{ steps.release.outputs.release_created }}
tag_name: ${{ steps.release.outputs.tag_name }}
steps:
- name: Release
id: release
uses: googleapis/release-please-action@v4
with:
config-file: release-please-config.json
manifest-file: release-please-manifest.json
build-extension-cross-platform:
name: Build Extension (${{ matrix.os }})
runs-on: ${{ matrix.os }}
needs: release-please
if: ${{ needs.release-please.outputs.release_created == 'true' }}
permissions:
contents: read
strategy:
fail-fast: false
matrix:
os: [ubuntu-latest, macos-latest, windows-latest]
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: 22
cache: npm
cache-dependency-path: |
package-lock.json
vscode-extension/package-lock.json
- run: npm ci --ignore-scripts
- run: npm ci
working-directory: vscode-extension
- name: Typecheck extension
run: npx tsc --noEmit
working-directory: vscode-extension
- name: Build extension
run: node esbuild.mjs --production
working-directory: vscode-extension
package-extension:
name: Package Extension
runs-on: ubuntu-latest
needs: [release-please, build-extension-cross-platform]
if: ${{ needs.release-please.outputs.release_created == 'true' && needs.build-extension-cross-platform.result == 'success' }}
permissions:
contents: write
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: 22
cache: npm
cache-dependency-path: |
package-lock.json
vscode-extension/package-lock.json
- run: npm ci
- run: npm ci
working-directory: vscode-extension
- name: Build extension
run: node esbuild.mjs --production
working-directory: vscode-extension
- name: Package VSIX
run: npx @vscode/vsce package --no-dependencies
working-directory: vscode-extension
- name: Upload VSIX to release
env:
GH_TOKEN: ${{ github.token }}
run: gh release upload --clobber ${{ needs.release-please.outputs.tag_name }} vscode-extension/*.vsix