@@ -24,22 +24,29 @@ jobs:
2424 - name : Build macOS
2525 run : flutter build macos --release
2626
27- - name : Prepare macOS artifact
27+ - name : Create macOS DMG
2828 run : |
29- rm -rf "build/View Source Vibe.app" 2>/dev/null || true
30- mv "build/macos/Build/Products/Release/View Source Vibe.app" "build/View Source Vibe.app"
31-
32- - name : Upload macOS artifact
29+ brew install create-dmg
30+ create-dmg \
31+ --volname "View Source Vibe" \
32+ --window-pos 200 120 \
33+ --window-size 600 300 \
34+ --icon-size 100 \
35+ --app-drop-link 425 120 \
36+ "ViewSourceVibe.dmg" \
37+ "build/macos/Build/Products/Release/View Source Vibe.app"
38+
39+ - name : Upload macOS DMG
3340 uses : actions/upload-artifact@v4
3441 with :
3542 name : ViewSourceVibe-macOS
36- path : build/View Source Vibe.app
43+ path : ViewSourceVibe.dmg
3744
3845 build-windows :
3946 runs-on : windows-latest
4047 steps :
4148 - uses : actions/checkout@v4
42-
49+
4350 - name : Setup Flutter
4451 uses : subosito/flutter-action@v2
4552 with :
@@ -51,15 +58,43 @@ jobs:
5158
5259 - name : Build Windows
5360 run : flutter build windows --release
54-
55- - name : Upload Windows artifact
61+
62+ - name : Create Windows installer
63+ run : |
64+ $iss = @"
65+ [Setup]
66+ AppName=View Source Vibe
67+ AppVersion=${{ github.ref_name }}
68+ DefaultDirName={autopf}\View Source Vibe
69+ OutputDir=installer
70+ OutputBaseFilename=ViewSourceVibe-Setup
71+ Compression=lzma
72+ SolidCompression=yes
73+ ArchitecturesInstallIn64BitMode=x64compatible
74+
75+ [Files]
76+ Source: "build\windows\x64\runner\Release\*"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs
77+
78+ [Icons]
79+ Name: "{autoprograms}\View Source Vibe"; Filename: "{app}\view_source_vibe.exe"
80+ Name: "{autodesktop}\View Source Vibe"; Filename: "{app}\view_source_vibe.exe"
81+
82+ [Run]
83+ Filename: "{app}\view_source_vibe.exe"; Description: "Launch View Source Vibe"; Flags: nowait postinstall skipifsilent
84+ "@
85+ $iss | Out-File -FilePath setup.iss -Encoding UTF8
86+ & "C:\Program Files (x86)\Inno Setup 6\ISCC.exe" setup.iss
87+ shell : pwsh
88+
89+ - name : Upload Windows installer
5690 uses : actions/upload-artifact@v4
5791 with :
5892 name : ViewSourceVibe-Windows
59- path : build/windows/x64/runner/Release
93+ path : installer/ViewSourceVibe-Setup.exe
6094
6195
6296 build-ios :
97+ if : false
6398 runs-on : macos-latest
6499 steps :
65100 - uses : actions/checkout@v4
@@ -76,17 +111,21 @@ jobs:
76111 - name : Build iOS
77112 run : flutter build ios --release --no-codesign
78113
114+ - name : Package iOS artifact
115+ run : zip -r ViewSourceVibe-iOS.zip build/ios/iphoneos/Runner.app
116+
79117 - name : Upload iOS artifact
80118 uses : actions/upload-artifact@v4
81119 with :
82120 name : ViewSourceVibe-iOS
83- path : build/ios/iphoneos/Runner.app
121+ path : ViewSourceVibe-iOS.zip
84122
85123 build-android :
124+ if : false
86125 runs-on : ubuntu-latest
87126 steps :
88127 - uses : actions/checkout@v4
89-
128+
90129 - name : Setup Flutter
91130 uses : subosito/flutter-action@v2
92131 with :
@@ -116,40 +155,34 @@ jobs:
116155 ANDROID_KEY_ALIAS : ${{ secrets.ANDROID_KEY_ALIAS }}
117156 ANDROID_KEY_PASSWORD : ${{ secrets.ANDROID_KEY_PASSWORD }}
118157 ANDROID_KEYSTORE_PATH : ${{ github.workspace }}/android/app/release.keystore
119-
158+
120159 - name : Upload Android APK
121160 uses : actions/upload-artifact@v4
122161 with :
123162 name : ViewSourceVibe-Android-APK
124163 path : build/app/outputs/apk/release/app-release.apk
125-
164+
126165 - name : Upload Android App Bundle
127166 uses : actions/upload-artifact@v4
128167 with :
129168 name : ViewSourceVibe-Android-AAB
130169 path : build/app/outputs/bundle/release/app-release.aab
131170
132171 create-release :
133- needs : [build-macos, build-windows, build-ios, build-android ]
172+ needs : [build-macos, build-windows]
134173 runs-on : ubuntu-latest
135174 if : startsWith(github.ref, 'refs/tags/')
136175 permissions :
137176 contents : write
138177 steps :
139178 - uses : actions/download-artifact@v4
140179
141- - name : Package artifacts
142- run : |
143- zip -r ViewSourceVibe-macOS.zip ViewSourceVibe-macOS/
144- zip -r ViewSourceVibe-Windows.zip ViewSourceVibe-Windows/
145- zip -r ViewSourceVibe-iOS.zip ViewSourceVibe-iOS/
146-
147180 - name : Create Release
148181 uses : softprops/action-gh-release@v2
149182 with :
150183 files : |
151- ViewSourceVibe-macOS.zip
152- ViewSourceVibe-Windows.zip
153- ViewSourceVibe-iOS.zip
154- ViewSourceVibe-Android-APK/app-release.apk
155- ViewSourceVibe-Android-AAB/app-release.aab
184+ ViewSourceVibe-macOS/ViewSourceVibe.dmg
185+ ViewSourceVibe-Windows/ViewSourceVibe-Setup.exe
186+ # ViewSourceVibe-iOS/ ViewSourceVibe-iOS.zip
187+ # ViewSourceVibe-Android-APK/app-release.apk
188+ # ViewSourceVibe-Android-AAB/app-release.aab
0 commit comments