on master help sign in
Embed release version in VS Code extension
commitceeee0a468ba471ec71f592fba910aa63c06e438 authoriko <mail@iko.soy> dateThu 16 Apr 2026, 11:13 (6 months ago) parent499fdcf
1 file changed+21−10
.github/workflows/release.yml+21−10
.github/workflows/release.yml+21−10
@@ -6,6 +6,19 @@ on:
66 workflow_dispatch:
77
88jobs:
9+ version:
10+ name: Compute version
11+ runs-on: ubuntu-latest
12+ outputs:
13+ version: ${{ steps.version.outputs.version }}
14+ steps:
15+ - id: version
16+ run: |
17+ # Semver-compatible calver: YYYY.M.DHHMMSS (no leading zeros, always 3 parts)
18+ VERSION=$(date -u +'%Y.%-m.%-d%H%M%S')
19+ echo "version=$VERSION" >> $GITHUB_OUTPUT
20+ echo "Version: $VERSION"
21+
922 build:
1023 name: Build ${{ matrix.target }}
1124 runs-on: ${{ matrix.os }}
@@ -62,6 +75,7 @@ jobs:
6275 vscode:
6376 name: Build VS Code extension
6477 runs-on: ubuntu-latest
78+ needs: version
6579 steps:
6680 - uses: actions/checkout@v4
6781
@@ -69,6 +83,10 @@ jobs:
6983 with:
7084 node-version: 20
7185
86+ - name: Set extension version
87+ working-directory: editors/vscode
88+ run: npm version ${{ needs.version.outputs.version }} --no-git-tag-version --allow-same-version
89+
7290 - name: Build extension
7391 working-directory: editors/vscode
7492 run: |
@@ -84,7 +102,7 @@ jobs:
84102
85103 release:
86104 name: Create Release
87− needs: [build, vscode]
105+ needs: [version, build, vscode]
88106 runs-on: ubuntu-latest
89107 permissions:
90108 contents: write
@@ -96,13 +114,6 @@ jobs:
96114 with:
97115 path: artifacts
98116
99− - name: Calculate version
100− id: version
101− run: |
102− VERSION=$(date -u +'%Y.%m.%d.%H%M%S')
103− echo "version=$VERSION" >> $GITHUB_OUTPUT
104− echo "Version: $VERSION"
105−
106117 - name: Prepare release assets
107118 run: |
108119 mkdir -p release
@@ -119,8 +130,8 @@ jobs:
119130 - name: Create Release
120131 uses: softprops/action-gh-release@v1
121132 with:
122− tag_name: v${{ steps.version.outputs.version }}
123− name: Release ${{ steps.version.outputs.version }}
133+ tag_name: v${{ needs.version.outputs.version }}
134+ name: Release ${{ needs.version.outputs.version }}
124135 files: release/*
125136 draft: false
126137 prerelease: false