CI: Flakes.

This commit is contained in:
kat witch 2021-11-21 22:02:47 +00:00 committed by kat
parent 7c5836558a
commit 924dbf67c3
Signed by: kat
GPG key ID: 465E64DECEA8CF0F
7 changed files with 130 additions and 144 deletions

View file

@ -1,12 +1,12 @@
env: env:
CACHIX_SIGNING_KEY: ${{ secrets.CACHIX_SIGNING_KEY }} CACHIX_SIGNING_KEY: ${{ secrets.CACHIX_SIGNING_KEY }}
CI_ALLOW_ROOT: '1' CI_ALLOW_ROOT: '1'
CI_CONFIG: ./ci/niv-cron.nix CI_CONFIG: ./ci/flake-cron.nix
CI_PLATFORM: gh-actions CI_PLATFORM: gh-actions
OPENSSH_PRIVATE_KEY: ${{ secrets.OPENSSH_PRIVATE_KEY }} OPENSSH_PRIVATE_KEY: ${{ secrets.OPENSSH_PRIVATE_KEY }}
jobs: jobs:
ci-check: ci-check:
name: niv-update check name: flake-update check
runs-on: ubuntu-latest runs-on: ubuntu-latest
steps: steps:
- id: checkout - id: checkout
@ -16,22 +16,22 @@ jobs:
submodules: false submodules: false
- id: nix-install - id: nix-install
name: nix install name: nix install
uses: arcnmx/ci/actions/nix/install@master uses: arcnmx/ci/actions/nix/install@nix2.4
- id: ci-action-build - id: ci-action-build
name: nix build ci.gh-actions.configFile name: nix build ci.gh-actions.configFile
uses: arcnmx/ci/actions/nix/build@master uses: arcnmx/ci/actions/nix/build@nix2.4
with: with:
attrs: ci.gh-actions.configFile attrs: ci.gh-actions.configFile
out-link: .ci/workflow.yml out-link: .ci/workflow.yml
- id: ci-action-compare - id: ci-action-compare
name: gh-actions compare name: gh-actions compare
uses: arcnmx/ci/actions/nix/run@master uses: arcnmx/ci/actions/nix/run@nix2.4
with: with:
args: -u .github/workflows/niv-update.yml .ci/workflow.yml args: -u .github/workflows/flake-update.yml .ci/workflow.yml
attrs: nixpkgs.diffutils attrs: nixpkgs.diffutils
command: diff command: diff
niv-update: flake-update:
name: niv-update name: flake-update
runs-on: ubuntu-latest runs-on: ubuntu-latest
steps: steps:
- id: checkout - id: checkout
@ -41,12 +41,12 @@ jobs:
submodules: false submodules: false
- id: nix-install - id: nix-install
name: nix install name: nix install
uses: arcnmx/ci/actions/nix/install@master uses: arcnmx/ci/actions/nix/install@nix2.4
- id: ci-setup - id: ci-setup
name: nix setup name: nix setup
uses: arcnmx/ci/actions/nix/run@master uses: arcnmx/ci/actions/nix/run@nix2.4
with: with:
attrs: ci.job.niv-update.run.bootstrap attrs: ci.job.flake-update.run.bootstrap
quiet: false quiet: false
- id: architectures - id: architectures
name: prepare for emulated builds name: prepare for emulated builds
@ -55,17 +55,17 @@ jobs:
' '
- id: ci-dirty - id: ci-dirty
name: nix test dirty name: nix test dirty
uses: arcnmx/ci/actions/nix/run@master uses: arcnmx/ci/actions/nix/run@nix2.4
with: with:
attrs: ci.job.niv-update.run.test attrs: ci.job.flake-update.run.test
command: ci-build-dirty command: ci-build-dirty
quiet: false quiet: false
stdout: ${{ runner.temp }}/ci.build.dirty stdout: ${{ runner.temp }}/ci.build.dirty
- id: ci-test - id: ci-test
name: nix test build name: nix test build
uses: arcnmx/ci/actions/nix/run@master uses: arcnmx/ci/actions/nix/run@nix2.4
with: with:
attrs: ci.job.niv-update.run.test attrs: ci.job.flake-update.run.test
command: ci-build-realise command: ci-build-realise
ignore-exit-code: true ignore-exit-code: true
quiet: false quiet: false
@ -74,9 +74,9 @@ jobs:
CI_EXIT_CODE: ${{ steps.ci-test.outputs.exit-code }} CI_EXIT_CODE: ${{ steps.ci-test.outputs.exit-code }}
id: ci-summary id: ci-summary
name: nix test results name: nix test results
uses: arcnmx/ci/actions/nix/run@master uses: arcnmx/ci/actions/nix/run@nix2.4
with: with:
attrs: ci.job.niv-update.run.test attrs: ci.job.flake-update.run.test
command: ci-build-summarise command: ci-build-summarise
quiet: false quiet: false
stdin: ${{ runner.temp }}/ci.build.dirty stdin: ${{ runner.temp }}/ci.build.dirty
@ -86,23 +86,23 @@ jobs:
id: ci-cache id: ci-cache
if: always() if: always()
name: nix test cache name: nix test cache
uses: arcnmx/ci/actions/nix/run@master uses: arcnmx/ci/actions/nix/run@nix2.4
with: with:
attrs: ci.job.niv-update.run.test attrs: ci.job.flake-update.run.test
command: ci-build-cache command: ci-build-cache
quiet: false quiet: false
stdin: ${{ runner.temp }}/ci.build.cache stdin: ${{ runner.temp }}/ci.build.cache
name: niv-update name: flake-update
'on': 'on':
pull_request: pull_request:
paths: paths:
- default.nix - default.nix
- ci/niv-cron.nix - ci/flake-cron.nix
- .github/workflows/niv-update.yml - .github/workflows/flake-update.yml
push: push:
paths: paths:
- default.nix - default.nix
- ci/niv-cron.nix - ci/flake-cron.nix
- .github/workflows/niv-update.yml - .github/workflows/flake-update.yml
schedule: schedule:
- cron: 0 0 * * * - cron: 0 0 * * *

