diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 4573eead98b91c54fdec1e8b0b72ab2847a96f92..bfcddb7327fd53f8e44c6839fdcc7c4e62261836 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