mirror of
https://github.com/got-feedBack/feedBack-desktop.git
synced 2026-08-10 18:59:55 +00:00
ci(nightly): fix macOS/Windows packaging broken by fee[dB]ack rename
nightly.yml still globbed for the old Slopsmith.app bundle name and failed every night. Find the .app dynamically (name-agnostic *.app glob - the new name contains [dB], which a shell glob reads as a character class) and derive zip names from the bundle, matching the fix already on main in rc.yml/build.yml. Also refresh stale Slopsmith comments in build.yml. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Fable 5
parent
b5dce9af4d
commit
1df4c753d9
@@ -177,14 +177,14 @@ jobs:
|
||||
# Tester builds (non-tag only): macOS is packaged for distribution by the
|
||||
# Velopack steps below, which run ONLY on tag pushes. On a plain push to
|
||||
# main or a manual workflow_dispatch, electron-builder's "dir" target
|
||||
# leaves an unpackaged release/mac-*/Slopsmith.app that the artifact
|
||||
# leaves an unpackaged release/mac-*/<productName>.app that the artifact
|
||||
# upload globs (AppImage/deb/exe/velopack) don't match — so testers got
|
||||
# no macOS build. Zip the .app with ditto (preserves the bundle's
|
||||
# internal symlinks + any signature/xattrs) so a tester-ready macOS
|
||||
# archive ships from ordinary CI runs without cutting a release tag.
|
||||
# Skipped on tags so it never races or duplicates the Velopack output.
|
||||
# The archive is unsigned/un-notarized — testers clear Gatekeeper with
|
||||
# xattr -dr com.apple.quarantine Slopsmith.app
|
||||
# xattr -dr com.apple.quarantine "fee[dB]ack.app"
|
||||
- name: Zip macOS app for tester distribution (non-tag)
|
||||
if: matrix.platform == 'mac' && !startsWith(github.ref, 'refs/tags/v')
|
||||
shell: bash
|
||||
@@ -382,7 +382,7 @@ jobs:
|
||||
# path ending in .app as a prebuilt bundle. A non-.app folder
|
||||
# would instead trigger auto-bundle mode (which also needs
|
||||
# --icon). electron-builder's "dir" target writes the bundle to
|
||||
# release/mac-arm64/Slopsmith.app on the arm64 runner.
|
||||
# release/mac-arm64/<productName>.app on the arm64 runner.
|
||||
- name: Velopack pack (macOS)
|
||||
if: matrix.platform == 'mac' && steps.velopack_channel.outputs.channel != ''
|
||||
shell: bash
|
||||
|
||||
@@ -67,7 +67,7 @@ jobs:
|
||||
|
||||
# macOS: import signing cert so build-macos.sh can codesign the .app.
|
||||
# The nightly .app is signed but not notarized — testers clear Gatekeeper with
|
||||
# xattr -dr com.apple.quarantine Slopsmith.app
|
||||
# xattr -dr com.apple.quarantine "fee[dB]ack.app"
|
||||
# Same graceful fallback as release.yml: no-op when secrets are absent.
|
||||
- name: Import Apple signing certificate
|
||||
if: matrix.platform == 'mac'
|
||||
@@ -118,23 +118,27 @@ jobs:
|
||||
shell: bash
|
||||
run: |
|
||||
set -euo pipefail
|
||||
app=$(ls -d release/mac*/Slopsmith.app 2>/dev/null | head -n1 || true)
|
||||
# The .app bundle is named after productName (e.g. fee[dB]ack.app),
|
||||
# not the old "Slopsmith" name — find it dynamically so a rebrand
|
||||
# can't break the tester zip.
|
||||
app=$(ls -d release/mac*/*.app 2>/dev/null | head -n1 || true)
|
||||
if [[ -z "${app:-}" || ! -d "$app" ]]; then
|
||||
echo "::error::No Slopsmith.app found under release/mac*/"
|
||||
echo "::error::No .app bundle found under release/mac*/"
|
||||
exit 1
|
||||
fi
|
||||
ditto -c -k --sequesterRsrc --keepParent "$app" "release/Slopsmith-macos-arm64.zip"
|
||||
echo "Zipped $app -> release/Slopsmith-macos-arm64.zip"
|
||||
name=$(basename "$app" .app)
|
||||
ditto -c -k --sequesterRsrc --keepParent "$app" "release/${name}-macos-arm64.zip"
|
||||
echo "Zipped $app -> release/${name}-macos-arm64.zip"
|
||||
|
||||
# Windows: electron-builder's `dir` target leaves win-unpacked/ with no
|
||||
# packaged installer (Velopack is skipped for nightlies). Zip the directory
|
||||
# so testers can download and extract, then launch Slopsmith.exe directly.
|
||||
# so testers can download and extract, then launch the app .exe directly.
|
||||
- name: Zip win-unpacked
|
||||
if: matrix.platform == 'win'
|
||||
shell: pwsh
|
||||
run: |
|
||||
Compress-Archive -Path release\win-unpacked\* -DestinationPath release\Slopsmith-windows-x64.zip
|
||||
Write-Host "Zipped win-unpacked -> release\Slopsmith-windows-x64.zip"
|
||||
Compress-Archive -Path release\win-unpacked\* -DestinationPath release\feedback-windows-x64.zip
|
||||
Write-Host "Zipped win-unpacked -> release\feedback-windows-x64.zip"
|
||||
|
||||
- name: Clean up signing keychain
|
||||
if: always() && matrix.platform == 'mac'
|
||||
|
||||
Reference in New Issue
Block a user