Skip to content

Expand API: BLAS, reductions, statistics, index ops, bitwise; type & … #108

Expand API: BLAS, reductions, statistics, index ops, bitwise; type & …

Expand API: BLAS, reductions, statistics, index ops, bitwise; type & … #108

Workflow file for this run

name: ArrayFire CI
on:
push:
branches:
- master
pull_request:
jobs:
build:
strategy:
matrix:
os: [ubuntu-latest, macos-latest]
runs-on: ${{ matrix.os }}
steps:
- uses: actions/checkout@v4
# macos-latest is Apple Silicon; ArrayFire only ships x86_64-darwin, so
# we build under Rosetta 2 targeting .#packages.x86_64-darwin.default.
- name: Install Rosetta 2
if: runner.os == 'macOS'
run: softwareupdate --install-rosetta --agree-to-license
- uses: ners/simply-nix@main
with:
reclaim_space: true
- name: Build and run tests (Linux)
if: runner.os == 'Linux'
run: nix build -L
- name: Build and run tests (macOS, x86_64 via Rosetta)
if: runner.os == 'macOS'
run: nix build -L .#packages.x86_64-darwin.default
docs:
runs-on: ubuntu-latest
needs: build
if: github.event_name == 'push' && github.ref == 'refs/heads/master'
permissions:
contents: write
steps:
- uses: actions/checkout@v4
- uses: ners/simply-nix@main
with:
reclaim_space: true
- name: Build (produces Haddock docs via cabal)
run: nix build -L
- name: Collect Haddock output
run: |
html=$(find -L result/share/doc -type d -name html | head -1)
echo "HADDOCK_DIR=$html" >> "$GITHUB_ENV"
- name: Build and run tests
run: nix develop --command bash -c 'cabal install && cabal test'