mirror of
https://github.com/JulienMalka/snowfield.git
synced 2025-03-30 08:40:52 +02:00
195 lines
4.2 KiB
YAML
195 lines
4.2 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"
|
|
|
|
|
|
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
|
|
|
|
|
|
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
|
|
|
|
|
|
- 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: 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)
|
|
|
|
trigger:
|
|
branch:
|
|
- main
|
|
event:
|
|
- pull_request
|
|
- cron
|
|
|
|
|
|
|
|
---
|
|
kind: pipeline
|
|
name: Push flake update
|
|
type: docker
|
|
|
|
steps:
|
|
- name: Update flake.lock
|
|
image: nixpkgs/nix-flakes
|
|
commands:
|
|
- nix flake update --inputs-from nixpkgs
|
|
- nix flake show
|
|
- nix flake metadata
|
|
- nix flake check
|
|
- nix flake check --show-trace
|
|
environment:
|
|
NIX_PATH: nixpkgs=channel:nixos-unstable
|
|
|
|
- name: Push updated flake.lock
|
|
image: appleboy/drone-git-push
|
|
settings:
|
|
branch: update-flake
|
|
remote: git@github.com:JulienMalka/nix-config.git
|
|
force: true
|
|
commit: true
|
|
force: true
|
|
commit_message: "Updated flake.lock"
|
|
ssh_key:
|
|
from_secret: deploy_key
|
|
|
|
- name: notify on failure
|
|
image: drillster/drone-email
|
|
settings:
|
|
username: "julien.malka@me.com"
|
|
from:
|
|
from_secret: email_from
|
|
host:
|
|
from_secret: email_host
|
|
password:
|
|
from_secret: email_password
|
|
when:
|
|
status:
|
|
- failure
|
|
|
|
|
|
depends_on:
|
|
- Update flake
|
|
|
|
trigger:
|
|
branch:
|
|
- main
|
|
event:
|
|
- cron
|
|
|
|
|