From 924dbf67c3ae3ef71f85cc20f7556b3c089b1d1b Mon Sep 17 00:00:00 2001 From: kat witch Date: Sun, 21 Nov 2021 22:02:47 +0000 Subject: [PATCH] CI: Flakes. --- .../{niv-update.yml => flake-update.yml} | 48 +++--- .github/workflows/nodes.yml | 138 +++++++++--------- ci/{niv-cron.nix => flake-cron.nix} | 52 +++---- ci/nodes.nix | 17 +-- devShell.nix | 9 +- flake.lock | 8 +- flake.nix | 2 +- 7 files changed, 130 insertions(+), 144 deletions(-) rename .github/workflows/{niv-update.yml => flake-update.yml} (68%) rename ci/{niv-cron.nix => flake-cron.nix} (75%) diff --git a/.github/workflows/niv-update.yml b/.github/workflows/flake-update.yml similarity index 68% rename from .github/workflows/niv-update.yml rename to .github/workflows/flake-update.yml index d1274eee..03ac0cf6 100644 --- a/.github/workflows/niv-update.yml +++ b/.github/workflows/flake-update.yml @@ -1,12 +1,12 @@ env: CACHIX_SIGNING_KEY: ${{ secrets.CACHIX_SIGNING_KEY }} CI_ALLOW_ROOT: '1' - CI_CONFIG: ./ci/niv-cron.nix + CI_CONFIG: ./ci/flake-cron.nix CI_PLATFORM: gh-actions OPENSSH_PRIVATE_KEY: ${{ secrets.OPENSSH_PRIVATE_KEY }} jobs: ci-check: - name: niv-update check + name: flake-update check runs-on: ubuntu-latest steps: - id: checkout @@ -16,22 +16,22 @@ jobs: submodules: false - id: nix-install name: nix install - uses: arcnmx/ci/actions/nix/install@master + uses: arcnmx/ci/actions/nix/install@nix2.4 - id: ci-action-build name: nix build ci.gh-actions.configFile - uses: arcnmx/ci/actions/nix/build@master + uses: arcnmx/ci/actions/nix/build@nix2.4 with: attrs: ci.gh-actions.configFile out-link: .ci/workflow.yml - id: ci-action-compare name: gh-actions compare - uses: arcnmx/ci/actions/nix/run@master + uses: arcnmx/ci/actions/nix/run@nix2.4 with: - args: -u .github/workflows/niv-update.yml .ci/workflow.yml + args: -u .github/workflows/flake-update.yml .ci/workflow.yml attrs: nixpkgs.diffutils command: diff - niv-update: - name: niv-update + flake-update: + name: flake-update runs-on: ubuntu-latest steps: - id: checkout @@ -41,12 +41,12 @@ jobs: submodules: false - id: nix-install name: nix install - uses: arcnmx/ci/actions/nix/install@master + uses: arcnmx/ci/actions/nix/install@nix2.4 - id: ci-setup name: nix setup - uses: arcnmx/ci/actions/nix/run@master + uses: arcnmx/ci/actions/nix/run@nix2.4 with: - attrs: ci.job.niv-update.run.bootstrap + attrs: ci.job.flake-update.run.bootstrap quiet: false - id: architectures name: prepare for emulated builds @@ -55,17 +55,17 @@ jobs: ' - id: ci-dirty name: nix test dirty - uses: arcnmx/ci/actions/nix/run@master + uses: arcnmx/ci/actions/nix/run@nix2.4 with: - attrs: ci.job.niv-update.run.test + attrs: ci.job.flake-update.run.test command: ci-build-dirty quiet: false stdout: ${{ runner.temp }}/ci.build.dirty - id: ci-test name: nix test build - uses: arcnmx/ci/actions/nix/run@master + uses: arcnmx/ci/actions/nix/run@nix2.4 with: - attrs: ci.job.niv-update.run.test + attrs: ci.job.flake-update.run.test command: ci-build-realise ignore-exit-code: true quiet: false @@ -74,9 +74,9 @@ jobs: CI_EXIT_CODE: ${{ steps.ci-test.outputs.exit-code }} id: ci-summary name: nix test results - uses: arcnmx/ci/actions/nix/run@master + uses: arcnmx/ci/actions/nix/run@nix2.4 with: - attrs: ci.job.niv-update.run.test + attrs: ci.job.flake-update.run.test command: ci-build-summarise quiet: false stdin: ${{ runner.temp }}/ci.build.dirty @@ -86,23 +86,23 @@ jobs: id: ci-cache if: always() name: nix test cache - uses: arcnmx/ci/actions/nix/run@master + uses: arcnmx/ci/actions/nix/run@nix2.4 with: - attrs: ci.job.niv-update.run.test + attrs: ci.job.flake-update.run.test command: ci-build-cache quiet: false stdin: ${{ runner.temp }}/ci.build.cache -name: niv-update +name: flake-update 'on': pull_request: paths: - default.nix - - ci/niv-cron.nix - - .github/workflows/niv-update.yml + - ci/flake-cron.nix + - .github/workflows/flake-update.yml push: paths: - default.nix - - ci/niv-cron.nix - - .github/workflows/niv-update.yml + - ci/flake-cron.nix + - .github/workflows/flake-update.yml schedule: - cron: 0 0 * * * diff --git a/.github/workflows/nodes.yml b/.github/workflows/nodes.yml index d1b565f1..a75e1188 100644 --- a/.github/workflows/nodes.yml +++ b/.github/workflows/nodes.yml @@ -14,10 +14,10 @@ jobs: submodules: false - id: nix-install name: nix install - uses: arcnmx/ci/actions/nix/install@master + uses: arcnmx/ci/actions/nix/install@nix2.4 - id: ci-setup name: nix setup - uses: arcnmx/ci/actions/nix/run@master + uses: arcnmx/ci/actions/nix/run@nix2.4 with: attrs: ci.job.chen.run.bootstrap quiet: false @@ -28,7 +28,7 @@ jobs: ' - id: ci-dirty name: nix test dirty - uses: arcnmx/ci/actions/nix/run@master + uses: arcnmx/ci/actions/nix/run@nix2.4 with: attrs: ci.job.chen.run.test command: ci-build-dirty @@ -36,7 +36,7 @@ jobs: stdout: ${{ runner.temp }}/ci.build.dirty - id: ci-test name: nix test build - uses: arcnmx/ci/actions/nix/run@master + uses: arcnmx/ci/actions/nix/run@nix2.4 with: attrs: ci.job.chen.run.test command: ci-build-realise @@ -47,7 +47,7 @@ jobs: CI_EXIT_CODE: ${{ steps.ci-test.outputs.exit-code }} id: ci-summary name: nix test results - uses: arcnmx/ci/actions/nix/run@master + uses: arcnmx/ci/actions/nix/run@nix2.4 with: attrs: ci.job.chen.run.test command: ci-build-summarise @@ -59,7 +59,7 @@ jobs: id: ci-cache if: always() name: nix test cache - uses: arcnmx/ci/actions/nix/run@master + uses: arcnmx/ci/actions/nix/run@nix2.4 with: attrs: ci.job.chen.run.test command: ci-build-cache @@ -76,16 +76,16 @@ jobs: submodules: false - id: nix-install name: nix install - uses: arcnmx/ci/actions/nix/install@master + uses: arcnmx/ci/actions/nix/install@nix2.4 - id: ci-action-build name: nix build ci.gh-actions.configFile - uses: arcnmx/ci/actions/nix/build@master + uses: arcnmx/ci/actions/nix/build@nix2.4 with: attrs: ci.gh-actions.configFile out-link: .ci/workflow.yml - id: ci-action-compare name: gh-actions compare - uses: arcnmx/ci/actions/nix/run@master + uses: arcnmx/ci/actions/nix/run@nix2.4 with: args: -u .github/workflows/nodes.yml .ci/workflow.yml attrs: nixpkgs.diffutils @@ -101,10 +101,10 @@ jobs: submodules: false - id: nix-install name: nix install - uses: arcnmx/ci/actions/nix/install@master + uses: arcnmx/ci/actions/nix/install@nix2.4 - id: ci-setup name: nix setup - uses: arcnmx/ci/actions/nix/run@master + uses: arcnmx/ci/actions/nix/run@nix2.4 with: attrs: ci.job.daiyousei.run.bootstrap quiet: false @@ -115,7 +115,7 @@ jobs: ' - id: ci-dirty name: nix test dirty - uses: arcnmx/ci/actions/nix/run@master + uses: arcnmx/ci/actions/nix/run@nix2.4 with: attrs: ci.job.daiyousei.run.test command: ci-build-dirty @@ -123,7 +123,7 @@ jobs: stdout: ${{ runner.temp }}/ci.build.dirty - id: ci-test name: nix test build - uses: arcnmx/ci/actions/nix/run@master + uses: arcnmx/ci/actions/nix/run@nix2.4 with: attrs: ci.job.daiyousei.run.test command: ci-build-realise @@ -134,7 +134,7 @@ jobs: CI_EXIT_CODE: ${{ steps.ci-test.outputs.exit-code }} id: ci-summary name: nix test results - uses: arcnmx/ci/actions/nix/run@master + uses: arcnmx/ci/actions/nix/run@nix2.4 with: attrs: ci.job.daiyousei.run.test command: ci-build-summarise @@ -146,7 +146,7 @@ jobs: id: ci-cache if: always() name: nix test cache - uses: arcnmx/ci/actions/nix/run@master + uses: arcnmx/ci/actions/nix/run@nix2.4 with: attrs: ci.job.daiyousei.run.test command: ci-build-cache @@ -163,10 +163,10 @@ jobs: submodules: false - id: nix-install name: nix install - uses: arcnmx/ci/actions/nix/install@master + uses: arcnmx/ci/actions/nix/install@nix2.4 - id: ci-setup name: nix setup - uses: arcnmx/ci/actions/nix/run@master + uses: arcnmx/ci/actions/nix/run@nix2.4 with: attrs: ci.job.goliath.run.bootstrap quiet: false @@ -177,7 +177,7 @@ jobs: ' - id: ci-dirty name: nix test dirty - uses: arcnmx/ci/actions/nix/run@master + uses: arcnmx/ci/actions/nix/run@nix2.4 with: attrs: ci.job.goliath.run.test command: ci-build-dirty @@ -185,7 +185,7 @@ jobs: stdout: ${{ runner.temp }}/ci.build.dirty - id: ci-test name: nix test build - uses: arcnmx/ci/actions/nix/run@master + uses: arcnmx/ci/actions/nix/run@nix2.4 with: attrs: ci.job.goliath.run.test command: ci-build-realise @@ -196,7 +196,7 @@ jobs: CI_EXIT_CODE: ${{ steps.ci-test.outputs.exit-code }} id: ci-summary name: nix test results - uses: arcnmx/ci/actions/nix/run@master + uses: arcnmx/ci/actions/nix/run@nix2.4 with: attrs: ci.job.goliath.run.test command: ci-build-summarise @@ -208,7 +208,7 @@ jobs: id: ci-cache if: always() name: nix test cache - uses: arcnmx/ci/actions/nix/run@master + uses: arcnmx/ci/actions/nix/run@nix2.4 with: attrs: ci.job.goliath.run.test command: ci-build-cache @@ -225,10 +225,10 @@ jobs: submodules: false - id: nix-install name: nix install - uses: arcnmx/ci/actions/nix/install@master + uses: arcnmx/ci/actions/nix/install@nix2.4 - id: ci-setup name: nix setup - uses: arcnmx/ci/actions/nix/run@master + uses: arcnmx/ci/actions/nix/run@nix2.4 with: attrs: ci.job.koishi.run.bootstrap quiet: false @@ -239,7 +239,7 @@ jobs: ' - id: ci-dirty name: nix test dirty - uses: arcnmx/ci/actions/nix/run@master + uses: arcnmx/ci/actions/nix/run@nix2.4 with: attrs: ci.job.koishi.run.test command: ci-build-dirty @@ -247,7 +247,7 @@ jobs: stdout: ${{ runner.temp }}/ci.build.dirty - id: ci-test name: nix test build - uses: arcnmx/ci/actions/nix/run@master + uses: arcnmx/ci/actions/nix/run@nix2.4 with: attrs: ci.job.koishi.run.test command: ci-build-realise @@ -258,7 +258,7 @@ jobs: CI_EXIT_CODE: ${{ steps.ci-test.outputs.exit-code }} id: ci-summary name: nix test results - uses: arcnmx/ci/actions/nix/run@master + uses: arcnmx/ci/actions/nix/run@nix2.4 with: attrs: ci.job.koishi.run.test command: ci-build-summarise @@ -270,7 +270,7 @@ jobs: id: ci-cache if: always() name: nix test cache - uses: arcnmx/ci/actions/nix/run@master + uses: arcnmx/ci/actions/nix/run@nix2.4 with: attrs: ci.job.koishi.run.test command: ci-build-cache @@ -287,10 +287,10 @@ jobs: submodules: false - id: nix-install name: nix install - uses: arcnmx/ci/actions/nix/install@master + uses: arcnmx/ci/actions/nix/install@nix2.4 - id: ci-setup name: nix setup - uses: arcnmx/ci/actions/nix/run@master + uses: arcnmx/ci/actions/nix/run@nix2.4 with: attrs: ci.job.kyouko.run.bootstrap quiet: false @@ -301,7 +301,7 @@ jobs: ' - id: ci-dirty name: nix test dirty - uses: arcnmx/ci/actions/nix/run@master + uses: arcnmx/ci/actions/nix/run@nix2.4 with: attrs: ci.job.kyouko.run.test command: ci-build-dirty @@ -309,7 +309,7 @@ jobs: stdout: ${{ runner.temp }}/ci.build.dirty - id: ci-test name: nix test build - uses: arcnmx/ci/actions/nix/run@master + uses: arcnmx/ci/actions/nix/run@nix2.4 with: attrs: ci.job.kyouko.run.test command: ci-build-realise @@ -320,7 +320,7 @@ jobs: CI_EXIT_CODE: ${{ steps.ci-test.outputs.exit-code }} id: ci-summary name: nix test results - uses: arcnmx/ci/actions/nix/run@master + uses: arcnmx/ci/actions/nix/run@nix2.4 with: attrs: ci.job.kyouko.run.test command: ci-build-summarise @@ -332,7 +332,7 @@ jobs: id: ci-cache if: always() name: nix test cache - uses: arcnmx/ci/actions/nix/run@master + uses: arcnmx/ci/actions/nix/run@nix2.4 with: attrs: ci.job.kyouko.run.test command: ci-build-cache @@ -349,10 +349,10 @@ jobs: submodules: false - id: nix-install name: nix install - uses: arcnmx/ci/actions/nix/install@master + uses: arcnmx/ci/actions/nix/install@nix2.4 - id: ci-setup name: nix setup - uses: arcnmx/ci/actions/nix/run@master + uses: arcnmx/ci/actions/nix/run@nix2.4 with: attrs: ci.job.marisa.run.bootstrap quiet: false @@ -363,7 +363,7 @@ jobs: ' - id: ci-dirty name: nix test dirty - uses: arcnmx/ci/actions/nix/run@master + uses: arcnmx/ci/actions/nix/run@nix2.4 with: attrs: ci.job.marisa.run.test command: ci-build-dirty @@ -371,7 +371,7 @@ jobs: stdout: ${{ runner.temp }}/ci.build.dirty - id: ci-test name: nix test build - uses: arcnmx/ci/actions/nix/run@master + uses: arcnmx/ci/actions/nix/run@nix2.4 with: attrs: ci.job.marisa.run.test command: ci-build-realise @@ -382,7 +382,7 @@ jobs: CI_EXIT_CODE: ${{ steps.ci-test.outputs.exit-code }} id: ci-summary name: nix test results - uses: arcnmx/ci/actions/nix/run@master + uses: arcnmx/ci/actions/nix/run@nix2.4 with: attrs: ci.job.marisa.run.test command: ci-build-summarise @@ -394,7 +394,7 @@ jobs: id: ci-cache if: always() name: nix test cache - uses: arcnmx/ci/actions/nix/run@master + uses: arcnmx/ci/actions/nix/run@nix2.4 with: attrs: ci.job.marisa.run.test command: ci-build-cache @@ -411,10 +411,10 @@ jobs: submodules: false - id: nix-install name: nix install - uses: arcnmx/ci/actions/nix/install@master + uses: arcnmx/ci/actions/nix/install@nix2.4 - id: ci-setup name: nix setup - uses: arcnmx/ci/actions/nix/run@master + uses: arcnmx/ci/actions/nix/run@nix2.4 with: attrs: ci.job.medicine.run.bootstrap quiet: false @@ -425,7 +425,7 @@ jobs: ' - id: ci-dirty name: nix test dirty - uses: arcnmx/ci/actions/nix/run@master + uses: arcnmx/ci/actions/nix/run@nix2.4 with: attrs: ci.job.medicine.run.test command: ci-build-dirty @@ -433,7 +433,7 @@ jobs: stdout: ${{ runner.temp }}/ci.build.dirty - id: ci-test name: nix test build - uses: arcnmx/ci/actions/nix/run@master + uses: arcnmx/ci/actions/nix/run@nix2.4 with: attrs: ci.job.medicine.run.test command: ci-build-realise @@ -444,7 +444,7 @@ jobs: CI_EXIT_CODE: ${{ steps.ci-test.outputs.exit-code }} id: ci-summary name: nix test results - uses: arcnmx/ci/actions/nix/run@master + uses: arcnmx/ci/actions/nix/run@nix2.4 with: attrs: ci.job.medicine.run.test command: ci-build-summarise @@ -456,7 +456,7 @@ jobs: id: ci-cache if: always() name: nix test cache - uses: arcnmx/ci/actions/nix/run@master + uses: arcnmx/ci/actions/nix/run@nix2.4 with: attrs: ci.job.medicine.run.test command: ci-build-cache @@ -473,10 +473,10 @@ jobs: submodules: false - id: nix-install name: nix install - uses: arcnmx/ci/actions/nix/install@master + uses: arcnmx/ci/actions/nix/install@nix2.4 - id: ci-setup name: nix setup - uses: arcnmx/ci/actions/nix/run@master + uses: arcnmx/ci/actions/nix/run@nix2.4 with: attrs: ci.job.ran.run.bootstrap quiet: false @@ -487,7 +487,7 @@ jobs: ' - id: ci-dirty name: nix test dirty - uses: arcnmx/ci/actions/nix/run@master + uses: arcnmx/ci/actions/nix/run@nix2.4 with: attrs: ci.job.ran.run.test command: ci-build-dirty @@ -495,7 +495,7 @@ jobs: stdout: ${{ runner.temp }}/ci.build.dirty - id: ci-test name: nix test build - uses: arcnmx/ci/actions/nix/run@master + uses: arcnmx/ci/actions/nix/run@nix2.4 with: attrs: ci.job.ran.run.test command: ci-build-realise @@ -506,7 +506,7 @@ jobs: CI_EXIT_CODE: ${{ steps.ci-test.outputs.exit-code }} id: ci-summary name: nix test results - uses: arcnmx/ci/actions/nix/run@master + uses: arcnmx/ci/actions/nix/run@nix2.4 with: attrs: ci.job.ran.run.test command: ci-build-summarise @@ -518,7 +518,7 @@ jobs: id: ci-cache if: always() name: nix test cache - uses: arcnmx/ci/actions/nix/run@master + uses: arcnmx/ci/actions/nix/run@nix2.4 with: attrs: ci.job.ran.run.test command: ci-build-cache @@ -535,10 +535,10 @@ jobs: submodules: false - id: nix-install name: nix install - uses: arcnmx/ci/actions/nix/install@master + uses: arcnmx/ci/actions/nix/install@nix2.4 - id: ci-setup name: nix setup - uses: arcnmx/ci/actions/nix/run@master + uses: arcnmx/ci/actions/nix/run@nix2.4 with: attrs: ci.job.rinnosuke.run.bootstrap quiet: false @@ -549,7 +549,7 @@ jobs: ' - id: ci-dirty name: nix test dirty - uses: arcnmx/ci/actions/nix/run@master + uses: arcnmx/ci/actions/nix/run@nix2.4 with: attrs: ci.job.rinnosuke.run.test command: ci-build-dirty @@ -557,7 +557,7 @@ jobs: stdout: ${{ runner.temp }}/ci.build.dirty - id: ci-test name: nix test build - uses: arcnmx/ci/actions/nix/run@master + uses: arcnmx/ci/actions/nix/run@nix2.4 with: attrs: ci.job.rinnosuke.run.test command: ci-build-realise @@ -568,7 +568,7 @@ jobs: CI_EXIT_CODE: ${{ steps.ci-test.outputs.exit-code }} id: ci-summary name: nix test results - uses: arcnmx/ci/actions/nix/run@master + uses: arcnmx/ci/actions/nix/run@nix2.4 with: attrs: ci.job.rinnosuke.run.test command: ci-build-summarise @@ -580,7 +580,7 @@ jobs: id: ci-cache if: always() name: nix test cache - uses: arcnmx/ci/actions/nix/run@master + uses: arcnmx/ci/actions/nix/run@nix2.4 with: attrs: ci.job.rinnosuke.run.test command: ci-build-cache @@ -597,10 +597,10 @@ jobs: submodules: false - id: nix-install name: nix install - uses: arcnmx/ci/actions/nix/install@master + uses: arcnmx/ci/actions/nix/install@nix2.4 - id: ci-setup name: nix setup - uses: arcnmx/ci/actions/nix/run@master + uses: arcnmx/ci/actions/nix/run@nix2.4 with: attrs: ci.job.shinmyoumaru.run.bootstrap quiet: false @@ -611,7 +611,7 @@ jobs: ' - id: ci-dirty name: nix test dirty - uses: arcnmx/ci/actions/nix/run@master + uses: arcnmx/ci/actions/nix/run@nix2.4 with: attrs: ci.job.shinmyoumaru.run.test command: ci-build-dirty @@ -619,7 +619,7 @@ jobs: stdout: ${{ runner.temp }}/ci.build.dirty - id: ci-test name: nix test build - uses: arcnmx/ci/actions/nix/run@master + uses: arcnmx/ci/actions/nix/run@nix2.4 with: attrs: ci.job.shinmyoumaru.run.test command: ci-build-realise @@ -630,7 +630,7 @@ jobs: CI_EXIT_CODE: ${{ steps.ci-test.outputs.exit-code }} id: ci-summary name: nix test results - uses: arcnmx/ci/actions/nix/run@master + uses: arcnmx/ci/actions/nix/run@nix2.4 with: attrs: ci.job.shinmyoumaru.run.test command: ci-build-summarise @@ -642,7 +642,7 @@ jobs: id: ci-cache if: always() name: nix test cache - uses: arcnmx/ci/actions/nix/run@master + uses: arcnmx/ci/actions/nix/run@nix2.4 with: attrs: ci.job.shinmyoumaru.run.test command: ci-build-cache @@ -659,10 +659,10 @@ jobs: submodules: false - id: nix-install name: nix install - uses: arcnmx/ci/actions/nix/install@master + uses: arcnmx/ci/actions/nix/install@nix2.4 - id: ci-setup name: nix setup - uses: arcnmx/ci/actions/nix/run@master + uses: arcnmx/ci/actions/nix/run@nix2.4 with: attrs: ci.job.yukari.run.bootstrap quiet: false @@ -673,7 +673,7 @@ jobs: ' - id: ci-dirty name: nix test dirty - uses: arcnmx/ci/actions/nix/run@master + uses: arcnmx/ci/actions/nix/run@nix2.4 with: attrs: ci.job.yukari.run.test command: ci-build-dirty @@ -681,7 +681,7 @@ jobs: stdout: ${{ runner.temp }}/ci.build.dirty - id: ci-test name: nix test build - uses: arcnmx/ci/actions/nix/run@master + uses: arcnmx/ci/actions/nix/run@nix2.4 with: attrs: ci.job.yukari.run.test command: ci-build-realise @@ -692,7 +692,7 @@ jobs: CI_EXIT_CODE: ${{ steps.ci-test.outputs.exit-code }} id: ci-summary name: nix test results - uses: arcnmx/ci/actions/nix/run@master + uses: arcnmx/ci/actions/nix/run@nix2.4 with: attrs: ci.job.yukari.run.test command: ci-build-summarise @@ -704,7 +704,7 @@ jobs: id: ci-cache if: always() name: nix test cache - uses: arcnmx/ci/actions/nix/run@master + uses: arcnmx/ci/actions/nix/run@nix2.4 with: attrs: ci.job.yukari.run.test command: ci-build-cache diff --git a/ci/niv-cron.nix b/ci/flake-cron.nix similarity index 75% rename from ci/niv-cron.nix rename to ci/flake-cron.nix index ebd9b057..30d0cb63 100644 --- a/ci/niv-cron.nix +++ b/ci/flake-cron.nix @@ -1,8 +1,13 @@ { lib, channels, config, ... }: with lib; { - name = "niv-update"; - ci.gh-actions.enable = true; - ci.gh-actions.export = true; + name = "flake-update"; + ci = { + version = "nix2.4"; + gh-actions = { + enable = true; + export = true; + }; + }; gh-actions.env.OPENSSH_PRIVATE_KEY = "\${{ secrets.OPENSSH_PRIVATE_KEY }}"; @@ -41,7 +46,7 @@ with lib; { let paths = [ "default.nix" # sourceCache - "ci/niv-cron.nix" + "ci/flake-cron.nix" config.ci.gh-actions.path ]; in @@ -69,23 +74,22 @@ with lib; { channels = { nixfiles.path = ../.; - nixpkgs.path = "${channels.nixfiles.sources.nixpkgs}"; + nixpkgs.path = "${channels.nixfiles.inputs.nixpkgs}"; }; environment.test = { inherit (channels.cipkgs) cachix; - inherit (channels.nixpkgs) niv; }; - jobs.niv-update = { - tasks.niv-build.inputs = with channels.cipkgs; + jobs.flake-update = { + tasks.flake-build.inputs = with channels.cipkgs; ci.command { - name = "niv-update-build"; + name = "flake-update-build"; allowSubstitutes = false; cache = { enable = false; }; - displayName = "niv update build"; + displayName = "flake update build"; environment = [ "OPENSSH_PRIVATE_KEY" "CACHIX_SIGNING_KEY" "GITHUB_REF" ]; command = let @@ -104,27 +108,11 @@ with lib; { chmod 0600 ~/.ssh/id_rsa fi - git init -q sources - ${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" ]))} + ${concatStringsSep "\n" (mapAttrsToList (n: v: "nix flake --update-input ${n}") channels.nixfiles.inputs)} - if git status --porcelain | grep -qF nix/sources.json; then - git -P diff nix/sources.json - nix build --no-link -Lf . sourceCache.local - echo "checking that network.nodes.still build..." >&2 + if git status --porcelain | grep -qF flake.lock; then + git -P diff flake.lock + echo "checking that network.nodes.still build..." >&2 if ${hostBuildString}; then if [[ -n $CACHIX_SIGNING_KEY ]]; then nix build --no-link -Lf . sourceCache.all @@ -136,8 +124,8 @@ with lib; { if [[ -n $OPENSSH_PRIVATE_KEY ]]; then git add nix/sources.json export GIT_{COMMITTER,AUTHOR}_EMAIL=github@kittywit.ch - export GIT_{COMMITTER,AUTHOR}_NAME="niv cron job" - git commit --message="ci: niv update" + export GIT_{COMMITTER,AUTHOR}_NAME="flake cron job" + git commit --message="ci: flake update" if [[ $GITHUB_REF = refs/heads/main ]]; then GIT_SSH_COMMAND="ssh -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no" \ git push ssh://gitea@git.kittywit.ch:62954/kat/nixfiles.git HEAD:main diff --git a/ci/nodes.nix b/ci/nodes.nix index f6106762..f9488d88 100644 --- a/ci/nodes.nix +++ b/ci/nodes.nix @@ -1,7 +1,12 @@ { lib, config, channels, env, ... }: with lib; { name = "nodes"; - ci.gh-actions.enable = true; - ci.gh-actions.export = true; + ci = { + version = "nix2.4"; + gh-actions = { + enable = true; + export = true; + }; + }; channels.nixfiles.path = ../.; nix.config = { @@ -21,7 +26,6 @@ }; }; - # ensure sources are fetched and available in the local store before evaluating host configs environment.bootstrap = { archbinfmt = 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 ':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 = diff --git a/devShell.nix b/devShell.nix index 781e1ffb..08405cb8 100644 --- a/devShell.nix +++ b/devShell.nix @@ -8,10 +8,10 @@ let export START_DIR="$PWD" cd "${toString ./.}" 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 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 cd $START_DIR ''; @@ -19,10 +19,10 @@ let export START_DIR="$PWD" cd "${toString ./.}" 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 echo $f - nix run --argstr config "$f" ci.test + nix run --argstr config "$f" -f '${inputs.ci}' test done cd $START_DIR ''; @@ -45,6 +45,7 @@ with lib; pkgs.mkShell { (filter (node: node.system.build ? isoImage) (attrValues meta.network.nodes))); shellHook = '' export HOME_HOSTNAME=$(hostname -s) + export NIX_BIN_DIR=${pkgs.nix}/bin export HOME_UID=$(id -u) export HOME_USER=$(id -un) export CI_PLATFORM="impure" diff --git a/flake.lock b/flake.lock index 92a177e0..2e70eed8 100644 --- a/flake.lock +++ b/flake.lock @@ -37,16 +37,16 @@ "ci": { "flake": false, "locked": { - "lastModified": 1636843513, - "narHash": "sha256-z9KDlH61Z7zjRF1b+LUHNSjW3tqyk1Y+Isd+u491AEM=", + "lastModified": 1636054324, + "narHash": "sha256-gNC+hYvnTHcUb/7VXJkFMrD4hTPJqcBnuRxEApHH0I4=", "owner": "arcnmx", "repo": "ci", - "rev": "97a20953f408c2508b61f70cc81ba99ae3f97eb4", + "rev": "fa2cbfb784af2c89cb9af1961bda142ea6e37268", "type": "github" }, "original": { "owner": "arcnmx", - "ref": "master", + "ref": "nix2.4", "repo": "ci", "type": "github" } diff --git a/flake.nix b/flake.nix index 84a504ec..0d3c954b 100644 --- a/flake.nix +++ b/flake.nix @@ -7,7 +7,7 @@ flake = false; }; ci = { - url = "github:arcnmx/ci/master"; + url = "github:arcnmx/ci/nix2.4"; flake = false; }; home-manager.url = "github:nix-community/home-manager/master";