nixcfg/.gitlab-ci.yml
2024-07-18 20:43:45 -04:00

39 lines
1.2 KiB
YAML

image: nixos/nix:latest
variables:
NIX_PATH: "nixpkgs=channel:nixos-unstable"
GIT_STRATEGY: clone
GIT_DEPTH: 1
stages:
- "Update"
- "Checks"
"Update inputs":
stage: "Update"
rules:
- if: $CI_PIPELINE_SOURCE == "schedule"
script:
- git clone https://${CI_SERVER_HOST}/${CI_PROJECT_PATH}.git
- cd nixcfg
- git config --global user.email "${GIT_USER_EMAIL:-$GITLAB_USER_EMAIL}"
- git config --global user.name "${GIT_USER_NAME:-$GITLAB_USER_NAME}"
- nix --extra-experimental-features "nix-command flakes" flake update --commit-lock-file
- nix --extra-experimental-features "nix-command flakes" flake check
- git push https://${CI_PROJECT_NAMESPACE}:${CI_JOB_TOKEN}@${CI_SERVER_HOST}/${CI_PROJECT_PATH}.git "${CI_DEFAULT_BRANCH}" -o ci.skip || echo "No changes to commit"
"Check formatting":
rules:
- if: $CI_PIPELINE_SOURCE == "push"
- if: $CI_PIPELINE_SOURCE == "merge_request_event"
stage: "Checks"
script:
- nix --extra-experimental-features "nix-command flakes" fmt -- -c .
"Check evaluation":
rules:
- if: $CI_PIPELINE_SOURCE == "push"
- if: $CI_PIPELINE_SOURCE == "merge_request_event"
stage: "Checks"
script:
- nix --extra-experimental-features "nix-command flakes" flake check