Skip to content

Update package.json #28

Update package.json

Update package.json #28

name: Release VSCode Extension
on:
push:
branches:
- main
paths:
- 'vscode-extension/**'
jobs:
package:
runs-on: ubuntu-latest
steps:
- name: Checkout Code
uses: actions/checkout@v4
- name: Set up Node.js
uses: actions/setup-node@v2
with:
node-version: '20'
- name: Install Dependencies
run: npm install
- name: Install monorepo dependencies
run: npm install --workspaces
- name: Install vsce
run: npm install -g @vscode/vsce
# Read package.json from vscode-extension folder and set variables
- name: Read package.json
run: |
extension_name=$(node -p "require('./vscode-extension/package.json').name")
extension_version=$(node -p "require('./vscode-extension/package.json').version")
echo "EXTENSION_NAME=$extension_name" >> $GITHUB_ENV
echo "EXTENSION_VERSION=$extension_version" >> $GITHUB_ENV
# fixme: run tests
- name: Run Tests
run: npm run test --workspace=vscode-extension
- name: Package Extension
run: npm run vscode:package
# Rename the vsix file (adjusting path for monorepo)
- name: Rename VSIX
working-directory: vscode-extension
run: mv *.vsix ${{ env.EXTENSION_NAME }}.v${{ env.EXTENSION_VERSION }}.vsix
# Create GitHub Pre Release and Upload VSIX
- name: Create GitHub Pre Release and Upload VSIX
working-directory: vscode-extension
run: |
gh auth login --with-token <<< "${{ secrets.GITHUB_TOKEN }}"
gh release create v${{ env.EXTENSION_VERSION }} ./${{ env.EXTENSION_NAME }}.v${{ env.EXTENSION_VERSION }}.vsix --prerelease -t "blits-vscode v${{ env.EXTENSION_VERSION }}" -n "Version ${{ env.EXTENSION_VERSION }} of ${{ env.EXTENSION_NAME }}"