View file

@ -14,10 +14,10 @@ jobs:
submodules: false submodules: false
- id: nix-install - id: nix-install
name: nix install name: nix install
uses: arcnmx/ci/actions/nix/install@master uses: arcnmx/ci/actions/nix/install@nix2.4
- id: ci-setup - id: ci-setup
name: nix setup name: nix setup
uses: arcnmx/ci/actions/nix/run@master uses: arcnmx/ci/actions/nix/run@nix2.4
with: with:
attrs: ci.job.chen.run.bootstrap attrs: ci.job.chen.run.bootstrap
quiet: false quiet: false
@ -28,7 +28,7 @@ jobs:
' '
- id: ci-dirty - id: ci-dirty
name: nix test dirty name: nix test dirty
uses: arcnmx/ci/actions/nix/run@master uses: arcnmx/ci/actions/nix/run@nix2.4
with: with:
attrs: ci.job.chen.run.test attrs: ci.job.chen.run.test
command: ci-build-dirty command: ci-build-dirty
@ -36,7 +36,7 @@ jobs:
stdout: ${{ runner.temp }}/ci.build.dirty stdout: ${{ runner.temp }}/ci.build.dirty
- id: ci-test - id: ci-test
name: nix test build name: nix test build
uses: arcnmx/ci/actions/nix/run@master uses: arcnmx/ci/actions/nix/run@nix2.4
with: with:
attrs: ci.job.chen.run.test attrs: ci.job.chen.run.test
command: ci-build-realise command: ci-build-realise
@ -47,7 +47,7 @@ jobs:
CI_EXIT_CODE: ${{ steps.ci-test.outputs.exit-code }} CI_EXIT_CODE: ${{ steps.ci-test.outputs.exit-code }}
id: ci-summary id: ci-summary
name: nix test results name: nix test results
uses: arcnmx/ci/actions/nix/run@master uses: arcnmx/ci/actions/nix/run@nix2.4
with: with:
attrs: ci.job.chen.run.test attrs: ci.job.chen.run.test
command: ci-build-summarise command: ci-build-summarise
@ -59,7 +59,7 @@ jobs:
id: ci-cache id: ci-cache
if: always() if: always()
name: nix test cache name: nix test cache
uses: arcnmx/ci/actions/nix/run@master uses: arcnmx/ci/actions/nix/run@nix2.4
with: with:
attrs: ci.job.chen.run.test attrs: ci.job.chen.run.test
command: ci-build-cache command: ci-build-cache
@ -76,16 +76,16 @@ jobs:
submodules: false submodules: false
- id: nix-install - id: nix-install
name: nix install name: nix install
uses: arcnmx/ci/actions/nix/install@master uses: arcnmx/ci/actions/nix/install@nix2.4
- id: ci-action-build - id: ci-action-build
name: nix build ci.gh-actions.configFile name: nix build ci.gh-actions.configFile
uses: arcnmx/ci/actions/nix/build@master uses: arcnmx/ci/actions/nix/build@nix2.4
with: with:
attrs: ci.gh-actions.configFile attrs: ci.gh-actions.configFile
out-link: .ci/workflow.yml out-link: .ci/workflow.yml
- id: ci-action-compare - id: ci-action-compare
name: gh-actions compare name: gh-actions compare
uses: arcnmx/ci/actions/nix/run@master uses: arcnmx/ci/actions/nix/run@nix2.4
with: with:
args: -u .github/workflows/nodes.yml .ci/workflow.yml args: -u .github/workflows/nodes.yml .ci/workflow.yml
attrs: nixpkgs.diffutils attrs: nixpkgs.diffutils
@ -101,10 +101,10 @@ jobs:
submodules: false submodules: false
- id: nix-install - id: nix-install
name: nix install name: nix install
uses: arcnmx/ci/actions/nix/install@master uses: arcnmx/ci/actions/nix/install@nix2.4
- id: ci-setup - id: ci-setup
name: nix setup name: nix setup
uses: arcnmx/ci/actions/nix/run@master uses: arcnmx/ci/actions/nix/run@nix2.4
with: with:
attrs: ci.job.daiyousei.run.bootstrap attrs: ci.job.daiyousei.run.bootstrap
quiet: false quiet: false
@ -115,7 +115,7 @@ jobs:
' '
- id: ci-dirty - id: ci-dirty
name: nix test dirty name: nix test dirty
uses: arcnmx/ci/actions/nix/run@master uses: arcnmx/ci/actions/nix/run@nix2.4
with: with:
attrs: ci.job.daiyousei.run.test attrs: ci.job.daiyousei.run.test
command: ci-build-dirty command: ci-build-dirty
@ -123,7 +123,7 @@ jobs:
stdout: ${{ runner.temp }}/ci.build.dirty stdout: ${{ runner.temp }}/ci.build.dirty
- id: ci-test - id: ci-test
name: nix test build name: nix test build
uses: arcnmx/ci/actions/nix/run@master uses: arcnmx/ci/actions/nix/run@nix2.4
with: with:
attrs: ci.job.daiyousei.run.test attrs: ci.job.daiyousei.run.test
command: ci-build-realise command: ci-build-realise
@ -134,7 +134,7 @@ jobs:
CI_EXIT_CODE: ${{ steps.ci-test.outputs.exit-code }} CI_EXIT_CODE: ${{ steps.ci-test.outputs.exit-code }}
id: ci-summary id: ci-summary
name: nix test results name: nix test results
uses: arcnmx/ci/actions/nix/run@master uses: arcnmx/ci/actions/nix/run@nix2.4
with: with:
attrs: ci.job.daiyousei.run.test attrs: ci.job.daiyousei.run.test
command: ci-build-summarise command: ci-build-summarise
@ -146,7 +146,7 @@ jobs:
id: ci-cache id: ci-cache
if: always() if: always()
name: nix test cache name: nix test cache
uses: arcnmx/ci/actions/nix/run@master uses: arcnmx/ci/actions/nix/run@nix2.4
with: with:
attrs: ci.job.daiyousei.run.test attrs: ci.job.daiyousei.run.test
command: ci-build-cache command: ci-build-cache
@ -163,10 +163,10 @@ jobs:
submodules: false submodules: false
- id: nix-install - id: nix-install
name: nix install name: nix install
uses: arcnmx/ci/actions/nix/install@master uses: arcnmx/ci/actions/nix/install@nix2.4
- id: ci-setup - id: ci-setup
name: nix setup name: nix setup
uses: arcnmx/ci/actions/nix/run@master uses: arcnmx/ci/actions/nix/run@nix2.4
with: with:
attrs: ci.job.goliath.run.bootstrap attrs: ci.job.goliath.run.bootstrap
quiet: false quiet: false
@ -177,7 +177,7 @@ jobs:
' '
- id: ci-dirty - id: ci-dirty
name: nix test dirty name: nix test dirty
uses: arcnmx/ci/actions/nix/run@master uses: arcnmx/ci/actions/nix/run@nix2.4
with: with:
attrs: ci.job.goliath.run.test attrs: ci.job.goliath.run.test
command: ci-build-dirty command: ci-build-dirty
@ -185,7 +185,7 @@ jobs:
stdout: ${{ runner.temp }}/ci.build.dirty stdout: ${{ runner.temp }}/ci.build.dirty
- id: ci-test - id: ci-test
name: nix test build name: nix test build
uses: arcnmx/ci/actions/nix/run@master uses: arcnmx/ci/actions/nix/run@nix2.4
with: with:
attrs: ci.job.goliath.run.test attrs: ci.job.goliath.run.test
command: ci-build-realise command: ci-build-realise
@ -196,7 +196,7 @@ jobs:
CI_EXIT_CODE: ${{ steps.ci-test.outputs.exit-code }} CI_EXIT_CODE: ${{ steps.ci-test.outputs.exit-code }}
id: ci-summary id: ci-summary
name: nix test results name: nix test results
uses: arcnmx/ci/actions/nix/run@master uses: arcnmx/ci/actions/nix/run@nix2.4
with: with:
attrs: ci.job.goliath.run.test attrs: ci.job.goliath.run.test
command: ci-build-summarise command: ci-build-summarise
@ -208,7 +208,7 @@ jobs:
id: ci-cache id: ci-cache
if: always() if: always()
name: nix test cache name: nix test cache
uses: arcnmx/ci/actions/nix/run@master uses: arcnmx/ci/actions/nix/run@nix2.4
with: with:
attrs: ci.job.goliath.run.test attrs: ci.job.goliath.run.test
command: ci-build-cache command: ci-build-cache
@ -225,10 +225,10 @@ jobs:
submodules: false submodules: false
- id: nix-install - id: nix-install
name: nix install name: nix install
uses: arcnmx/ci/actions/nix/install@master uses: arcnmx/ci/actions/nix/install@nix2.4
- id: ci-setup - id: ci-setup
name: nix setup name: nix setup
uses: arcnmx/ci/actions/nix/run@master uses: arcnmx/ci/actions/nix/run@nix2.4
with: with:
attrs: ci.job.koishi.run.bootstrap attrs: ci.job.koishi.run.bootstrap
quiet: false quiet: false
@ -239,7 +239,7 @@ jobs:
' '
- id: ci-dirty - id: ci-dirty
name: nix test dirty name: nix test dirty
uses: arcnmx/ci/actions/nix/run@master uses: arcnmx/ci/actions/nix/run@nix2.4
with: with:
attrs: ci.job.koishi.run.test attrs: ci.job.koishi.run.test
command: ci-build-dirty command: ci-build-dirty
@ -247,7 +247,7 @@ jobs:
stdout: ${{ runner.temp }}/ci.build.dirty stdout: ${{ runner.temp }}/ci.build.dirty
- id: ci-test - id: ci-test
name: nix test build name: nix test build
uses: arcnmx/ci/actions/nix/run@master uses: arcnmx/ci/actions/nix/run@nix2.4
with: with:
attrs: ci.job.koishi.run.test attrs: ci.job.koishi.run.test
command: ci-build-realise command: ci-build-realise
@ -258,7 +258,7 @@ jobs:
CI_EXIT_CODE: ${{ steps.ci-test.outputs.exit-code }} CI_EXIT_CODE: ${{ steps.ci-test.outputs.exit-code }}
id: ci-summary id: ci-summary
name: nix test results name: nix test results
uses: arcnmx/ci/actions/nix/run@master uses: arcnmx/ci/actions/nix/run@nix2.4
with: with:
attrs: ci.job.koishi.run.test attrs: ci.job.koishi.run.test
command: ci-build-summarise command: ci-build-summarise
@ -270,7 +270,7 @@ jobs:
id: ci-cache id: ci-cache
if: always() if: always()
name: nix test cache name: nix test cache
uses: arcnmx/ci/actions/nix/run@master uses: arcnmx/ci/actions/nix/run@nix2.4
with: with:
attrs: ci.job.koishi.run.test attrs: ci.job.koishi.run.test
command: ci-build-cache command: ci-build-cache
@ -287,10 +287,10 @@ jobs:
submodules: false submodules: false
- id: nix-install - id: nix-install
name: nix install name: nix install
uses: arcnmx/ci/actions/nix/install@master uses: arcnmx/ci/actions/nix/install@nix2.4
- id: ci-setup - id: ci-setup
name: nix setup name: nix setup
uses: arcnmx/ci/actions/nix/run@master uses: arcnmx/ci/actions/nix/run@nix2.4
with: with:
attrs: ci.job.kyouko.run.bootstrap attrs: ci.job.kyouko.run.bootstrap
quiet: false quiet: false
@ -301,7 +301,7 @@ jobs:
' '
- id: ci-dirty - id: ci-dirty
name: nix test dirty name: nix test dirty
uses: arcnmx/ci/actions/nix/run@master uses: arcnmx/ci/actions/nix/run@nix2.4
with: with:
attrs: ci.job.kyouko.run.test attrs: ci.job.kyouko.run.test
command: ci-build-dirty command: ci-build-dirty
@ -309,7 +309,7 @@ jobs:
stdout: ${{ runner.temp }}/ci.build.dirty stdout: ${{ runner.temp }}/ci.build.dirty
- id: ci-test - id: ci-test
name: nix test build name: nix test build
uses: arcnmx/ci/actions/nix/run@master uses: arcnmx/ci/actions/nix/run@nix2.4
with: with:
attrs: ci.job.kyouko.run.test attrs: ci.job.kyouko.run.test
command: ci-build-realise command: ci-build-realise
@ -320,7 +320,7 @@ jobs:
CI_EXIT_CODE: ${{ steps.ci-test.outputs.exit-code }} CI_EXIT_CODE: ${{ steps.ci-test.outputs.exit-code }}
id: ci-summary id: ci-summary
name: nix test results name: nix test results
uses: arcnmx/ci/actions/nix/run@master uses: arcnmx/ci/actions/nix/run@nix2.4
with: with:
attrs: ci.job.kyouko.run.test attrs: ci.job.kyouko.run.test
command: ci-build-summarise command: ci-build-summarise
@ -332,7 +332,7 @@ jobs:
id: ci-cache id: ci-cache
if: always() if: always()
name: nix test cache name: nix test cache
uses: arcnmx/ci/actions/nix/run@master uses: arcnmx/ci/actions/nix/run@nix2.4
with: with:
attrs: ci.job.kyouko.run.test attrs: ci.job.kyouko.run.test
command: ci-build-cache command: ci-build-cache
@ -349,10 +349,10 @@ jobs:
submodules: false submodules: false
- id: nix-install - id: nix-install
name: nix install name: nix install
uses: arcnmx/ci/actions/nix/install@master uses: arcnmx/ci/actions/nix/install@nix2.4
- id: ci-setup - id: ci-setup
name: nix setup name: nix setup
uses: arcnmx/ci/actions/nix/run@master uses: arcnmx/ci/actions/nix/run@nix2.4
with: with:
attrs: ci.job.marisa.run.bootstrap attrs: ci.job.marisa.run.bootstrap
quiet: false quiet: false
@ -363,7 +363,7 @@ jobs:
' '
- id: ci-dirty - id: ci-dirty
name: nix test dirty name: nix test dirty
uses: arcnmx/ci/actions/nix/run@master uses: arcnmx/ci/actions/nix/run@nix2.4
with: with:
attrs: ci.job.marisa.run.test attrs: ci.job.marisa.run.test
command: ci-build-dirty command: ci-build-dirty
@ -371,7 +371,7 @@ jobs:
stdout: ${{ runner.temp }}/ci.build.dirty stdout: ${{ runner.temp }}/ci.build.dirty
- id: ci-test - id: ci-test
name: nix test build name: nix test build
uses: arcnmx/ci/actions/nix/run@master uses: arcnmx/ci/actions/nix/run@nix2.4
with: with:
attrs: ci.job.marisa.run.test attrs: ci.job.marisa.run.test
command: ci-build-realise command: ci-build-realise
@ -382,7 +382,7 @@ jobs:
CI_EXIT_CODE: ${{ steps.ci-test.outputs.exit-code }} CI_EXIT_CODE: ${{ steps.ci-test.outputs.exit-code }}
id: ci-summary id: ci-summary
name: nix test results name: nix test results
uses: arcnmx/ci/actions/nix/run@master uses: arcnmx/ci/actions/nix/run@nix2.4
with: with:
attrs: ci.job.marisa.run.test attrs: ci.job.marisa.run.test
command: ci-build-summarise command: ci-build-summarise
@ -394,7 +394,7 @@ jobs:
id: ci-cache id: ci-cache
if: always() if: always()
name: nix test cache name: nix test cache
uses: arcnmx/ci/actions/nix/run@master uses: arcnmx/ci/actions/nix/run@nix2.4
with: with:
attrs: ci.job.marisa.run.test attrs: ci.job.marisa.run.test
command: ci-build-cache command: ci-build-cache
@ -411,10 +411,10 @@ jobs:
submodules: false submodules: false
- id: nix-install - id: nix-install
name: nix install name: nix install
uses: arcnmx/ci/actions/nix/install@master uses: arcnmx/ci/actions/nix/install@nix2.4
- id: ci-setup - id: ci-setup
name: nix setup name: nix setup
uses: arcnmx/ci/actions/nix/run@master uses: arcnmx/ci/actions/nix/run@nix2.4
with: with:
attrs: ci.job.medicine.run.bootstrap attrs: ci.job.medicine.run.bootstrap
quiet: false quiet: false
@ -425,7 +425,7 @@ jobs:
' '
- id: ci-dirty - id: ci-dirty
name: nix test dirty name: nix test dirty
uses: arcnmx/ci/actions/nix/run@master uses: arcnmx/ci/actions/nix/run@nix2.4
with: with:
attrs: ci.job.medicine.run.test attrs: ci.job.medicine.run.test
command: ci-build-dirty command: ci-build-dirty
@ -433,7 +433,7 @@ jobs:
stdout: ${{ runner.temp }}/ci.build.dirty stdout: ${{ runner.temp }}/ci.build.dirty
- id: ci-test - id: ci-test
name: nix test build name: nix test build
uses: arcnmx/ci/actions/nix/run@master uses: arcnmx/ci/actions/nix/run@nix2.4
with: with:
attrs: ci.job.medicine.run.test attrs: ci.job.medicine.run.test
command: ci-build-realise command: ci-build-realise
@ -444,7 +444,7 @@ jobs:
CI_EXIT_CODE: ${{ steps.ci-test.outputs.exit-code }} CI_EXIT_CODE: ${{ steps.ci-test.outputs.exit-code }}
id: ci-summary id: ci-summary
name: nix test results name: nix test results
uses: arcnmx/ci/actions/nix/run@master uses: arcnmx/ci/actions/nix/run@nix2.4
with: with:
attrs: ci.job.medicine.run.test attrs: ci.job.medicine.run.test
command: ci-build-summarise command: ci-build-summarise
@ -456,7 +456,7 @@ jobs:
id: ci-cache id: ci-cache
if: always() if: always()
name: nix test cache name: nix test cache
uses: arcnmx/ci/actions/nix/run@master uses: arcnmx/ci/actions/nix/run@nix2.4
with: with:
attrs: ci.job.medicine.run.test attrs: ci.job.medicine.run.test
command: ci-build-cache command: ci-build-cache
@ -473,10 +473,10 @@ jobs:
submodules: false submodules: false
- id: nix-install - id: nix-install
name: nix install name: nix install
uses: arcnmx/ci/actions/nix/install@master uses: arcnmx/ci/actions/nix/install@nix2.4
- id: ci-setup - id: ci-setup
name: nix setup name: nix setup
uses: arcnmx/ci/actions/nix/run@master uses: arcnmx/ci/actions/nix/run@nix2.4
with: with:
attrs: ci.job.ran.run.bootstrap attrs: ci.job.ran.run.bootstrap
quiet: false quiet: false
@ -487,7 +487,7 @@ jobs:
' '
- id: ci-dirty - id: ci-dirty
name: nix test dirty name: nix test dirty
uses: arcnmx/ci/actions/nix/run@master uses: arcnmx/ci/actions/nix/run@nix2.4
with: with:
attrs: ci.job.ran.run.test attrs: ci.job.ran.run.test
command: ci-build-dirty command: ci-build-dirty
@ -495,7 +495,7 @@ jobs:
stdout: ${{ runner.temp }}/ci.build.dirty stdout: ${{ runner.temp }}/ci.build.dirty
- id: ci-test - id: ci-test
name: nix test build name: nix test build
uses: arcnmx/ci/actions/nix/run@master uses: arcnmx/ci/actions/nix/run@nix2.4
with: with:
attrs: ci.job.ran.run.test attrs: ci.job.ran.run.test
command: ci-build-realise command: ci-build-realise
@ -506,7 +506,7 @@ jobs:
CI_EXIT_CODE: ${{ steps.ci-test.outputs.exit-code }} CI_EXIT_CODE: ${{ steps.ci-test.outputs.exit-code }}
id: ci-summary id: ci-summary
name: nix test results name: nix test results
uses: arcnmx/ci/actions/nix/run@master uses: arcnmx/ci/actions/nix/run@nix2.4
with: with:
attrs: ci.job.ran.run.test attrs: ci.job.ran.run.test
command: ci-build-summarise command: ci-build-summarise
@ -518,7 +518,7 @@ jobs:
id: ci-cache id: ci-cache
if: always() if: always()
name: nix test cache name: nix test cache
uses: arcnmx/ci/actions/nix/run@master uses: arcnmx/ci/actions/nix/run@nix2.4
with: with:
attrs: ci.job.ran.run.test attrs: ci.job.ran.run.test
command: ci-build-cache command: ci-build-cache
@ -535,10 +535,10 @@ jobs:
submodules: false submodules: false
- id: nix-install - id: nix-install
name: nix install name: nix install
uses: arcnmx/ci/actions/nix/install@master uses: arcnmx/ci/actions/nix/install@nix2.4
- id: ci-setup - id: ci-setup
name: nix setup name: nix setup
uses: arcnmx/ci/actions/nix/run@master uses: arcnmx/ci/actions/nix/run@nix2.4
with: with:
attrs: ci.job.rinnosuke.run.bootstrap attrs: ci.job.rinnosuke.run.bootstrap
quiet: false quiet: false
@ -549,7 +549,7 @@ jobs:
' '
- id: ci-dirty - id: ci-dirty
name: nix test dirty name: nix test dirty
uses: arcnmx/ci/actions/nix/run@master uses: arcnmx/ci/actions/nix/run@nix2.4
with: with:
attrs: ci.job.rinnosuke.run.test attrs: ci.job.rinnosuke.run.test
command: ci-build-dirty command: ci-build-dirty
@ -557,7 +557,7 @@ jobs:
stdout: ${{ runner.temp }}/ci.build.dirty stdout: ${{ runner.temp }}/ci.build.dirty
- id: ci-test - id: ci-test
name: nix test build name: nix test build
uses: arcnmx/ci/actions/nix/run@master uses: arcnmx/ci/actions/nix/run@nix2.4
with: with:
attrs: ci.job.rinnosuke.run.test attrs: ci.job.rinnosuke.run.test
command: ci-build-realise command: ci-build-realise
@ -568,7 +568,7 @@ jobs:
CI_EXIT_CODE: ${{ steps.ci-test.outputs.exit-code }} CI_EXIT_CODE: ${{ steps.ci-test.outputs.exit-code }}
id: ci-summary id: ci-summary
name: nix test results name: nix test results
uses: arcnmx/ci/actions/nix/run@master uses: arcnmx/ci/actions/nix/run@nix2.4
with: with:
attrs: ci.job.rinnosuke.run.test attrs: ci.job.rinnosuke.run.test
command: ci-build-summarise command: ci-build-summarise
@ -580,7 +580,7 @@ jobs:
id: ci-cache id: ci-cache
if: always() if: always()
name: nix test cache name: nix test cache
uses: arcnmx/ci/actions/nix/run@master uses: arcnmx/ci/actions/nix/run@nix2.4
with: with:
attrs: ci.job.rinnosuke.run.test attrs: ci.job.rinnosuke.run.test
command: ci-build-cache command: ci-build-cache
@ -597,10 +597,10 @@ jobs:
submodules: false submodules: false
- id: nix-install - id: nix-install
name: nix install name: nix install
uses: arcnmx/ci/actions/nix/install@master uses: arcnmx/ci/actions/nix/install@nix2.4
- id: ci-setup - id: ci-setup
name: nix setup name: nix setup
uses: arcnmx/ci/actions/nix/run@master uses: arcnmx/ci/actions/nix/run@nix2.4
with: with:
attrs: ci.job.shinmyoumaru.run.bootstrap attrs: ci.job.shinmyoumaru.run.bootstrap
quiet: false quiet: false
@ -611,7 +611,7 @@ jobs:
' '
- id: ci-dirty - id: ci-dirty
name: nix test dirty name: nix test dirty
uses: arcnmx/ci/actions/nix/run@master uses: arcnmx/ci/actions/nix/run@nix2.4
with: with:
attrs: ci.job.shinmyoumaru.run.test attrs: ci.job.shinmyoumaru.run.test
command: ci-build-dirty command: ci-build-dirty
@ -619,7 +619,7 @@ jobs:
stdout: ${{ runner.temp }}/ci.build.dirty stdout: ${{ runner.temp }}/ci.build.dirty
- id: ci-test - id: ci-test
name: nix test build name: nix test build
uses: arcnmx/ci/actions/nix/run@master uses: arcnmx/ci/actions/nix/run@nix2.4
with: with:
attrs: ci.job.shinmyoumaru.run.test attrs: ci.job.shinmyoumaru.run.test
command: ci-build-realise command: ci-build-realise
@ -630,7 +630,7 @@ jobs:
CI_EXIT_CODE: ${{ steps.ci-test.outputs.exit-code }} CI_EXIT_CODE: ${{ steps.ci-test.outputs.exit-code }}
id: ci-summary id: ci-summary
name: nix test results name: nix test results
uses: arcnmx/ci/actions/nix/run@master uses: arcnmx/ci/actions/nix/run@nix2.4
with: with:
attrs: ci.job.shinmyoumaru.run.test attrs: ci.job.shinmyoumaru.run.test
command: ci-build-summarise command: ci-build-summarise
@ -642,7 +642,7 @@ jobs:
id: ci-cache id: ci-cache
if: always() if: always()
name: nix test cache name: nix test cache
uses: arcnmx/ci/actions/nix/run@master uses: arcnmx/ci/actions/nix/run@nix2.4
with: with:
attrs: ci.job.shinmyoumaru.run.test attrs: ci.job.shinmyoumaru.run.test
command: ci-build-cache command: ci-build-cache
@ -659,10 +659,10 @@ jobs:
submodules: false submodules: false
- id: nix-install - id: nix-install
name: nix install name: nix install
uses: arcnmx/ci/actions/nix/install@master uses: arcnmx/ci/actions/nix/install@nix2.4
- id: ci-setup - id: ci-setup
name: nix setup name: nix setup
uses: arcnmx/ci/actions/nix/run@master uses: arcnmx/ci/actions/nix/run@nix2.4
with: with:
attrs: ci.job.yukari.run.bootstrap attrs: ci.job.yukari.run.bootstrap
quiet: false quiet: false
@ -673,7 +673,7 @@ jobs:
' '
- id: ci-dirty - id: ci-dirty
name: nix test dirty name: nix test dirty
uses: arcnmx/ci/actions/nix/run@master uses: arcnmx/ci/actions/nix/run@nix2.4
with: with:
attrs: ci.job.yukari.run.test attrs: ci.job.yukari.run.test
command: ci-build-dirty command: ci-build-dirty
@ -681,7 +681,7 @@ jobs:
stdout: ${{ runner.temp }}/ci.build.dirty stdout: ${{ runner.temp }}/ci.build.dirty
- id: ci-test - id: ci-test
name: nix test build name: nix test build
uses: arcnmx/ci/actions/nix/run@master uses: arcnmx/ci/actions/nix/run@nix2.4
with: with:
attrs: ci.job.yukari.run.test attrs: ci.job.yukari.run.test
command: ci-build-realise command: ci-build-realise
@ -692,7 +692,7 @@ jobs:
CI_EXIT_CODE: ${{ steps.ci-test.outputs.exit-code }} CI_EXIT_CODE: ${{ steps.ci-test.outputs.exit-code }}
id: ci-summary id: ci-summary
name: nix test results name: nix test results
uses: arcnmx/ci/actions/nix/run@master uses: arcnmx/ci/actions/nix/run@nix2.4
with: with:
attrs: ci.job.yukari.run.test attrs: ci.job.yukari.run.test
command: ci-build-summarise command: ci-build-summarise
@ -704,7 +704,7 @@ jobs:
id: ci-cache id: ci-cache
if: always() if: always()
name: nix test cache name: nix test cache
uses: arcnmx/ci/actions/nix/run@master uses: arcnmx/ci/actions/nix/run@nix2.4
with: with:
attrs: ci.job.yukari.run.test attrs: ci.job.yukari.run.test
command: ci-build-cache command: ci-build-cache

