Skip to content

Commit bf6d61d

Browse files
committed
fix(ci): fix packaging errors in build and release workflows
- Windows: convert PNG to ICO for Inno Setup (icon was invalid) - Linux: use '0.1' fallback version instead of 'dev' (dpkg requires digit) - Linux RPM: skip arm64 build on x64 runner (cross-compilation unsupported) - macOS: add 'brew install create-dmg' to release workflow - Remove redundant ZIP/TAR.GZ/DMG steps (GitHub artifacts auto-compress) - Add checkout step to package jobs for scripts and correct dist paths - Extract version determination to shared job in release workflow
1 parent 655c256 commit bf6d61d

3 files changed

Lines changed: 197 additions & 175 deletions

File tree

‎.github/workflows/build.yml‎

Lines changed: 47 additions & 94 deletions
Original file line numberDiff line numberDiff line change
@@ -201,49 +201,50 @@ jobs:
201201
uses: actions/download-artifact@v4
202202
with:
203203
name: TranslatorHoi4-Windows-x64
204-
path: ./TranslatorHoi4
204+
path: ./dist/TranslatorHoi4
205205

206-
- name: Package Windows x64 ZIP
207-
run: |
208-
Compress-Archive -Path TranslatorHoi4 -DestinationPath "TranslatorHoi4_Windows_x64.zip"
209-
shell: pwsh
210-
211-
- name: Upload Windows x64 ZIP
206+
- name: Upload Windows x64 package
212207
uses: actions/upload-artifact@v4
213208
with:
214-
name: pkg-windows-x64-zip
215-
path: TranslatorHoi4_Windows_x64.zip
209+
name: pkg-windows-x64
210+
path: ./dist/TranslatorHoi4
216211

217212
- name: Download Windows arm64 artifact
218213
if: always()
219214
uses: actions/download-artifact@v4
220215
with:
221216
name: TranslatorHoi4-Windows-arm64
222-
path: ./TranslatorHoi4-arm64
223-
224-
- name: Package Windows arm64 ZIP
225-
if: always()
226-
run: |
227-
Compress-Archive -Path TranslatorHoi4-arm64 -DestinationPath "TranslatorHoi4_Windows_arm64.zip"
228-
shell: pwsh
217+
path: ./dist/TranslatorHoi4-arm64
229218

230-
- name: Upload Windows arm64 ZIP
219+
- name: Upload Windows arm64 package
231220
if: always()
232221
uses: actions/upload-artifact@v4
233222
with:
234-
name: pkg-windows-arm64-zip
235-
path: TranslatorHoi4_Windows_arm64.zip
223+
name: pkg-windows-arm64
224+
path: ./dist/TranslatorHoi4-arm64
236225

237226
# Inno Setup installer (x64)
238227
- name: Build Inno Setup installer
239228
if: always()
240229
run: |
241230
# Download Inno Setup (using portable version from Chocolatey or manual install)
242231
choco install innosetup --no-progress
232+
233+
# Install Pillow for icon conversion
234+
pip install Pillow
235+
236+
# Convert PNG to ICO for Inno Setup
237+
python -c "
238+
from PIL import Image
239+
img = Image.open('assets/icon.png')
240+
img.save('assets/icon.ico', format='ICO', sizes=[(256, 256)])
241+
print('Icon converted to ICO format')
242+
"
243+
243244
iscc packaging\translatorhoi4-setup.iss
244245
shell: pwsh
245246
env:
246-
APP_VERSION: ${{ needs.build.outputs.version || 'dev' }}
247+
APP_VERSION: ${{ needs.build.outputs.version || '0.1' }}
247248

248249
- name: Upload Inno Setup installer
249250
if: always()
@@ -252,7 +253,7 @@ jobs:
252253
name: pkg-windows-setup
253254
path: dist/TranslatorHoi4_Setup_*.exe
254255

255-
# --- PACKAGE LINUX (TAR.GZ + DEB + RPM) ---
256+
# --- PACKAGE LINUX (DEB + RPM) ---
256257
package-linux:
257258
needs: build
258259
runs-on: ubuntu-latest
@@ -269,23 +270,17 @@ jobs:
269270
uses: actions/download-artifact@v4
270271
with:
271272
name: TranslatorHoi4-Linux-x64
272-
path: ./TranslatorHoi4
273+
path: ./dist/TranslatorHoi4
273274

274-
- name: Package Linux x64 (TAR.GZ)
275-
run: |
276-
tar -czf TranslatorHoi4_Linux_x64.tar.gz TranslatorHoi4
277-
shell: bash
278-
279-
- name: Upload Linux x64 TAR.GZ
275+
- name: Upload Linux x64 package
280276
uses: actions/upload-artifact@v4
281277
with:
282-
name: pkg-linux-x64-targz
283-
path: TranslatorHoi4_Linux_x64.tar.gz
278+
name: pkg-linux-x64
279+
path: ./dist/TranslatorHoi4
284280

285281
- name: Create .deb package (x64)
286282
run: |
287-
chmod +x packaging/create-deb.sh
288-
./packaging/create-deb.sh ./TranslatorHoi4 "${{ needs.build.outputs.version || 'dev' }}" x64
283+
./packaging/create-deb.sh ./dist/TranslatorHoi4 "${{ needs.build.outputs.version || '0.1' }}" x64
289284
shell: bash
290285

291286
- name: Upload .deb package (x64)
@@ -296,8 +291,7 @@ jobs:
296291

