# from https://docs.gitlab.com/ee/ci/pipelines/multi_project_pipelines.html # only a deploy stage stages: - build - deploy .scripts_base: &scripts_base - nix --extra-experimental-features 'nix-command flakes' profile install nixpkgs#bash .scripts_cache: &scripts_cache - nix --extra-experimental-features 'nix-command flakes' profile install nixpkgs#attic-client - attic login skynet https://nix-cache.skynet.ie/ $CACHE_KEY - attic use skynet-cache build: tags: - nix before_script: - *scripts_base - *scripts_cache stage: build # when it runs rules: - if: '$CI_PROJECT_NAMESPACE == "compsoc1/compsoc/presentations" && $CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH' changes: - src/**/* # what it runs script: # cache any dependencies - attic watch-store skynet-cache & - nix --extra-experimental-features 'nix-command flakes' build nixos: stage: deploy variables: PACKAGE_NAME: "compsoc_public" UPDATE_FLAKE: "yes" trigger: compsoc1/skynet/nixos only: refs: - main