d5fb47bcc8
Add the two *-apple-darwin targets to rust-toolchain.toml and apple-sdk + libiconv to the flake devShell (darwin only) so the nix toolchain links AppKit; make cargo-zigbuild/zig Linux-only (macOS builds natively). Repoint the throwaway macOS workflow to actually build both darwin targets through the flake on the Tart runner — the first real check of the macOS leg, which can't be verified locally. Delete once release-macos lands.
40 lines
1.5 KiB
YAML
40 lines
1.5 KiB
YAML
# THROWAWAY build smoke-test for the macOS (Tart) runner. Verifies both
|
|
# *-apple-darwin targets actually compile and link (incl. arboard's AppKit)
|
|
# through the flake on the real Mac, before the full release-macos workflow is
|
|
# wired. Delete once that lands.
|
|
#
|
|
# Push-triggered (workflow_dispatch only works for workflows on the default
|
|
# branch; our CI is on `ci`). Runs when the flake/toolchain or this file change.
|
|
# Bring the Mac up before pushing so the run isn't left queued.
|
|
name: macos-build-test
|
|
on:
|
|
push:
|
|
paths:
|
|
- '.gitea/workflows/macos-probe.yaml'
|
|
- 'flake.nix'
|
|
- 'rust-toolchain.toml'
|
|
workflow_dispatch:
|
|
|
|
jobs:
|
|
build:
|
|
# Label NAME only — `:host` in the runner registration is the execution
|
|
# backend (run on host), not part of the label.
|
|
runs-on: macos
|
|
env:
|
|
# Guarantee flakes regardless of the Mac's nix config.
|
|
NIX_CONFIG: "experimental-features = nix-command flakes"
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
- name: build both darwin targets through the flake
|
|
run: |
|
|
set -e
|
|
for t in aarch64-apple-darwin x86_64-apple-darwin; do
|
|
echo "==================== $t ===================="
|
|
nix develop -c cargo build --release --target "$t"
|
|
f="target/$t/release/rdbms-playground"
|
|
file "$f"
|
|
echo "--- linked libs (otool -L) ---"
|
|
otool -L "$f" 2>/dev/null | head -8 || true
|
|
done
|
|
echo "=== both darwin targets built ==="
|