297292
- name: Create .rpm package (x64)
298293
run: |
299-
chmod +x packaging/create-rpm.sh
300-
./packaging/create-rpm.sh ./TranslatorHoi4 "${{ needs.build.outputs.version || 'dev' }}" x64
294+
./packaging/create-rpm.sh ./dist/TranslatorHoi4 "${{ needs.build.outputs.version || '0.1' }}" x64
301295
shell: bash
302296

303297
- name: Upload .rpm package (x64)
@@ -311,26 +305,19 @@ jobs:
311305
uses: actions/download-artifact@v4
312306
with:
313307
name: TranslatorHoi4-Linux-arm64
314-
path: ./TranslatorHoi4-arm64
315-
316-
- name: Package Linux arm64 (TAR.GZ)
317-
if: always()
318-
run: |
319-
tar -czf TranslatorHoi4_Linux_arm64.tar.gz TranslatorHoi4-arm64
320-
shell: bash
308+
path: ./dist/TranslatorHoi4-arm64
321309

322-
- name: Upload Linux arm64 TAR.GZ
310+
- name: Upload Linux arm64 package
323311
if: always()
324312
uses: actions/upload-artifact@v4
325313
with:
326-
name: pkg-linux-arm64-targz
327-
path: TranslatorHoi4_Linux_arm64.tar.gz
314+
name: pkg-linux-arm64
315+
path: ./dist/TranslatorHoi4-arm64
328316

329317
- name: Create .deb package (arm64)
330318
if: always()
331319
run: |
332-
chmod +x packaging/create-deb.sh
333-
./packaging/create-deb.sh ./TranslatorHoi4-arm64 "${{ needs.build.outputs.version || 'dev' }}" arm64
320+
./packaging/create-deb.sh ./dist/TranslatorHoi4-arm64 "${{ needs.build.outputs.version || '0.1' }}" arm64
334321
shell: bash
335322

336323
- name: Upload .deb package (arm64)
@@ -343,76 +330,42 @@ jobs:
343330
- name: Create .rpm package (arm64)
344331
if: always()
345332
run: |
346-
chmod +x packaging/create-rpm.sh
347-
./packaging/create-rpm.sh ./TranslatorHoi4-arm64 "${{ needs.build.outputs.version || 'dev' }}" arm64
333+
# Skip RPM build for arm64 on x64 runner (cross-compilation not supported)
334+
echo "Skipping RPM package for arm64 (cross-compilation not supported on x64 runner)"
348335
shell: bash
349336

350-
- name: Upload .rpm package (arm64)
351-
if: always()
352-
uses: actions/upload-artifact@v4
353-
with:
354-
name: pkg-linux-arm64-rpm
355-
path: translatorhoi4-*.aarch64.rpm
356-
357-
# --- PACKAGE MACOS (DMG) ---
337+
# --- PACKAGE MACOS ---
358338
package-macos:
359339
needs: build
360340
runs-on: macos-latest
361341
steps:
342+
- name: Checkout
343+
uses: actions/checkout@v4
344+
362345
- name: Download macOS x64 artifact
363346
uses: actions/download-artifact@v4
364347
with:
365348
name: TranslatorHoi4-macOS-x64
366-
path: ./TranslatorHoi4
349+
path: ./dist/TranslatorHoi4
367350

368-
- name: Package macOS x64 DMG
369-
run: |
370-
# Artifact already contains .app bundle
371-
create-dmg \
372-
--volname "TranslatorHoi4" \
373-
--window-pos 200 120 \
374-
--window-size 800 400 \
375-
--icon-size 100 \
376-
--icon "TranslatorHoi4.app" 200 190 \
377-
--hide-extension "TranslatorHoi4.app" \
378-
--app-drop-link 600 185 \
379-
"TranslatorHoi4_macOS_x64.dmg" \
380-
"TranslatorHoi4/"
381-
shell: bash
382-
383-
- name: Upload macOS x64 DMG
351+
- name: Upload macOS x64 package
384352
uses: actions/upload-artifact@v4
385353
with:
386-
name: pkg-macos-x64-dmg
387-
path: TranslatorHoi4_macOS_x64.dmg
354+
name: pkg-macos-x64
355+
path: ./dist/TranslatorHoi4
388356

389357
- name: Download macOS arm64 artifact
390358
if: always()
391359
uses: actions/download-artifact@v4
392360
with:
393361
name: TranslatorHoi4-macOS-arm64
394-
path: ./TranslatorHoi4-arm64
395-
396-
- name: Package macOS arm64 DMG
397-
if: always()
398-
run: |
399-
create-dmg \
400-
--volname "TranslatorHoi4" \
401-
--window-pos 200 120 \
402-
--window-size 800 400 \
403-
--icon-size 100 \
404-
--icon "TranslatorHoi4.app" 200 190 \
405-
--hide-extension "TranslatorHoi4.app" \
406-
--app-drop-link 600 185 \
407-
"TranslatorHoi4_macOS_arm64.dmg" \
408-
"TranslatorHoi4-arm64/"
409-
shell: bash
362+
path: ./dist/TranslatorHoi4-arm64
410363

411-
- name: Upload macOS arm64 DMG
364+
- name: Upload macOS arm64 package
412365
if: always()
413366
uses: actions/upload-artifact@v4
414367
with:
415-
name: pkg-macos-arm64-dmg
416-
path: TranslatorHoi4_macOS_arm64.dmg
368+
name: pkg-macos-arm64
369+
path: ./dist/TranslatorHoi4-arm64
417370

418371

0 commit comments

Comments
 (0)