Skip to content

Expose the nix-tools as flake apps #2574

Expose the nix-tools as flake apps

Expose the nix-tools as flake apps #2574

Workflow file for this run

name: "Run tests with ghc8107"
on:
pull_request:
branches:
- master
push:
branches:
- master
defaults:
run:
shell: bash
# do we really want nixos-unstable?
env:
NIX_PATH: "nixpkgs=channel:nixos-unstable"
jobs:
nix-build:
runs-on: [self-hosted, linux]
steps:
- uses: actions/checkout@v4
- name: "Run tests with ghc8107: Running the nix-build tests..."
run: "./test/tests.sh ghc8107 nix-build"
unit-tests:
runs-on: [self-hosted, linux]
steps:
- uses: actions/checkout@v4
- name: "Run tests with ghc8107: Running the unit tests..."
run: "./test/tests.sh ghc8107 unit-tests"
runghc:
runs-on: [self-hosted, linux]
steps:
- uses: actions/checkout@v4
- name: "Run tests with ghc8107: Checking that a nix-shell works for runghc..."
run: "./test/tests.sh ghc8107 runghc"
cabal:
runs-on: [self-hosted, linux]
steps:
- uses: actions/checkout@v4
- name: "Run tests with ghc8107: Checking that a nix-shell works for cabal..."
run: "./test/tests.sh ghc8107 cabal"
cabal-doExactConfig:
runs-on: [self-hosted, linux]
steps:
- uses: actions/checkout@v4
- name: "Run tests with ghc8107: Checking that a nix-shell works for cabal (doExactConfig component)..."
run: "./test/tests.sh ghc8107 cabal-doExactConfig"
tests-benchmarks:
runs-on: [self-hosted, linux]
steps:
- uses: actions/checkout@v4
- name: "Run tests with ghc8107: Checking that a nix-shell works for a project with test-suite build-tools and benchmarks..."
run: "./test/tests.sh ghc8107 tests-benchmarks"
multi-target:
runs-on: [self-hosted, linux]
steps:
- uses: actions/checkout@v4
- name: "Run tests with ghc8107: Checking that a nix-shell works for a multi-target project..."
run: "./test/tests.sh ghc8107 multi-target"
shellFor-single-package:
runs-on: [self-hosted, linux]
steps:
- uses: actions/checkout@v4
- name: "Run tests with ghc8107: Checking shellFor works for a cabal project, multiple packages..."
run: "./test/tests.sh ghc8107 shellFor-single-package"
shellFor-multiple-package:
runs-on: [self-hosted, linux]
steps:
- uses: actions/checkout@v4
- name: "Run tests with ghc8107: Checking shellFor works for a cabal project, single package...y"
run: "./test/tests.sh ghc8107 shellFor-multiple-package"
shellFor-hoogle:
runs-on: [self-hosted, linux]
steps:
- uses: actions/checkout@v4
- name: "Run tests with ghc8107: Checking shellFor works for a cabal project, single package..."
run: "./test/tests.sh ghc8107 shellFor-hoogle"
shellFor-not-depends:
runs-on: [self-hosted, linux]
steps:
- uses: actions/checkout@v4
- name: "Run tests with ghc8107: Checking shellFor does not depend on given packages...y"
run: "./test/tests.sh ghc8107 shellFor-not-depends"
maintainer-scripts:
runs-on: [self-hosted, linux]
steps:
- uses: actions/checkout@v4
- name: "Run tests with ghc8107: Checking the maintainer scripts...y"
run: "./test/tests.sh ghc8107 maintainer-scripts"
plan-extra-hackages:
runs-on: [self-hosted, linux]
steps:
- uses: actions/checkout@v4
- name: "Run tests with ghc8107: Checking that plan construction works with extra Hackages..."
run: "./test/tests.sh ghc8107 plan-extra-hackages"
build-extra-hackages:
runs-on: [self-hosted, linux]
steps:
- uses: actions/checkout@v4
- name: "Run tests with ghc8107: Checking that package with extra Hackages can be build..."
run: "./test/tests.sh ghc8107 build-extra-hackages"
hix:
runs-on: [self-hosted, linux]
steps:
- uses: actions/checkout@v4
- name: "Run tests with ghc8107: End-2-end test of hix project initialization and flakes development shell ..."
run: "./test/tests.sh ghc8107 hix"
# template:
# runs-on: [self-hosted, linux]
# steps:
# - uses: actions/checkout@v4
# - name: "Run tests with ghc8107: End-2-end test of hix project initialization and flakes development shell ..."
# run: "./test/tests.sh ghc8107 template"
docs:
runs-on: [self-hosted, linux]
steps:
- uses: actions/checkout@v4
- name: "Test examples in documentation ..."
run: "./test/tests.sh ghc8107 docs"
hydra-ifdLevel-0-and-1:
runs-on: [self-hosted, linux]
timeout-minutes: 20
steps:
- uses: actions/checkout@v4
- name: "Check that jobset will evaluate in Hydra at ifdLevel 0 and 1"
run: |
nix-build build.nix -A maintainer-scripts.check-hydra -o check-hydra.sh
sed -i 's/runningHydraEvalTest = false;/runningHydraEvalTest = true;/' flake.nix
sed -i 's/ifdLevel = 3;/ifdLevel = 0;/' flake.nix
./check-hydra.sh
sed -i 's/ifdLevel = 0;/ifdLevel = 1;/' flake.nix
./check-hydra.sh
hydra-ifdLevel-2:
runs-on: [self-hosted, linux]
timeout-minutes: 20
steps:
- uses: actions/checkout@v4
- name: "Check that jobset will evaluate in Hydra at ifdLevel 2"
run: |
nix-build build.nix -A maintainer-scripts.check-hydra -o check-hydra.sh
sed -i 's/runningHydraEvalTest = false;/runningHydraEvalTest = true;/' flake.nix
sed -i 's/ifdLevel = 3;/ifdLevel = 2;/' flake.nix
./check-hydra.sh
hydra-ifdLevel-3:
runs-on: [self-hosted, linux]
timeout-minutes: 30
steps:
- uses: actions/checkout@v4
- name: "Check that jobset will evaluate in Hydra at ifdLevel 3"
run: |
nix-build build.nix -A maintainer-scripts.check-hydra -o check-hydra.sh
sed -i 's/runningHydraEvalTest = false;/runningHydraEvalTest = true;/' flake.nix
./check-hydra.sh
closure-size:
runs-on: [self-hosted, linux]
steps:
- uses: actions/checkout@v4
- name: "Check closure size with ghc8107"
run: |
nix-build build.nix -A maintainer-scripts.check-closure-size --argstr compiler-nix-name ghc8107 -o check-closure-size.sh
echo "+++ Closure size (MB)"
./check-closure-size.sh
update-docs:
runs-on: [self-hosted, linux]
steps:
- uses: actions/checkout@v4
- name: "Update docs"
run: |
nix-build build.nix -A maintainer-scripts.update-docs -o update-docs.sh
./update-docs.sh
check-materialization-concurrency:
runs-on: [self-hosted, linux]
steps:
- uses: actions/checkout@v4
- name: "Make sure materialize function does not limit concurrency"
run: |
nix-build build.nix -A maintainer-scripts.check-materialization-concurrency -o check-materialization-concurrency.sh
./check-materialization-concurrency.sh
check-path-support:
runs-on: [self-hosted, linux]
steps:
- uses: actions/checkout@v4
- name: "Make sure non store paths like can be used as src"
run: |
nix-build build.nix -A maintainer-scripts.check-path-support --argstr compiler-nix-name ghc8107 -o check-path-support.sh
./check-path-support.sh
haskell-nix-roots-do-not-require-IFDs:
runs-on: [self-hosted, linux]
steps:
- uses: actions/checkout@v4
- name: "Check that the haskell.nix roots do not require IFDs"
run: nix build .#roots.x86_64-linux --accept-flake-config --option allow-import-from-derivation false
hydra-without-remote-builders-ghc8107:
runs-on: [self-hosted, linux]
steps:
- uses: actions/checkout@v4
- name: "Check that evaluation of hydra jobs works without using remote builders for GHC 8.10.7"
run: nix path-info --derivation .#requiredJobs.x86_64-darwin.required-unstable-ghc8107-native --show-trace --builders ''
hydra-without-remote-builders-ghc9101:
runs-on: [self-hosted, linux]
steps:
- uses: actions/checkout@v4
- name: "Check that evaluation of hydra jobs works without using remote builders for GHC 9.10.1"
run: nix path-info --derivation .#requiredJobs.x86_64-darwin.required-unstable-ghc9101-native --show-trace --builders ''
hix-cabal:
runs-on: [self-hosted, linux]
steps:
- uses: actions/checkout@v4
- name: "Check hix -- run github:haskell/cabal/3.10#cabal-install:exe:cabal -- --version"
run: "HIX_DIR=$(mktemp -d) nix run .#hix --accept-flake-config -- run github:haskell/cabal/3.10#cabal-install:exe:cabal --accept-flake-config --override-input haskellNix . -- --version"
nix-tools:
runs-on: [self-hosted, linux]
steps:
- uses: actions/checkout@v4
- run: nix build ./nix-tools#checks.x86_64-linux.truncate-index --accept-flake-config