Skip to content

flake.lock: Update #720

flake.lock: Update

flake.lock: Update #720

Workflow file for this run

---
name: "nix-build"
on:
pull_request:
push:
branches:
- master
jobs:
lint:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v7
- name: Setup Nix Environment
uses: ./.github/actions/nix-common-setup
with:
CACHIX_AUTH_TOKEN: ${{ secrets.CACHIX_AUTH_TOKEN }}
- name: Lint
run: nix --print-build-logs build .#pre-commit
build:
needs: lint
strategy:
matrix:
include:
- os: ubuntu-latest
system: x86_64-linux
# The macos-latest runners are arm64, and nixpkgs 26.11 dropped
# x86_64-darwin altogether.
- os: macos-latest
system: aarch64-darwin
runs-on: ${{ matrix.os }}
steps:
- uses: actions/checkout@v7
- name: Setup Nix Environment
uses: ./.github/actions/nix-common-setup
with:
CACHIX_AUTH_TOKEN: ${{ secrets.CACHIX_AUTH_TOKEN }}
- name: Build
run: nix --print-build-logs build .#packages.${{ matrix.system }}.monad-bayes
- name: Development environment (package only)
run: nix --print-build-logs develop .#packages.${{ matrix.system }}.monad-bayes --command echo Ready
build-all-ghcs:
needs: lint
strategy:
matrix:
ghc: ["ghc94", "ghc96", "ghc98", "ghc910", "ghc912"]
os: [ubuntu-latest, macos-latest]
# `os` has to be a real matrix dimension for this to be the 5x2 cross
# product. An `include` entry that names an existing dimension only adds
# keys to the combinations it matches; one that names none gets merged
# into *every* combination, so two of those would silently mean "the last
# one wins" rather than "both platforms" (which is what used to happen
# here: this job only ever ran on macOS).
include:
- os: ubuntu-latest
system: x86_64-linux
- os: macos-latest
system: aarch64-darwin
runs-on: ${{ matrix.os }}
steps:
- uses: actions/checkout@v7
- name: Setup Nix Environment
uses: ./.github/actions/nix-common-setup
with:
CACHIX_AUTH_TOKEN: ${{ secrets.CACHIX_AUTH_TOKEN }}
- name: Build
run: nix --print-build-logs build .#packages.${{ matrix.system }}.monad-bayes-per-ghc.${{ matrix.ghc }}
- name: Development environment (package only)
run: nix --print-build-logs develop .#packages.${{ matrix.system }}.monad-bayes-per-ghc.${{ matrix.ghc }} --command echo Ready
notebooks:
needs:
- build
- build-all-ghcs
strategy:
matrix:
include:
- os: ubuntu-latest
system: x86_64-linux
# The Jupyter kernel is only tested on Linux so far
# - os: macos-latest
# system: x86_64-darwin
runs-on: ${{ matrix.os }}
steps:
- uses: actions/checkout@v7
- name: Setup Nix Environment
uses: ./.github/actions/nix-common-setup
with:
CACHIX_AUTH_TOKEN: ${{ secrets.CACHIX_AUTH_TOKEN }}
- name: Development environment (complete)
run: nix --print-build-logs develop .#default-jupyter --command echo Ready
- name: Check whether notebook *.html files are up to date
run: |
./regenerate_notebooks.sh
git diff --exit-code || (echo "Please update notebooks by running regenerate_notebooks.sh, and inspecting and committing the result." && exit 1)