Add workflow for update flake.lock
This commit is contained in:
parent
e30a6ae90c
commit
2f2c75c6f5
3 changed files with 73 additions and 17 deletions
|
@ -2,22 +2,12 @@ default:
|
||||||
tags:
|
tags:
|
||||||
- nix
|
- nix
|
||||||
|
|
||||||
stages:
|
include:
|
||||||
- build
|
- local: .gitlab-ci/build.yml
|
||||||
|
rules:
|
||||||
|
- if: $CI_PIPELINE_SOURCE == "push"
|
||||||
|
- local: .gitlab-ci/update.yml
|
||||||
|
rules:
|
||||||
|
- if: $CI_PIPELINE_SOURCE == "schedule"
|
||||||
|
|
||||||
build-nixos-configurations:
|
|
||||||
stage: build
|
|
||||||
parallel:
|
|
||||||
matrix:
|
|
||||||
- HOST_TO_BUILD:
|
|
||||||
- kharbranth
|
|
||||||
- kholinar
|
|
||||||
- lasting-integrity
|
|
||||||
- urithiru
|
|
||||||
script:
|
|
||||||
- nix-env --quiet -j8 -iA cachix -f https://cachix.org/api/v1/install
|
|
||||||
- cachix --version
|
|
||||||
- cachix authtoken $CACHIX_AUTH_TOKEN
|
|
||||||
- nix build -L --no-link .#nixosConfigurations.${HOST_TO_BUILD}.config.system.build.toplevel
|
|
||||||
- nix eval --json .#nixosConfigurations.${HOST_TO_BUILD}.config.system.build.toplevel | sed 's/"\(.*\)"/\1/' | cachix push chvp
|
|
||||||
|
|
||||||
|
|
21
.gitlab-ci/build.yml
Normal file
21
.gitlab-ci/build.yml
Normal file
|
@ -0,0 +1,21 @@
|
||||||
|
stages:
|
||||||
|
- build
|
||||||
|
|
||||||
|
workflow:
|
||||||
|
name: "Build $CI_COMMIT_TITLE"
|
||||||
|
|
||||||
|
build-nixos-configurations:
|
||||||
|
stage: build
|
||||||
|
parallel:
|
||||||
|
matrix:
|
||||||
|
- HOST_TO_BUILD:
|
||||||
|
- kharbranth
|
||||||
|
- kholinar
|
||||||
|
- lasting-integrity
|
||||||
|
- urithiru
|
||||||
|
script:
|
||||||
|
- nix-env --quiet -j8 -iA cachix -f https://cachix.org/api/v1/install
|
||||||
|
- cachix --version
|
||||||
|
- cachix authtoken $CACHIX_AUTH_TOKEN
|
||||||
|
- nix build -L --no-link .#nixosConfigurations.${HOST_TO_BUILD}.config.system.build.toplevel
|
||||||
|
- nix eval --json .#nixosConfigurations.${HOST_TO_BUILD}.config.system.build.toplevel | sed 's/"\(.*\)"/\1/' | cachix push chvp
|
45
.gitlab-ci/update.yml
Normal file
45
.gitlab-ci/update.yml
Normal file
|
@ -0,0 +1,45 @@
|
||||||
|
stages:
|
||||||
|
- prepare
|
||||||
|
- build
|
||||||
|
- commit
|
||||||
|
|
||||||
|
workflow:
|
||||||
|
name: "Update dependencies"
|
||||||
|
|
||||||
|
update-flake-lock:
|
||||||
|
stage: prepare
|
||||||
|
script: nix flake update
|
||||||
|
artifacts:
|
||||||
|
paths:
|
||||||
|
- flake.lock
|
||||||
|
expire_in: 1 day
|
||||||
|
|
||||||
|
build-nixos-configurations:
|
||||||
|
stage: build
|
||||||
|
parallel:
|
||||||
|
matrix:
|
||||||
|
- HOST_TO_BUILD:
|
||||||
|
- kharbranth
|
||||||
|
- kholinar
|
||||||
|
- lasting-integrity
|
||||||
|
- urithiru
|
||||||
|
needs:
|
||||||
|
- job: update-flake-lock
|
||||||
|
artifacts: true
|
||||||
|
script:
|
||||||
|
- nix-env --quiet -j8 -iA cachix -f https://cachix.org/api/v1/install
|
||||||
|
- cachix --version
|
||||||
|
- cachix authtoken $CACHIX_AUTH_TOKEN
|
||||||
|
- nix build -L --no-link .#nixosConfigurations.${HOST_TO_BUILD}.config.system.build.toplevel
|
||||||
|
- nix eval --json .#nixosConfigurations.${HOST_TO_BUILD}.config.system.build.toplevel | sed 's/"\(.*\)"/\1/' | cachix push chvp
|
||||||
|
|
||||||
|
commit-and-push:
|
||||||
|
stage: commit
|
||||||
|
needs:
|
||||||
|
- job: update-flake-lock
|
||||||
|
artifacts: true
|
||||||
|
- job: build
|
||||||
|
script:
|
||||||
|
- url_host=`git remote get-url origin | sed -e "s/https:\/\/gitlab-ci-token:.*@//g"`
|
||||||
|
- git remote set-url origin "https://gitlab-ci-token:${CI_PUSH_TOKEN}@${url_host}"
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue