mirror of
https://github.com/gensokyo-zone/infrastructure.git
synced 2026-02-09 12:29:19 -08:00
feat(ci): cache deploy-rs
This commit is contained in:
parent
0d4184d73a
commit
febf43b1d0
3 changed files with 61 additions and 8 deletions
51
.github/workflows/nodes.yml
vendored
51
.github/workflows/nodes.yml
vendored
|
|
@ -130,6 +130,57 @@ jobs:
|
||||||
command: ci-build-cache
|
command: ci-build-cache
|
||||||
quiet: false
|
quiet: false
|
||||||
stdin: ${{ runner.temp }}/ci.build.cache
|
stdin: ${{ runner.temp }}/ci.build.cache
|
||||||
|
deploy-rs:
|
||||||
|
name: nodes-deploy-rs
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
steps:
|
||||||
|
- id: checkout
|
||||||
|
name: git clone
|
||||||
|
uses: actions/checkout@v4
|
||||||
|
with:
|
||||||
|
submodules: false
|
||||||
|
- id: nix-install
|
||||||
|
name: nix install
|
||||||
|
uses: arcnmx/ci/actions/nix/install@v0.7
|
||||||
|
- id: ci-dirty
|
||||||
|
name: nix test dirty
|
||||||
|
uses: arcnmx/ci/actions/nix/run@v0.7
|
||||||
|
with:
|
||||||
|
attrs: ci.job.deploy-rs.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@v0.7
|
||||||
|
with:
|
||||||
|
attrs: ci.job.deploy-rs.run.test
|
||||||
|
command: ci-build-realise
|
||||||
|
ignore-exit-code: true
|
||||||
|
quiet: false
|
||||||
|
stdin: ${{ runner.temp }}/ci.build.dirty
|
||||||
|
- env:
|
||||||
|
CI_EXIT_CODE: ${{ steps.ci-test.outputs.exit-code }}
|
||||||
|
id: ci-summary
|
||||||
|
name: nix test results
|
||||||
|
uses: arcnmx/ci/actions/nix/run@v0.7
|
||||||
|
with:
|
||||||
|
attrs: ci.job.deploy-rs.run.test
|
||||||
|
command: ci-build-summarise
|
||||||
|
quiet: false
|
||||||
|
stdin: ${{ runner.temp }}/ci.build.dirty
|
||||||
|
stdout: ${{ runner.temp }}/ci.build.cache
|
||||||
|
- env:
|
||||||
|
CACHIX_SIGNING_KEY: ${{ secrets.CACHIX_SIGNING_KEY }}
|
||||||
|
id: ci-cache
|
||||||
|
if: always()
|
||||||
|
name: nix test cache
|
||||||
|
uses: arcnmx/ci/actions/nix/run@v0.7
|
||||||
|
with:
|
||||||
|
attrs: ci.job.deploy-rs.run.test
|
||||||
|
command: ci-build-cache
|
||||||
|
quiet: false
|
||||||
|
stdin: ${{ runner.temp }}/ci.build.cache
|
||||||
extern-test:
|
extern-test:
|
||||||
name: nodes-extern-test
|
name: nodes-extern-test
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
|
|
|
||||||
13
ci/nodes.nix
13
ci/nodes.nix
|
|
@ -25,13 +25,20 @@ with lib; {
|
||||||
|
|
||||||
jobs = let
|
jobs = let
|
||||||
enabledSystems = filterAttrs (_: system: system.config.ci.enable) channels.nixfiles.lib.systems;
|
enabledSystems = filterAttrs (_: system: system.config.ci.enable) channels.nixfiles.lib.systems;
|
||||||
in
|
mkSystemJob = name: system: nameValuePair "${name}" {
|
||||||
mapAttrs' (name: system: nameValuePair "${name}" {
|
|
||||||
tasks.system = {
|
tasks.system = {
|
||||||
inputs = channels.nixfiles.nixosConfigurations.${name}.config.system.build.toplevel;
|
inputs = channels.nixfiles.nixosConfigurations.${name}.config.system.build.toplevel;
|
||||||
warn = system.config.ci.allowFailure;
|
warn = system.config.ci.allowFailure;
|
||||||
};
|
};
|
||||||
}) enabledSystems;
|
};
|
||||||
|
systemJobs = mapAttrs' mkSystemJob enabledSystems;
|
||||||
|
in {
|
||||||
|
deploy-rs = {
|
||||||
|
tasks.binary = {
|
||||||
|
inputs = channels.nixfiles.packages.x86_64-linux.deploy-rs;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
} // systemJobs;
|
||||||
|
|
||||||
ci.gh-actions.checkoutOptions.submodules = false;
|
ci.gh-actions.checkoutOptions.submodules = false;
|
||||||
cache.cachix.arc = {
|
cache.cachix.arc = {
|
||||||
|
|
|
||||||
|
|
@ -44,11 +44,6 @@
|
||||||
|
|
||||||
inherit (pkgs) freeipa-ipasam samba-ldap samba-ipa;
|
inherit (pkgs) freeipa-ipasam samba-ldap samba-ipa;
|
||||||
|
|
||||||
nf-deploy = pkgs.writeShellScriptBin "nf-deploy" ''
|
|
||||||
${exports}
|
|
||||||
${exportsSsh}
|
|
||||||
exec ${pkgs.runtimeShell} ${../ci/deploy.sh} "$@"
|
|
||||||
'';
|
|
||||||
nf-setup-node = let
|
nf-setup-node = let
|
||||||
reisen = ../systems/reisen;
|
reisen = ../systems/reisen;
|
||||||
inherit (inputs.self.lib.lib) userIs;
|
inherit (inputs.self.lib.lib) userIs;
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue