Skip to content

(release) 0.4.1

(release) 0.4.1 #6

Workflow file for this run

name: Publish Extension
on:
push:
tags:
- '[0-9]+.[0-9]+.[0-9]+'
permissions:
contents: read
jobs:
publish:
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: '20'
registry-url: 'https://registry.npmjs.org'
- name: Install dependencies
run: npm ci
- name: Compile TypeScript
run: npm run compile
- name: Install vsce and ovsx
run: |
npm install -g @vscode/vsce
npm install -g ovsx
- name: Package extension
run: npm run package
id: package
- name: Get version from tag
id: version
run: |
VERSION=${GITHUB_REF#refs/tags/}
# Remove 'v' prefix if present
VERSION=${VERSION#v}
echo "version=$VERSION" >> $GITHUB_OUTPUT
- name: Publish to VS Code Marketplace
env:
VSCE_TOKEN: ${{ secrets.VSCE_TOKEN }}
run: |
vsce publish -p $VSCE_TOKEN
- name: Publish to OpenVSX Registry
env:
OVSX_TOKEN: ${{ secrets.OVSX_TOKEN }}
run: |
ovsx publish -p $OVSX_TOKEN
- name: Upload VSIX artifact
uses: actions/upload-artifact@v4
with:
name: extension-vsix
path: '*.vsix'
retention-days: 30
- name: Announce release on Zulip
if: success()
env:
ZULIP_BOT_TOKEN: ${{ secrets.ZULIP_RELEASES_BOT_TOKEN }}
run: |
chmod +x scripts/announce-release.sh
./scripts/announce-release.sh "${{ steps.version.outputs.version }}" "${{ secrets.ZULIP_RELEASES_BOT_TOKEN }}"