Load AppKit on the main thread, log why the tray would exit, and fall back to an AppKit status item if NSApplication run returns. Open Receipts uses the status URL. Installers can share that folder read-only over SMB. Co-authored-by: George Lambert <marchon@gmail.com>
96 lines
3.5 KiB
YAML
96 lines
3.5 KiB
YAML
name: installers
|
|
|
|
on:
|
|
push:
|
|
branches: ["**"]
|
|
pull_request:
|
|
|
|
jobs:
|
|
netprint:
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
- uses: actions/setup-go@v5
|
|
with:
|
|
go-version: "1.26.1"
|
|
- name: Toolchain
|
|
run: sudo apt-get update && sudo apt-get install -y nsis cpio g++ git
|
|
- name: Build driver and network-printer installers
|
|
run: VERSION=0.3.4 ./scripts/build-netprint-installers.sh
|
|
- uses: actions/upload-artifact@v4
|
|
with:
|
|
name: verae-netprint-linux
|
|
path: |
|
|
build/netprint/*.deb
|
|
build/netprint/*.exe
|
|
build/netprint/macos/**
|
|
if-no-files-found: error
|
|
|
|
macos-pkg:
|
|
runs-on: macos-14
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
- uses: actions/setup-go@v5
|
|
with:
|
|
go-version: "1.26.1"
|
|
- name: Build arm64 binary, AirDrop helper, and package
|
|
run: |
|
|
set -euo pipefail
|
|
VERSION=0.3.4
|
|
OUT="$PWD/build/netprint/macos"
|
|
mkdir -p "$OUT"
|
|
CGO_ENABLED=0 GOOS=darwin GOARCH=arm64 go build -trimpath -ldflags "-s -w" -o "$OUT/verae-print" ./cmd/verae-print
|
|
chmod +x platform/macos/pkg/build-netprint-pkg.sh platform/macos/pkg/check-pkg.sh
|
|
VERSION="$VERSION" BIN="$OUT/verae-print" PKG_ARCH=arm64 OUT="$OUT" ./platform/macos/pkg/build-netprint-pkg.sh
|
|
cp -f "$OUT/verae-print" "$OUT/verae-print-arm64"
|
|
APP="$OUT/payload/Applications/Verae NetPrint.app/Contents/MacOS"
|
|
test -x "$APP/verae-airdrop"
|
|
test -x "$APP/verae-menubar"
|
|
test -x "$APP/verae-print"
|
|
test -f "$OUT/payload/Applications/Verae NetPrint.app/Contents/Info.plist"
|
|
test -f "$OUT/VeraeNetPrint-macos-arm64-${VERSION}.pkg"
|
|
"$APP/verae-menubar" --smoke | tee "$OUT/menubar-smoke.txt"
|
|
"$APP/verae-print" tray --smoke | tee "$OUT/tray-smoke.txt"
|
|
grep -E 'smoke ok|no window server' "$OUT/menubar-smoke.txt"
|
|
grep -E 'smoke ok|no window server' "$OUT/tray-smoke.txt"
|
|
- name: pkgutil --expand, pkgutil --check-signature, and installer -pkginfo
|
|
run: bash platform/macos/pkg/check-pkg.sh build/netprint/macos/VeraeNetPrint-macos-arm64-0.3.4.pkg
|
|
- uses: actions/upload-artifact@v4
|
|
with:
|
|
name: verae-netprint-macos
|
|
path: |
|
|
build/netprint/macos/*.pkg
|
|
build/netprint/macos/verae-print
|
|
build/netprint/macos/verae-print-arm64
|
|
if-no-files-found: error
|
|
|
|
publish:
|
|
needs: [netprint, macos-pkg]
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- uses: actions/download-artifact@v4
|
|
with:
|
|
name: verae-netprint-linux
|
|
path: dist
|
|
- uses: actions/download-artifact@v4
|
|
with:
|
|
name: verae-netprint-macos
|
|
path: macpkg
|
|
- name: SHA256SUMS
|
|
run: |
|
|
set -euo pipefail
|
|
rm -f dist/macos/*.pkg dist/SHA256SUMS
|
|
mkdir -p dist/macos
|
|
cp -f macpkg/*.pkg macpkg/verae-print macpkg/verae-print-arm64 dist/macos/
|
|
cd dist
|
|
sha256sum *.deb *.exe macos/*.pkg macos/*.tar.gz macos/verae-print macos/verae-print-amd64 macos/verae-print-arm64 macos/distribution.xml macos/postinstall-netprint.sh | tee SHA256SUMS
|
|
test -f macos/VeraeNetPrint-macos-arm64-0.3.4.pkg
|
|
- uses: actions/upload-artifact@v4
|
|
with:
|
|
name: verae-netprint-installers
|
|
path: |
|
|
dist/*.deb
|
|
dist/*.exe
|
|
dist/SHA256SUMS
|
|
dist/macos/**
|
|
if-no-files-found: error
|