From 201e72e4f4bcd517d8b24f2d09a212880a2b07ab Mon Sep 17 00:00:00 2001
From: Daniel Firth <dan.firth@homotopic.tech>
Date: Sun, 17 Mar 2024 13:54:13 +0000
Subject: [PATCH] .gitlab-ci.yml: don't use remote template

---
 .gitlab-ci.yml | 107 ++++++++++++++++++++++++++++++++++++++++++++++++-
 1 file changed, 105 insertions(+), 2 deletions(-)

diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 5bdd53e..4573eea 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -1,2 +1,105 @@
-include:
-- remote: 'https://gitlab.horizon-haskell.net/gitlab/ci-templates/raw/master/default.yml'
+stages:
+- devour
+- generate
+- packages
+- cache
+
+x86_64-linux: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"
-- 
GitLab