diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml new file mode 100644 index 00000000..88c1a928 --- /dev/null +++ b/.gitlab-ci.yml @@ -0,0 +1,40 @@ +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://gitlab.com/alyraffauf/wallpapers.git + - cd wallpapers + - 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 \ No newline at end of file