mirror of
https://github.com/haskell-nix/hnix-store.git
synced 2024-09-17 12:48:37 +03:00
15f77e8f4b
takes too long and it runs in nix-build anyway. Ideally we would do `cabal haddock-project` but that is not yet available everywhere (due to older haddock). Maybe revisit later.
63 lines
1.9 KiB
YAML
63 lines
1.9 KiB
YAML
# Code generated by dhall-to-yaml. DO NOT EDIT.
|
|
jobs:
|
|
build:
|
|
name: "GHC ${{ matrix.ghc }}, Cabal ${{ matrix.cabal }}, OS ${{ matrix.os }}"
|
|
"runs-on": "${{ matrix.os }}"
|
|
steps:
|
|
- uses: "cachix/install-nix-action@v24"
|
|
with:
|
|
nix_path: "nixpkgs=channel:nixos-unstable"
|
|
- uses: "cachix/cachix-action@v13"
|
|
with:
|
|
name: "hnix-store"
|
|
signingKey: "${{ secrets.CACHIX_SIGNING_KEY }}"
|
|
- uses: "actions/checkout@v4"
|
|
with:
|
|
submodules: recursive
|
|
- id: "setup-haskell-cabal"
|
|
uses: "haskell-actions/setup@v2"
|
|
with:
|
|
"cabal-version": "${{ matrix.cabal }}"
|
|
"ghc-version": "${{ matrix.ghc }}"
|
|
- name: Update Hackage repository
|
|
run: cabal update
|
|
- name: cabal.project.local.ci
|
|
run: |
|
|
if [ -e cabal.project.local.ci ]; then
|
|
cp cabal.project.local.ci cabal.project.local
|
|
fi
|
|
- name: freeze
|
|
run: "cabal freeze --enable-tests --enable-benchmarks"
|
|
- uses: "actions/cache@v3"
|
|
with:
|
|
key: "${{ matrix.os }}-${{ matrix.ghc }}-${{ matrix.cabal}}-${{ hashFiles('cabal.project.freeze') }}"
|
|
path: |
|
|
${{ steps.setup-haskell-cabal.outputs.cabal-store }}
|
|
dist-newstyle
|
|
- name: Install dependencies
|
|
run: "cabal build all --enable-tests --enable-benchmarks --only-dependencies"
|
|
- name: build all
|
|
run: "cabal build all --enable-tests --enable-benchmarks"
|
|
- name: test all
|
|
run: "cabal test all --enable-tests"
|
|
- name: Build with Nix
|
|
run: "nix-build --argstr compiler $(echo ghc${{ matrix.ghc }} | tr -d '.')"
|
|
strategy:
|
|
matrix:
|
|
cabal:
|
|
- '3.10'
|
|
ghc:
|
|
- '9.6.3'
|
|
- '9.4.7'
|
|
- '9.2.8'
|
|
- '9.0.2'
|
|
- '8.10.7'
|
|
os:
|
|
- "ubuntu-latest"
|
|
- "macos-latest"
|
|
name: Haskell CI
|
|
'on':
|
|
push: {}
|
|
schedule:
|
|
- cron: "4 20 10 * *"
|