View file

@ -1,8 +1,13 @@
{ lib, channels, config, ... }: { lib, channels, config, ... }:
with lib; { with lib; {
name = "niv-update"; name = "flake-update";
ci.gh-actions.enable = true; ci = {
ci.gh-actions.export = true; version = "nix2.4";
gh-actions = {
enable = true;
export = true;
};
};
gh-actions.env.OPENSSH_PRIVATE_KEY = "\${{ secrets.OPENSSH_PRIVATE_KEY }}"; gh-actions.env.OPENSSH_PRIVATE_KEY = "\${{ secrets.OPENSSH_PRIVATE_KEY }}";
@ -41,7 +46,7 @@ with lib; {
let let
paths = [ paths = [
"default.nix" # sourceCache "default.nix" # sourceCache
"ci/niv-cron.nix" "ci/flake-cron.nix"
config.ci.gh-actions.path config.ci.gh-actions.path
]; ];
in in
@ -69,23 +74,22 @@ with lib; {
channels = { channels = {
nixfiles.path = ../.; nixfiles.path = ../.;
nixpkgs.path = "${channels.nixfiles.sources.nixpkgs}"; nixpkgs.path = "${channels.nixfiles.inputs.nixpkgs}";
}; };
environment.test = { environment.test = {
inherit (channels.cipkgs) cachix; inherit (channels.cipkgs) cachix;
inherit (channels.nixpkgs) niv;
}; };
jobs.niv-update = { jobs.flake-update = {
tasks.niv-build.inputs = with channels.cipkgs; tasks.flake-build.inputs = with channels.cipkgs;
ci.command { ci.command {
name = "niv-update-build"; name = "flake-update-build";
allowSubstitutes = false; allowSubstitutes = false;
cache = { cache = {
enable = false; enable = false;
}; };
displayName = "niv update build"; displayName = "flake update build";
environment = [ "OPENSSH_PRIVATE_KEY" "CACHIX_SIGNING_KEY" "GITHUB_REF" ]; environment = [ "OPENSSH_PRIVATE_KEY" "CACHIX_SIGNING_KEY" "GITHUB_REF" ];
command = command =
let let
@ -104,27 +108,11 @@ with lib; {
chmod 0600 ~/.ssh/id_rsa chmod 0600 ~/.ssh/id_rsa
fi fi
git init -q sources ${concatStringsSep "\n" (mapAttrsToList (n: v: "nix flake --update-input ${n}") channels.nixfiles.inputs)}
${concatStringsSep "\n" (mapAttrsToList (source: spec: let
update = "niv update ${source}";
fetch = "timeout 30 git -C sources fetch -q --depth 1 ${spec.repo} ${spec.branch}:source-${source}";
revision = "$(git -C sources show-ref -s source-${source})";
isGit = hasPrefix "https://" spec.repo or "";
git = ''
if ${fetch}; then
echo "${source}:${spec.branch} HEAD at ${revision}" >&2
${update} -r ${revision} || true
else
echo "failed to fetch latest revision from ${spec.repo}" >&2
fi
'';
auto = "${update} || true";
in if isGit then git else auto) (removeAttrs channels.nixfiles.sources [ "__functor" ]))}
if git status --porcelain | grep -qF nix/sources.json; then if git status --porcelain | grep -qF flake.lock; then
git -P diff nix/sources.json git -P diff flake.lock
nix build --no-link -Lf . sourceCache.local echo "checking that network.nodes.still build..." >&2
echo "checking that network.nodes.still build..." >&2
if ${hostBuildString}; then if ${hostBuildString}; then
if [[ -n $CACHIX_SIGNING_KEY ]]; then if [[ -n $CACHIX_SIGNING_KEY ]]; then
nix build --no-link -Lf . sourceCache.all nix build --no-link -Lf . sourceCache.all
@ -136,8 +124,8 @@ with lib; {
if [[ -n $OPENSSH_PRIVATE_KEY ]]; then if [[ -n $OPENSSH_PRIVATE_KEY ]]; then
git add nix/sources.json git add nix/sources.json
export GIT_{COMMITTER,AUTHOR}_EMAIL=github@kittywit.ch export GIT_{COMMITTER,AUTHOR}_EMAIL=github@kittywit.ch
export GIT_{COMMITTER,AUTHOR}_NAME="niv cron job" export GIT_{COMMITTER,AUTHOR}_NAME="flake cron job"
git commit --message="ci: niv update" git commit --message="ci: flake update"
if [[ $GITHUB_REF = refs/heads/main ]]; then if [[ $GITHUB_REF = refs/heads/main ]]; then
GIT_SSH_COMMAND="ssh -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no" \ GIT_SSH_COMMAND="ssh -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no" \
git push ssh://gitea@git.kittywit.ch:62954/kat/nixfiles.git HEAD:main git push ssh://gitea@git.kittywit.ch:62954/kat/nixfiles.git HEAD:main

View file

@ -1,7 +1,12 @@
{ lib, config, channels, env, ... }: with lib; { { lib, config, channels, env, ... }: with lib; {
name = "nodes"; name = "nodes";
ci.gh-actions.enable = true; ci = {
ci.gh-actions.export = true; version = "nix2.4";
gh-actions = {
enable = true;
export = true;
};
};
channels.nixfiles.path = ../.; channels.nixfiles.path = ../.;
nix.config = { nix.config = {
@ -21,7 +26,6 @@
}; };
}; };
# ensure sources are fetched and available in the local store before evaluating host configs
environment.bootstrap = { environment.bootstrap = {
archbinfmt = archbinfmt =
let let
@ -42,13 +46,6 @@
echo ':armv6l-linux:M::\x7fELF\x01\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x28\x00:\xff\xff\xff\xff\xff\xff\xff\x00\xff\xff\xff\xff\xff\xff\x00\xff\xfe\xff\xff\xff:/run/binfmt/arm-linux:' > /proc/sys/fs/binfmt_misc/register echo ':armv6l-linux:M::\x7fELF\x01\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x28\x00:\xff\xff\xff\xff\xff\xff\xff\x00\xff\xff\xff\xff\xff\xff\x00\xff\xfe\xff\xff\xff:/run/binfmt/arm-linux:' > /proc/sys/fs/binfmt_misc/register
echo ':armv7l-linux:M::\x7fELF\x01\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x28\x00:\xff\xff\xff\xff\xff\xff\xff\x00\xff\xff\xff\xff\xff\xff\x00\xff\xfe\xff\xff\xff:/run/binfmt/arm-linux:' > /proc/sys/fs/binfmt_misc/register echo ':armv7l-linux:M::\x7fELF\x01\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x28\x00:\xff\xff\xff\xff\xff\xff\xff\x00\xff\xff\xff\xff\xff\xff\x00\xff\xfe\xff\xff\xff:/run/binfmt/arm-linux:' > /proc/sys/fs/binfmt_misc/register
''; '';
sourceCache = channels.cipkgs.runCommand "sources"
{
srcs = attrNames channels.nixfiles.sourceCache.local;
} ''
mkdir -p $out/share/sources
ln -s $srcs $out/share/sources/
'';
}; };
jobs = jobs =

View file

@ -8,10 +8,10 @@ let
export START_DIR="$PWD" export START_DIR="$PWD"
cd "${toString ./.}" cd "${toString ./.}"
export NF_CONFIG_ROOT=${toString ./.}/ci export NF_CONFIG_ROOT=${toString ./.}/ci
NF_CONFIG_FILES=($NF_CONFIG_ROOT/{nodes,niv-cron}.nix) NF_CONFIG_FILES=($NF_CONFIG_ROOT/{nodes,flake-cron}.nix)
for f in "''${NF_CONFIG_FILES[@]}"; do for f in "''${NF_CONFIG_FILES[@]}"; do
echo $f echo $f
nix run --argstr config "$f" ci.run.gh-actions-generate nix run --argstr config "$f" -f '${inputs.ci}' run.gh-actions-generate
done done
cd $START_DIR cd $START_DIR
''; '';
@ -19,10 +19,10 @@ let
export START_DIR="$PWD" export START_DIR="$PWD"
cd "${toString ./.}" cd "${toString ./.}"
export NF_CONFIG_ROOT=${toString ./.}/ci export NF_CONFIG_ROOT=${toString ./.}/ci
NF_CONFIG_FILES=($NF_CONFIG_ROOT/{nodes,niv-cron}.nix) NF_CONFIG_FILES=($NF_CONFIG_ROOT/{nodes,flake-cron}.nix)
for f in "''${NF_CONFIG_FILES[@]}"; do for f in "''${NF_CONFIG_FILES[@]}"; do
echo $f echo $f
nix run --argstr config "$f" ci.test nix run --argstr config "$f" -f '${inputs.ci}' test
done done
cd $START_DIR cd $START_DIR
''; '';
@ -45,6 +45,7 @@ with lib; pkgs.mkShell {
(filter (node: node.system.build ? isoImage) (attrValues meta.network.nodes))); (filter (node: node.system.build ? isoImage) (attrValues meta.network.nodes)));
shellHook = '' shellHook = ''
export HOME_HOSTNAME=$(hostname -s) export HOME_HOSTNAME=$(hostname -s)
export NIX_BIN_DIR=${pkgs.nix}/bin
export HOME_UID=$(id -u) export HOME_UID=$(id -u)
export HOME_USER=$(id -un) export HOME_USER=$(id -un)
export CI_PLATFORM="impure" export CI_PLATFORM="impure"

8
flake.lock generated
View file

@ -37,16 +37,16 @@
"ci": { "ci": {
"flake": false, "flake": false,
"locked": { "locked": {
"lastModified": 1636843513, "lastModified": 1636054324,
"narHash": "sha256-z9KDlH61Z7zjRF1b+LUHNSjW3tqyk1Y+Isd+u491AEM=", "narHash": "sha256-gNC+hYvnTHcUb/7VXJkFMrD4hTPJqcBnuRxEApHH0I4=",
"owner": "arcnmx", "owner": "arcnmx",
"repo": "ci", "repo": "ci",
"rev": "97a20953f408c2508b61f70cc81ba99ae3f97eb4", "rev": "fa2cbfb784af2c89cb9af1961bda142ea6e37268",
"type": "github" "type": "github"
}, },
"original": { "original": {
"owner": "arcnmx", "owner": "arcnmx",
"ref": "master", "ref": "nix2.4",
"repo": "ci", "repo": "ci",
"type": "github" "type": "github"
} }

View file

@ -7,7 +7,7 @@
flake = false; flake = false;
}; };
ci = { ci = {
url = "github:arcnmx/ci/master"; url = "github:arcnmx/ci/nix2.4";
flake = false; flake = false;
}; };
home-manager.url = "github:nix-community/home-manager/master"; home-manager.url = "github:nix-community/home-manager/master";