set-up Display instructions on how to re-open the wizard #296
Workflow file for this run
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# Combined CI workflow for Windows, macOS, and Linux | |
name: CI | |
# Triggers the workflow on all pushes or pull requests on any branch | |
on: | |
push: | |
branches: | |
- '**' | |
pull_request: | |
branches: | |
- '**' | |
# A workflow run is made up of one or more jobs that can run sequentially or in parallel | |
jobs: | |
build: | |
# The type of runner that the job will run on | |
runs-on: ${{ matrix.os }} | |
strategy: | |
matrix: | |
os: [macos-latest, ubuntu-latest,windows-latest] # Define the operating systems for the matrix | |
steps: | |
# Checkout code | |
- uses: actions/checkout@v4 | |
# Set up Node | |
- name: Use Node 20 | |
uses: actions/setup-node@v4 | |
with: | |
node-version: 20 | |
# Run install dependencies | |
- name: Install dependencies | |
run: npm run install:ci | |
# Build extension | |
- name: Run build | |
run: npm run package | |
# Generate .vsix package for the extension | |
- name: Generate .vsix package | |
if: runner.os == 'Linux' | |
run: | | |
npm install -g @vscode/vsce | |
vsce package | |
# Upload VSIX artifact | |
- name: Upload VSIX artifact | |
if: runner.os == 'Linux' | |
uses: actions/upload-artifact@v4 | |
with: | |
name: vscode-granite-vsix-${{ runner.os }}-${{ github.run_id }} # Unique name with OS and run ID | |
path: "./vscode-granite-*.vsix" | |
## Run tests | |
- name: Run Tests | |
shell: bash | |
run: | | |
if [[ "${{ runner.os }}" == "Linux" ]]; then | |
xvfb-run npm test | |
else | |
npm test | |
fi | |
# Update latest release (only on Linux and for the main branch) | |
- name: Update latest release | |
if: runner.os == 'Linux' && github.ref == 'refs/heads/main' | |
uses: marvinpinto/action-automatic-releases@latest | |
with: | |
repo_token: "${{ secrets.GITHUB_TOKEN }}" | |
automatic_release_tag: "latest" | |
prerelease: true | |
title: "Development Build" | |
files: | | |
*.vsix |