From 4feb6a6124044bdede5d601116a91f2b387b3625 Mon Sep 17 00:00:00 2001 From: Daniel Firth <dan.firth@horizon-haskell.net> Date: Mon, 27 May 2024 10:29:34 +0000 Subject: [PATCH] Switch to matrix CI --- .gitlab-ci.yml | 122 +++++++++---------------------------------------- 1 file changed, 22 insertions(+), 100 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 4573eea..bfcddb7 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -1,105 +1,27 @@ stages: +- build - devour -- generate -- packages -- cache -x86_64-linux:devour: +build: + stage: build + script: + - nix build .#packages.$SYSTEM.$PACKAGE -L + parallel: + matrix: + - SYSTEM: + - aarch64-darwin + - x86_64-linux + PACKAGE: + - fourmolu + - haskell-language-server + - hlint + +devour: stage: devour script: - - nix build github:srid/devour-flake#packages.x86_64-linux.default -L --no-link --print-out-paths --override-input flake . --keep-going - -aarch64-darwin:devour: - stage: devour - script: - - nix build github:srid/devour-flake#packages.aarch64-darwin.default -L --no-link --print-out-paths --override-input flake . --keep-going - -aarch64-linux:devour: - stage: devour - script: - - nix build github:srid/devour-flake#packages.aarch64-linux.default -L --no-link --print-out-paths --override-input flake . --keep-going - - -x86_64-linux:generate: - stage: generate - needs: ["x86_64-linux:devour"] - script: - - nix run "git+https://gitlab.horizon-haskell.net/haskell/flake-to-gitlab-ci?ref=refs/tags/0.2.5.0" > flake-ci.yml - when: on_failure - artifacts: - paths: - - flake-ci.yml - -x86_64-linux:packages: - stage: packages - needs: ["x86_64-linux:devour", "x86_64-linux:generate"] - when: on_failure - trigger: - include: - - artifact: flake-ci.yml - job: x86_64-linux:generate - strategy: depend - - -aarch64-darwin:generate: - stage: generate - needs: ["aarch64-darwin:devour"] - script: - - nix run "git+https://gitlab.horizon-haskell.net/haskell/flake-to-gitlab-ci?ref=refs/tags/0.2.5.0" -- aarch64-darwin > flake-ci.yml - when: on_failure - artifacts: - paths: - - flake-ci.yml - -aarch64-darwin:packages: - stage: packages - needs: ["aarch64-darwin:devour", "aarch64-darwin:generate"] - when: on_failure - trigger: - include: - - artifact: flake-ci.yml - job: aarch64-darwin:generate - strategy: depend - - -aarch64-linux:generate: - stage: generate - needs: ["aarch64-linux:devour"] - script: - - nix run "git+https://gitlab.horizon-haskell.net/haskell/flake-to-gitlab-ci?ref=refs/tags/0.2.5.0" -- aarch64-linux > flake-ci.yml - when: on_failure - artifacts: - paths: - - flake-ci.yml - -aarch64-linux:packages: - stage: packages - needs: ["aarch64-linux:devour", "aarch64-linux:generate"] - when: on_failure - trigger: - include: - - artifact: flake-ci.yml - job: aarch64-linux:generate - strategy: depend - - -x86_64-linux:cachix: - stage: cache - rules: - - if: $CI_COMMIT_REF_PROTECTED == "true" - script: - - nix-shell -p cachix --command "nix build github:srid/devour-flake -L --no-link --print-out-paths --override-input flake . | xargs cat | cachix push horizon" - -aarch64-darwin:cachix: - stage: cache - rules: - - if: $CI_COMMIT_REF_PROTECTED == "true" - script: - - nix-shell -p cachix --command "nix build github:srid/devour-flake#packages.aarch64-darwin.default -L --no-link --print-out-paths --override-input flake . | xargs cat | cachix push horizon" - -aarch64-linux:cachix: - stage: cache - rules: - - if: $CI_COMMIT_REF_PROTECTED == "true" - script: - - nix-shell -p cachix --command "nix build github:srid/devour-flake#packages.aarch64-linux.default -L --no-link --print-out-paths --override-input flake . | xargs cat | cachix push horizon" + - nix build github:srid/devour-flake#packages.$SYSTEM.default -L --no-link --print-out-paths --override-input flake . --keep-going + parallel: + matrix: + - SYSTEM: + - aarch64-darwin + - x86_64-linux -- GitLab