variables: NIXOS_VERSION: "23.11" NIXPKGS_ALLOW_UNFREE: "1" NIXPKGS_ALLOW_INSECURE: "1" GIT_DEPTH: 10 stages: - test - release - deploy before_script: - git config --global user.email "${GITLAB_USER_EMAIL}" - git config --global user.name "${GITLAB_USER_NAME}" - git config --global credential.helper '!f() { echo "username=gitlab-ci-token"; echo "password=${CI_JOB_TOKEN}"; }; f' - git config --global pull.rebase true - git config --global http.sslVerify "false" after_script: - nix develop .#gitlab --command clean-up tests: stage: test tags: - nixos-gen3 script: - nix develop .#gitlab --command run-ci-tests cache: untracked: true key: files: - package paths: - node_modules/ rules: - if: $DEPLOY_VERSION == null web-tests: stage: test tags: - nixos-gen3 script: - nix --version - nix develop .#gitlab --command run-ci-web-tests cache: untracked: true key: files: - package-lock.json paths: - node_modules/ artifacts: paths: - screenshot.png rules: - if: $DEPLOY_VERSION == null release: stage: release tags: - nixos-gen3 script: - nix develop .#gitlab --command release when: on_success rules: - if: $DEPLOY_VERSION == null && $CI_COMMIT_BRANCH == "master" deploy: stage: deploy tags: - nixos-gen3 script: - nix develop .#gitlab --command deploy when: on_success rules: - if: $DEPLOY_VERSION && $CI_COMMIT_TAG when: always