snowfield/.drone.yml
2022-02-05 19:02:12 +01:00

172 lines
4.3 KiB
YAML

---
kind: pipeline
type: exec
name: Build all configurations
platform:
os: linux
arch: amd64
steps:
- name: Show flake info
commands:
- nix --experimental-features "nix-command flakes" flake show
- nix --experimental-features "nix-command flakes" flake metadata
- nix --experimental-features "nix-command flakes" flake check
- name: Run flake checks
commands:
- nix --experimental-features "nix-command flakes" flake check --show-trace
- name: Build lisa
commands:
- nix build -v '.#nixosConfigurations.lisa.config.system.build.toplevel' --option binary-caches "https://cache.nixos.org"
- name: Build newton
commands:
- nix build -v '.#nixosConfigurations.newton.config.system.build.toplevel' --option binary-caches "https://cache.nixos.org"
- name: Build macintosh
commands:
- nix build -v '.#nixosConfigurations.macintosh.config.system.build.toplevel' --option binary-caches "https://cache.nixos.org"
- name: Build lambda
commands:
- nix build -v '.#nixosConfigurations.lambda.config.system.build.toplevel' --option binary-caches "https://cache.nixos.org"
trigger:
branch:
- main
event:
- push
- pull_request
---
kind: pipeline
type: exec
name: Build custom packages
platform:
os: linux
arch: amd64
steps:
- name: Build tinystatus
commands:
- nix build .#tinystatus
- name: Build mosh
commands:
- nix build .#mosh
- name: Build htpdate
commands:
- nix build .#htpdate
- name: Build flaresolverr
commands:
- nix build .#flaresolverr
trigger:
branch:
- main
event:
- push
- pull_request
---
kind: pipeline
type: exec
name: Update flake
platform:
os: linux
arch: amd64
steps:
- name: create old builds
commands:
- nix build -v '.#nixosConfigurations.lisa.config.system.build.toplevel' --option binary-caches "https://cache.nixos.org"
- mv result lisa-old
- nix build -v '.#nixosConfigurations.newton.config.system.build.toplevel' --option binary-caches "https://cache.nixos.org"
- mv result newton-old
- nix build -v '.#nixosConfigurations.macintosh.config.system.build.toplevel' --option binary-caches "https://cache.nixos.org"
- mv result macintosh-old
- nix build -v '.#nixosConfigurations.lambda.config.system.build.toplevel' --option binary-caches "https://cache.nixos.org"
- mv result lambda-old
- name: flake update
commands:
- nix --experimental-features "nix-command flakes" flake update --inputs-from nixpkgs
- name: Show git diff
commands:
- git diff
- name: Show flake info
commands:
- nix --experimental-features "nix-command flakes" flake show
- nix --experimental-features "nix-command flakes" flake metadata
- nix --experimental-features "nix-command flakes" flake check
- name: Run flake checks
commands:
- nix --experimental-features "nix-command flakes" flake check --show-trace
- name: Build lisa
commands:
- nix build -v '.#nixosConfigurations.lisa.config.system.build.toplevel' --option binary-caches "https://cache.nixos.org"
- mv result lisa-new
- name: Build newton
commands:
- nix build -v '.#nixosConfigurations.newton.config.system.build.toplevel' --option binary-caches "https://cache.nixos.org"
- mv result newton-new
- name: Build macintosh
commands:
- nix build -v '.#nixosConfigurations.macintosh.config.system.build.toplevel' --option binary-caches "https://cache.nixos.org"
- mv result macintosh-new
- name: Build lambda
commands:
- nix build -v '.#nixosConfigurations.lambda.config.system.build.toplevel' --option binary-caches "https://cache.nixos.org"
- mv result lambda-new
- name: Print report
commands:
- echo "lisa:" && nix store diff-closures $(readlink -f lisa-old) $(readlink -f lisa-new)
- echo "newton:" && nix store diff-closures $(readlink -f newton-old) $(readlink -f newton-new)
- echo "macintosh:" && nix store diff-closures $(readlink -f macintosh-old) $(readlink -f macintosh-new)
- echo "lambda:" && nix store diff-closures $(readlink -f lambda-old) $(readlink -f lambda-new)
- name: Push update
commands:
- git checkout -b flake-update
- git add flake.lock
- git commit -m "Updated flake lock"
- git config --add url."git@github.com:".insteadOf "https://github.com/"
- git config core.sshCommand 'ssh -i /home/drone/.ssh/id_ed25519'
- git push --force --set-upstream origin flake-update
trigger:
branch:
- main
event:
- pull_request
- cron