Skip to content

build: bump version number #3

build: bump version number

build: bump version number #3

Workflow file for this run

name: Release VSIX
on:
push:
branches: [main]
workflow_dispatch:
permissions:
contents: write
jobs:
build:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Setup pnpm
uses: pnpm/action-setup@v6
with:
version: 10
- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: 20
cache: pnpm
- name: Install dependencies
run: pnpm install --frozen-lockfile
- name: Build
run: pnpm run build
- name: Package VSIX
run: pnpm exec vsce package --no-dependencies
- name: Read package metadata
id: meta
run: |
echo "version=$(node -p "require('./package.json').version")" >> "$GITHUB_OUTPUT"
echo "name=$(node -p "require('./package.json').name")" >> "$GITHUB_OUTPUT"
- name: Upload VSIX artifact
uses: actions/upload-artifact@v4
with:
name: ${{ steps.meta.outputs.name }}-${{ steps.meta.outputs.version }}
path: '*.vsix'
- name: Check if release exists
id: check_release
env:
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: |
tag="v${{ steps.meta.outputs.version }}"
if gh release view "$tag" --repo "$GITHUB_REPOSITORY" >/dev/null 2>&1; then
echo "exists=true" >> "$GITHUB_OUTPUT"
else
echo "exists=false" >> "$GITHUB_OUTPUT"
fi
echo "tag=$tag" >> "$GITHUB_OUTPUT"
- name: Create release
if: steps.check_release.outputs.exists == 'false'
env:
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: |
gh release create "${{ steps.check_release.outputs.tag }}" \
--repo "$GITHUB_REPOSITORY" \
--title "${{ steps.check_release.outputs.tag }}" \
--target "$GITHUB_SHA" \
--generate-notes \
*.vsix
- name: Upload VSIX to existing release
if: steps.check_release.outputs.exists == 'true'
env:
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: |
gh release upload "${{ steps.check_release.outputs.tag }}" *.vsix \
--repo "$GITHUB_REPOSITORY" \
--clobber