Skip to content

Commit 9b45439

Browse files
dmjioclaude
andcommitted
CI: build via nix build -L, drop brew and cabal flow
Replace the cabal-in-devShell test flow with `nix build -L`, which builds the package derivation and runs the hspec suite in its checkPhase. Drop the redundant `brew install arrayfire` (ArrayFire is provided by the flake's .pkg-based darwin build) and pin macOS to macos-13 since ArrayFire only ships an x86_64 macOS binary. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
1 parent cc65036 commit 9b45439

1 file changed

Lines changed: 4 additions & 18 deletions

File tree

.github/workflows/ci.yml

Lines changed: 4 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -12,30 +12,16 @@ jobs:
1212
build:
1313
strategy:
1414
matrix:
15-
os: [ubuntu-latest, macos-latest] # Add macOS to the matrix
15+
# macos-13 is the last x86_64 runner; ArrayFire only ships an x86_64
16+
# macOS binary, so the flake has no aarch64-darwin (macos-latest) build.
17+
os: [ubuntu-latest, macos-13]
1618
runs-on: ${{ matrix.os }}
1719
steps:
1820
- uses: actions/checkout@v4
1921

20-
- name: Install ArrayFire (macOS)
21-
if: runner.os == 'macOS'
22-
run: |
23-
set -euo pipefail
24-
brew install arrayfire
25-
# The cabal file's OSX default paths are hardcoded to /opt/arrayfire;
26-
# point them at the Homebrew install so the build finds the headers,
27-
# libs, and rpath.
28-
sudo ln -sfn "$(brew --prefix arrayfire)" /opt/arrayfire
29-
3022
- uses: cachix/install-nix-action@v31
3123
with:
3224
nix_path: nixpkgs=channel:nixpkgs-unstable
3325

34-
- name: Nix channel --update
35-
run: nix-channel --update
36-
37-
- name: Cabal update
38-
run: nix develop --command bash -c 'cabal update'
39-
4026
- name: Build and run tests
41-
run: nix develop --command bash -c 'cabal install hspec-discover && cabal test'
27+
run: nix build -L

0 commit comments

Comments
 (0)