Skip to content

Commit 4733cb4

Browse files
committed
use release build artifacts for creating release
1 parent b615bf7 commit 4733cb4

1 file changed

Lines changed: 64 additions & 45 deletions

File tree

.github/workflows/release.yml

Lines changed: 64 additions & 45 deletions
Original file line numberDiff line numberDiff line change
@@ -19,18 +19,6 @@ jobs:
1919
steps:
2020
- uses: actions/checkout@v3
2121

22-
- name: Extract version from tag
23-
id: release_info
24-
shell: bash
25-
run: |
26-
VERSION=${GITHUB_REF#refs/tags/release/}
27-
NOTES=$(awk "/^## $VERSION/ {flag=1; next} /^## / {if (flag) exit} flag" CHANGELOG.md)
28-
29-
echo "version=$VERSION" >> $GITHUB_OUTPUT
30-
echo "notes<<EOF" >> $GITHUB_OUTPUT
31-
echo "$NOTES" >> $GITHUB_OUTPUT
32-
echo "EOF" >> $GITHUB_OUTPUT
33-
3422
- name: Setup Flutter
3523
uses: subosito/flutter-action@v2
3624
with:
@@ -42,21 +30,14 @@ jobs:
4230
- name: Install dependencies
4331
run: flutter pub get
4432

45-
- name: Build Windows App
33+
- name: Build Windows app
4634
run: flutter build windows
4735

48-
- name: Release
49-
uses: softprops/action-gh-release@v2
36+
- name: Upload artifact
37+
uses: actions/upload-artifact@v4
5038
with:
51-
name: "v${{ steps.release_info.outputs.version }}"
52-
body: ${{ steps.release_info.outputs.notes }}
53-
files: build/windows/runner/Release/
54-
55-
# - name: Upload release asset
56-
# uses: actions/upload-artifact@v4
57-
# with:
58-
# name: windows-installer
59-
# path: build/windows/runner/Release/
39+
name: windows-build
40+
path: build/windows/runner/Release/
6041

6142
build-linux:
6243
name: Build on Linux
@@ -78,21 +59,14 @@ jobs:
7859
- name: Install Linux build dependencies
7960
run: sudo apt-get update && sudo apt-get install -y clang cmake ninja-build pkg-config libgtk-3-dev
8061

81-
- name: Build Linux App
62+
- name: Build Linux app
8263
run: flutter build linux
8364

84-
- name: Release
85-
uses: softprops/action-gh-release@v2
65+
- name: Upload artifact
66+
uses: actions/upload-artifact@v4
8667
with:
87-
name: "v${{ steps.release_info.outputs.version }}"
88-
body: ${{ steps.release_info.outputs.notes }}
89-
files: /build/linux/x64/release/bundle
90-
91-
# - name: Upload artifact
92-
# uses: actions/upload-artifact@v4
93-
# with:
94-
# name: linux-installer
95-
# path: /build/linux/x64/release/bundle
68+
name: linux-build
69+
path: /build/linux/x64/release/bundle
9670

9771
build-macos:
9872
name: Build on macOS
@@ -111,19 +85,64 @@ jobs:
11185
- name: Install dependencies
11286
run: flutter pub get
11387

114-
- name: Build macOS App
88+
- name: Build macOS app
11589
run: flutter build macos
11690

91+
- name: Upload artifact
92+
uses: actions/upload-artifact@v4
93+
with:
94+
name: macos-build
95+
path: build/macos/Build/Products/Release/fdupes_gui.app
96+
97+
release:
98+
runs-on: ubuntu-latest
99+
needs: [build-windows, build-linux, build-macos]
100+
steps:
101+
- uses: actions/checkout@v3
102+
103+
- name: Extract version from tag
104+
id: release_info
105+
shell: bash
106+
run: |
107+
VERSION=${GITHUB_REF#refs/tags/release/}
108+
NOTES=$(awk "/^## $VERSION/ {flag=1; next} /^## / {if (flag) exit} flag" CHANGELOG.md)
109+
110+
echo "version=$VERSION" >> $GITHUB_OUTPUT
111+
echo "notes<<EOF" >> $GITHUB_OUTPUT
112+
echo "$NOTES" >> $GITHUB_OUTPUT
113+
echo "EOF" >> $GITHUB_OUTPUT
114+
115+
- name: Download Windows artifact
116+
uses: actions/download-artifact@v3
117+
with:
118+
name: windows-build
119+
path: out/windows
120+
121+
- name: Download Linux artifact
122+
uses: actions/download-artifact@v3
123+
with:
124+
name: linux-build
125+
path: out/linux
126+
127+
- name: Download macOS artifact
128+
uses: actions/download-artifact@v3
129+
with:
130+
name: macos-build
131+
path: out/macos
132+
133+
- name: Create zip files with version
134+
run: |
135+
cd out
136+
zip -r fdupes_gui-${{ steps.vars.outputs.version }}-windows.zip windows
137+
zip -r fdupes_gui-${{ steps.vars.outputs.version }}-linux.x86_64.zip linux
138+
zip -r fdupes_gui-${{ steps.vars.outputs.version }}-macos.universal.zip macos
139+
117140
- name: Release
118141
uses: softprops/action-gh-release@v2
119142
with:
120143
name: "v${{ steps.release_info.outputs.version }}"
121144
body: ${{ steps.release_info.outputs.notes }}
122-
files: build/macos/Build/Products/Release/fdupes_gui.app
123-
124-
# - name: Upload artifact
125-
# uses: actions/upload-artifact@v4
126-
# with:
127-
# name: macos-installer
128-
# path: build/macos/Build/Products/Release/fdupes_gui.app
129-
145+
files: |
146+
out/fdupes_gui-${{ steps.vars.outputs.version }}-windows.zip
147+
out/fdupes_gui-${{ steps.vars.outputs.version }}-linux.x86_64.zip
148+
out/fdupes_gui-${{ steps.vars.outputs.version }}-macos.universal.zip

0 commit comments

Comments
 (0)