Skip to content

fix: Update version handling in create-release workflow and improve V… #5

fix: Update version handling in create-release workflow and improve V…

fix: Update version handling in create-release workflow and improve V… #5

name: Build and Publish Extension
on:
push:
branches: [ main ]
pull_request:
branches: [ main ]
release:
types: [ published ]
jobs:
build:
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: '20'
cache: 'npm'
- name: Install dependencies
run: npm ci
- name: Compile TypeScript
run: npm run compile
- name: Install vsce (VS Code Extension Manager)
run: npm install -g @vscode/vsce@2.24.0
- name: Package extension
run: vsce package --no-dependencies
- name: Upload VSIX artifact
uses: actions/upload-artifact@v4
with:
name: xaf-modeleditor-vsix
path: "*.vsix"
retention-days: 90
publish:
needs: build
runs-on: ubuntu-latest
if: github.event_name == 'release'
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: '20'
cache: 'npm'
- name: Install dependencies
run: npm ci
- name: Compile TypeScript
run: npm run compile
- name: Install vsce (VS Code Extension Manager)
run: npm install -g @vscode/vsce@2.24.0
- name: Publish to VS Code Marketplace
run: vsce publish --no-dependencies
env:
VSCE_PAT: ${{ secrets.VSCE_PAT }}
- name: Package extension for release
run: vsce package --no-dependencies
- name: Upload release asset
uses: actions/upload-release-asset@v1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
upload_url: ${{ github.event.release.upload_url }}
asset_path: ./xaf-modeleditor-${{ github.event.release.tag_name }}.vsix
asset_name: xaf-modeleditor-${{ github.event.release.tag_name }}.vsix
asset_content_type: application/zip