Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
47 changes: 45 additions & 2 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -193,12 +193,55 @@ jobs:
path: jetbrains-plugin/build/distributions/*.zip
if-no-files-found: error

# ---------------------------------------------------------------------------
# VSCode Extension build
# ---------------------------------------------------------------------------
build-vscode:
name: VSCode Extension
runs-on: ubuntu-latest

steps:
- uses: actions/checkout@v4

- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: '20'
cache: 'npm'
cache-dependency-path: vscode-extension/package-lock.json

- name: Install dependencies
working-directory: vscode-extension
run: npm ci

- name: Type check
working-directory: vscode-extension
run: npx tsc --noEmit

- name: Run tests
working-directory: vscode-extension
run: npx vitest run

- name: Build
working-directory: vscode-extension
run: node esbuild.mjs --production

- name: Package .vsix
working-directory: vscode-extension
run: npx @vscode/vsce package --no-dependencies -o mariadb-profiler-viewer.vsix

- uses: actions/upload-artifact@v4
with:
name: mariadb-profiler-viewer-vsix
path: vscode-extension/*.vsix
if-no-files-found: error

# ---------------------------------------------------------------------------
# Create GitHub Release
# ---------------------------------------------------------------------------
release:
name: Create Release
needs: [build-linux, build-windows, build-plugin]
needs: [build-linux, build-windows, build-plugin, build-vscode]
runs-on: ubuntu-latest
permissions:
contents: write
Expand All @@ -214,7 +257,7 @@ jobs:
- name: Collect release assets
run: |
mkdir -p release
find artifacts -type f \( -name "*.so" -o -name "*.dll" -o -name "*.zip" \) -exec cp {} release/ \;
find artifacts -type f \( -name "*.so" -o -name "*.dll" -o -name "*.zip" -o -name "*.vsix" \) -exec cp {} release/ \;
echo "=== Release assets ==="
ls -lh release/

Expand Down
60 changes: 60 additions & 0 deletions .github/workflows/vscode-build.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,60 @@
name: Build VSCode Extension

on:
push:
branches: ['**']
paths:
- 'vscode-extension/**'
- '.github/workflows/vscode-build.yml'
pull_request:
branches: ['**']
paths:
- 'vscode-extension/**'
- '.github/workflows/vscode-build.yml'

concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true

jobs:
build:
if: github.event_name != 'pull_request' || !contains(github.event.pull_request.labels.*.name, 'no_run')
name: Build & Test Extension
runs-on: ubuntu-latest

steps:
- uses: actions/checkout@v4

- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: '20'
cache: 'npm'
cache-dependency-path: vscode-extension/package-lock.json

- name: Install dependencies
working-directory: vscode-extension
run: npm ci

- name: Type check
working-directory: vscode-extension
run: npx tsc --noEmit

- name: Run tests
working-directory: vscode-extension
run: npx vitest run

- name: Build
working-directory: vscode-extension
run: node esbuild.mjs --production

- name: Package .vsix
working-directory: vscode-extension
run: npm exec @vscode/vsce -- package --no-dependencies -o mariadb-profiler-viewer.vsix

- name: Upload extension artifact
uses: actions/upload-artifact@v4
with:
name: mariadb-profiler-viewer-vsix
path: vscode-extension/*.vsix
if-no-files-found: error
Loading
Loading