Skip to content

Commit db979d6

Browse files
k0ngk0ngclaude
andcommitted
Update release workflow to use version from git tag
- Extract version from tag (v1.0.0 -> 1.0.0) - Update all package.json files with tag version before build - Include version in artifact names (wire-agent-1.0.0-linux.tar.gz) Co-Authored-By: Claude <noreply@anthropic.com>
1 parent b94b6f3 commit db979d6

1 file changed

Lines changed: 43 additions & 3 deletions

File tree

.github/workflows/release.yml

Lines changed: 43 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -26,12 +26,48 @@ jobs:
2626
- name: Checkout repository
2727
uses: actions/checkout@v4
2828

29+
- name: Get version from tag
30+
id: version
31+
shell: bash
32+
run: |
33+
VERSION=${GITHUB_REF#refs/tags/v}
34+
echo "version=$VERSION" >> $GITHUB_OUTPUT
35+
echo "Building version: $VERSION"
36+
2937
- name: Setup Node.js
3038
uses: actions/setup-node@v4
3139
with:
3240
node-version: 20
3341
cache: 'npm'
3442

43+
# Update version in package.json files
44+
- name: Update version in package.json (Unix)
45+
if: runner.os != 'Windows'
46+
run: |
47+
VERSION=${{ steps.version.outputs.version }}
48+
# Update root package.json
49+
sed -i.bak "s/\"version\": \".*\"/\"version\": \"$VERSION\"/" package.json
50+
# Update server package.json
51+
sed -i.bak "s/\"version\": \".*\"/\"version\": \"$VERSION\"/" server/package.json
52+
# Update protocol package.json
53+
sed -i.bak "s/\"version\": \".*\"/\"version\": \"$VERSION\"/" packages/protocol/package.json
54+
# Update desktop executor package.json
55+
sed -i.bak "s/\"version\": \".*\"/\"version\": \"$VERSION\"/" executors/desktop/package.json
56+
# Cleanup backup files
57+
find . -name "*.bak" -delete
58+
59+
- name: Update version in package.json (Windows)
60+
if: runner.os == 'Windows'
61+
shell: pwsh
62+
run: |
63+
$version = "${{ steps.version.outputs.version }}"
64+
$files = @("package.json", "server/package.json", "packages/protocol/package.json", "executors/desktop/package.json")
65+
foreach ($file in $files) {
66+
$content = Get-Content $file -Raw
67+
$content = $content -replace '"version": ".*?"', "`"version`": `"$version`""
68+
Set-Content $file $content -NoNewline
69+
}
70+
3571
# Linux dependencies for robotjs
3672
- name: Install Linux dependencies
3773
if: runner.os == 'Linux'
@@ -47,13 +83,15 @@ jobs:
4783

4884
# Package server
4985
- name: Package server
86+
shell: bash
5087
run: |
5188
mkdir -p dist/server
5289
cp -r server/dist dist/server/
5390
cp server/package.json dist/server/
5491
5592
# Package desktop executor
5693
- name: Package desktop executor
94+
shell: bash
5795
run: |
5896
mkdir -p dist/desktop
5997
cp -r executors/desktop/dist dist/desktop/
@@ -63,20 +101,22 @@ jobs:
63101
- name: Create archive (Unix)
64102
if: runner.os != 'Windows'
65103
run: |
104+
VERSION=${{ steps.version.outputs.version }}
66105
cd dist
67-
tar -czvf wire-agent-${{ matrix.platform }}.tar.gz server desktop
106+
tar -czvf wire-agent-${VERSION}-${{ matrix.platform }}.tar.gz server desktop
68107
69108
- name: Create archive (Windows)
70109
if: runner.os == 'Windows'
71110
run: |
111+
$version = "${{ steps.version.outputs.version }}"
72112
cd dist
73-
Compress-Archive -Path server, desktop -DestinationPath wire-agent-${{ matrix.platform }}.zip
113+
Compress-Archive -Path server, desktop -DestinationPath "wire-agent-${version}-${{ matrix.platform }}.zip"
74114
75115
# Upload artifacts
76116
- name: Upload artifacts
77117
uses: actions/upload-artifact@v4
78118
with:
79-
name: wire-agent-${{ matrix.platform }}
119+
name: wire-agent-${{ steps.version.outputs.version }}-${{ matrix.platform }}
80120
path: |
81121
dist/wire-agent-*.tar.gz
82122
dist/wire-agent-*.zip

0 commit comments

Comments
 (0)