@@ -105,34 +105,11 @@ jobs:
105105
106106 - name : Build for Platform
107107 run : grunt build
108- # Bound the step so a stalled @electron/packager fails fast instead of hanging for hours,
109- # and turn on packager/prune debug logging so the CI log shows exactly which step stalls
110- # (download, extract, copy, prune/galactus tree walk, asar, or move).
111- timeout-minutes : 25
112- env :
113- DEBUG : electron-packager,extract-zip,galactus,flora-colossus
114-
115- - name : List build output (debug)
116- if : always()
117- shell : bash
118- run : |
119- echo "=== workspace: $(pwd) ==="
120- echo "=== dist/install (recursive) ==="
121- ls -laR dist/install 2>/dev/null || echo "(no dist/install directory)"
122- echo "=== dist/pack subdirs (top level) ==="
123- for d in dist/pack/*/; do echo "-- $d"; ls -la "$d" 2>/dev/null | head -30; done 2>/dev/null || echo "(no dist/pack)"
124108
125109 - name : Verify macOS arm64 DMG symlinks
126110 if : runner.os == 'macOS'
127111 shell : bash
128112 run : |
129- # Informational post-build check of the already-produced arm64 .dmg. `grunt build`
130- # has already fixed the framework symlinks and ad-hoc signed the app
131- # (grunt/fix-macos-symlinks.js), so this step only reports status and must NOT fail the
132- # release. The default `shell: bash` runs with `-e -o pipefail`; without `set +e` a flaky
133- # `hdiutil detach` (resource busy) or an advisory codesign/spctl result would abort the
134- # whole job even though the .dmg is valid.
135- set +e
136113 DMG=$(ls ./dist/install/darwin/firebot-v*-macos-arm64.dmg 2>/dev/null || echo "")
137114 if [ -z "$DMG" ]; then
138115 echo "arm64 DMG not found - skipping verification"
@@ -147,26 +124,11 @@ jobs:
147124 echo "arm64 - Versions/Current -> $CUR"
148125 echo "arm64 - Electron Framework -> $EF"
149126
150- # Code signature / Gatekeeper checks are advisory: the app is ad-hoc signed (no Apple
151- # Developer ID / notarization), so codesign may report issues and spctl always rejects.
152- echo "Verifying code signature (advisory)..."
153- codesign --verify --deep --strict --verbose=2 "$MOUNT/Firebot.app" \
154- && echo "codesign: valid" \
155- || echo "codesign: reported issues (expected for ad-hoc build)"
127+ hdiutil detach "$MOUNT"
156128
157- echo "Assessing with Gatekeeper (advisory)..."
158- spctl --assess --verbose=2 "$MOUNT/Firebot.app" \
159- && echo "spctl: accepted" \
160- || echo "spctl: rejected (expected for an un-notarized ad-hoc build)"
161-
162- hdiutil detach "$MOUNT" || hdiutil detach "$MOUNT" -force || true
163-
164- if [ "$CUR" = "A" ] && [ "$EF" = "Versions/Current/Electron Framework" ]; then
165- echo "✓ arm64 DMG symlink check passed"
166- else
167- echo "⚠ arm64 DMG symlinks unexpected (Versions/Current='$CUR', Electron Framework='$EF') - reporting only, not failing the build"
168- fi
169- exit 0
129+ test "$CUR" = "A" || (echo "ERROR: Versions/Current is not relative to A" && exit 1)
130+ test "$EF" = "Versions/Current/Electron Framework" || (echo "ERROR: Electron Framework symlink is broken" && exit 1)
131+ echo "✓ arm64 DMG symlinks verified successfully"
170132
171133 - name : Upload Artifacts
172134 uses : actions/upload-artifact@v4
@@ -197,15 +159,12 @@ jobs:
197159 name : Release v${{ needs.checkversion.outputs.version }}
198160 body : ${{ format(needs.checkversion.outputs.template, needs.checkversion.outputs.version, needs.checkversion.outputs.commits) }}
199161 generate_release_notes : false
200- # Use wildcards instead of exact version strings: Squirrel normalizes the .nupkg version
201- # (drops the "+9" build metadata, so firebot-5.66.5-full.nupkg, not firebot-5.66.5+9-...),
202- # and matching by extension is robust to any version-string differences between tools.
203162 files : |
204- ./bundles/Windows/* -setup.exe
205- ./bundles/Windows/* -full.nupkg
163+ ./bundles/Windows/firebot-v${{ needs.checkversion.outputs.version }} -setup.exe
164+ ./bundles/Windows/firebot-${{ needs.checkversion.outputs.version }} -full.nupkg
206165 ./bundles/Windows/RELEASES
207- ./bundles/Linux/* -linux-x64.tar.gz
208- ./bundles/Linux/* -linux-x64.deb
209- ./bundles/Linux/* -linux-x64.rpm
210- ./bundles/macOS/* -macos-x64.dmg
211- ./bundles/macOS/* -macos-arm64.dmg
166+ ./bundles/Linux/firebot-v${{ needs.checkversion.outputs.version }} -linux-x64.tar.gz
167+ ./bundles/Linux/firebot-v${{ needs.checkversion.outputs.version }} -linux-x64.deb
168+ ./bundles/Linux/firebot-v${{ needs.checkversion.outputs.version }} -linux-x64.rpm
169+ ./bundles/macOS/firebot-v${{ needs.checkversion.outputs.version }} -macos-x64.dmg
170+ ./bundles/macOS/firebot-v${{ needs.checkversion.outputs.version }} -macos-arm64.dmg
0 commit comments