99jobs :
1010 macos :
1111 runs-on : macos-15
12-
12+
1313 steps :
14- - uses : actions/checkout@v5
15-
16- - run : curl -fsSL https://fvm.app/install.sh | bash
17-
18- - run : fvm install
19- - run : fvm flutter pub get
20- - run : fvm dart run build_runner build --delete-conflicting-outputs
21- - run : fvm flutter precache --macos
22- - run : cd macos && pod install --repo-update && cd -
23-
24- - run : fvm flutter config --enable-macos-desktop
25- - run : fvm flutter build macos --release
26-
27- - name : Upload macOS artifact
28- uses : actions/upload-artifact@v4
29- with :
30- name : ${{ env.APP_NAME }}-macos.app
31- path : build/macos/Build/Products/Release/${{ env.APP_NAME }}.app
14+ - uses : actions/checkout@v5
15+
16+ - name : Install FVM
17+ run : |
18+ curl -fsSL https://fvm.app/install.sh | bash
19+ echo "$HOME/fvm/bin" >> $GITHUB_PATH
20+
21+ - run : fvm install
22+ - run : fvm flutter pub get
23+ - run : fvm dart run build_runner build --delete-conflicting-outputs
24+ - run : fvm flutter precache --macos
25+ - run : cd macos && pod install --repo-update && cd -
26+
27+ - run : fvm flutter config --enable-macos-desktop
28+ - run : fvm flutter build macos --release
29+
30+ - name : Install create-dmg
31+ run : brew install create-dmg
32+
33+ - name : Create DMG
34+ run : |
35+ create-dmg \
36+ --volname "Subterfuge" \
37+ --window-pos 200 120 \
38+ --window-size 800 400 \
39+ --icon-size 100 \
40+ --icon "${{ env.APP_NAME }}.app" 200 190 \
41+ --hide-extension "${{ env.APP_NAME }}.app" \
42+ --app-drop-link 600 185 \
43+ "Subterfuge-1.2.0.dmg" \
44+ "build/macos/Build/Products/Release/${{ env.APP_NAME }}.app"
45+
46+ - name : Upload macOS DMG
47+ uses : actions/upload-artifact@v4
48+ with :
49+ name : ${{ env.APP_NAME }}-macos.dmg
50+ path : Subterfuge-1.2.0.dmg
3251
3352 android :
3453 runs-on : ubuntu-24.04
@@ -37,11 +56,15 @@ jobs:
3756 - uses : actions/checkout@v5
3857 - uses : actions/setup-java@v5
3958 with :
40- distribution : ' temurin'
41- java-version : ' 17'
42- cache : ' gradle'
43- - run : curl -fsSL https://fvm.app/install.sh | bash
44-
59+ distribution : " temurin"
60+ java-version : " 17"
61+ cache : " gradle"
62+
63+ - name : Install FVM
64+ run : |
65+ curl -fsSL https://fvm.app/install.sh | bash
66+ echo "$HOME/fvm/bin" >> $GITHUB_PATH
67+
4568 - run : fvm install
4669 - run : fvm flutter pub get
4770 - run : fvm dart run build_runner build --delete-conflicting-outputs
@@ -55,62 +78,58 @@ jobs:
5578
5679 linux-x64 :
5780 runs-on : ubuntu-24.04
58-
59- steps :
60- - uses : actions/checkout@v5
61-
62- - run : sudo apt-get install build-essential libgtk-3-dev
63- - run : curl -fsSL https://fvm.app/install.sh | bash
64-
65- - run : fvm install
66- - run : fvm flutter pub get
67- - run : fvm dart run build_runner build --delete-conflicting-outputs
68- - run : fvm flutter config --enable-linux-desktop
69- - run : fvm flutter build linux --release --target-platform=linux-x64
70-
71- - name : Upload Linux x64 artifact
72- uses : actions/upload-artifact@v4
73- with :
74- name : ${{ env.APP_NAME }}-linux-x64
75- path : build/linux/x64/release/bundle/${{ env.APP_NAME }}
76-
77- linux-arm64 :
78- runs-on : ubuntu-24.04-arm
79-
81+
8082 steps :
81- - uses : actions/checkout@v5
82-
83- - run : sudo apt-get install build-essential libgtk-3-dev
84- - run : curl -fsSL https://fvm.app/install.sh | bash
85-
86- - run : fvm install
87- - run : fvm flutter pub get
88- - run : fvm dart run build_runner build --delete-conflicting-outputs
89- - run : fvm flutter config --enable-linux-desktop
90- - run : fvm flutter build linux --release --target-platform=linux-arm64
91-
92- - name : Upload Linux arm64 artifact
93- uses : actions/upload-artifact@v4
94- with :
95- name : ${{ env.APP_NAME }}-linux-arm64
96- path : build/linux/arm64/release/bundle/${{ env.APP_NAME }}
83+ - uses : actions/checkout@v5
84+
85+ - run : sudo apt-get update
86+ - run : sudo apt-get install build-essential libgtk-3-dev
87+
88+ - name : Install FVM
89+ run : |
90+ curl -fsSL https://fvm.app/install.sh | bash
91+ echo "$HOME/fvm/bin" >> $GITHUB_PATH
92+
93+ - run : fvm install
94+ - run : fvm flutter pub get
95+ - run : fvm dart run build_runner build --delete-conflicting-outputs
96+ - run : fvm flutter config --enable-linux-desktop
97+ - run : fvm flutter build linux --release --target-platform=linux-x64
98+
99+ - name : Install appimage-builder dependencies
100+ run : sudo apt install -y binutils coreutils desktop-file-utils fakeroot fuse libgdk-pixbuf2.0-dev patchelf python3-pip python3-setuptools squashfs-tools strace util-linux zsync
101+
102+ - name : Install appimage-builder
103+ run : |
104+ wget -O appimage-builder-x86_64.AppImage https://github.com/AppImageCrafters/appimage-builder/releases/download/v1.1.0/appimage-builder-1.1.0-x86_64.AppImage
105+ chmod +x appimage-builder-x86_64.AppImage
106+ sudo mv appimage-builder-x86_64.AppImage /usr/local/bin/appimage-builder
107+
108+ - name : Build AppImage
109+ run : appimage-builder --recipe appimage_builder_x64.yml --skip-test
110+
111+ - name : Upload Linux x64 AppImage
112+ uses : actions/upload-artifact@v4
113+ with :
114+ name : ${{ env.APP_NAME }}-linux-x64.AppImage
115+ path : " *.AppImage"
97116
98117 windows :
99118 runs-on : windows-2025
100-
119+
101120 steps :
102- - uses : actions/checkout@v5
103-
104- - run : choco install fvm
105- - run : fvm install
106- - run : fvm flutter pub get
107- - run : fvm dart run build_runner build --delete-conflicting-outputs
108-
109- - run : fvm flutter config --enable-windows-desktop
110- - run : fvm flutter build windows --release
111-
112- - name : Upload Windows artifact
113- uses : actions/upload-artifact@v4
114- with :
121+ - uses : actions/checkout@v5
122+
123+ - run : choco install fvm
124+ - run : fvm install
125+ - run : fvm flutter pub get
126+ - run : fvm dart run build_runner build --delete-conflicting-outputs
127+
128+ - run : fvm flutter config --enable-windows-desktop
129+ - run : fvm flutter build windows --release
130+
131+ - name : Upload Windows artifact
132+ uses : actions/upload-artifact@v4
133+ with :
115134 name : ${{ env.APP_NAME }}-windows-x64
116135 path : build\windows\x64\runner\Release
0 commit comments