PrintToVeraeTimeStamp/.github/workflows/installers.yml
Cursor Agent 969415e5c6
Keep the Mac menu bar up and open the live receipts page.
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>
2026-10-05 16:18:24 +00:00

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