Skip to content

chore: Sync package-lock.json with 0.1.1 version bump #10

chore: Sync package-lock.json with 0.1.1 version bump

chore: Sync package-lock.json with 0.1.1 version bump #10

Workflow file for this run

name: Release
on:
push:
tags:
- 'v*'
permissions:
contents: write
id-token: write # required for npm provenance AND Sigstore keyless signing
jobs:
# Gate: single source of truth — same script locally and in CI
verify:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v6
with:
fetch-depth: 0
- uses: actions/setup-go@v6
with:
go-version-file: go.mod
- uses: actions/setup-node@v6
with:
node-version: '22.x'
cache: npm
cache-dependency-path: |
package-lock.json
extension/vscode/package-lock.json
- name: Verify tag matches package.json version
run: |
TAG_VERSION="${GITHUB_REF_NAME#v}"
PKG_VERSION=$(node -p "require('./package.json').version")
if [ "$TAG_VERSION" != "$PKG_VERSION" ]; then
echo "::error::Tag $GITHUB_REF_NAME does not match package.json version $PKG_VERSION"
exit 1
fi
- name: Run release verification
run: make release-verify
# Only runs if verify passes
npm-release:
needs: [verify, go-release]
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v6
- uses: actions/setup-node@v6
with:
node-version: '22.x'
registry-url: 'https://registry.npmjs.org'
- name: Install dependencies
run: npm ci
- name: Publish to npm
run: npm publish --provenance --access public
env:
NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
# Build and attach Go binaries, SBOMs, and signatures to the GitHub Release
go-release:
needs: verify
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v6
with:
fetch-depth: 0
- uses: actions/setup-go@v6
with:
go-version-file: go.mod
# Install syft for SBOM generation (CycloneDX + SPDX)
- name: Install syft
uses: anchore/sbom-action/download-syft@v0
with:
syft-version: 'v1.18.1'
# Install cosign for Sigstore keyless signing
- name: Install cosign
uses: sigstore/cosign-installer@v3
- name: Run GoReleaser
uses: goreleaser/goreleaser-action@v6
with:
version: '~> v2'
args: release --clean
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
COSIGN_ENABLED: "1"
HOMEBREW_TAP_GITHUB_TOKEN: ${{ secrets.HOMEBREW_TAP_GITHUB_TOKEN }}