feat(workflows/eval-nodes): separate workflow in multiple stage
All checks were successful
Check meta / check_dns (pull_request) Successful in 18s
Check meta / check_meta (pull_request) Successful in 18s
Check workflows / check_workflows (pull_request) Successful in 20s
Build all the nodes / netcore01 (pull_request) Successful in 30s
Build all the nodes / netcore00 (pull_request) Successful in 31s
Build all the nodes / netcore02 (pull_request) Successful in 32s
Build all the nodes / netaccess01 (pull_request) Successful in 34s
Build all the nodes / ap01 (pull_request) Successful in 46s
Build the shell / build-shell (pull_request) Successful in 27s
Run pre-commit on all files / pre-commit (pull_request) Successful in 32s
Build all the nodes / bridge01 (pull_request) Successful in 1m7s
Build all the nodes / geo02 (pull_request) Successful in 1m10s
Build all the nodes / build01 (pull_request) Successful in 1m22s
Build all the nodes / tower01 (pull_request) Successful in 1m28s
Build all the nodes / geo01 (pull_request) Successful in 1m33s
Build all the nodes / hypervisor03 (pull_request) Successful in 1m34s
Build all the nodes / rescue01 (pull_request) Successful in 1m34s
Build all the nodes / storage01 (pull_request) Successful in 1m38s
Build all the nodes / hypervisor01 (pull_request) Successful in 1m43s
Build all the nodes / hypervisor02 (pull_request) Successful in 1m44s
Build all the nodes / vault01 (pull_request) Successful in 1m34s
Build all the nodes / web02 (pull_request) Successful in 1m35s
Build all the nodes / web03 (pull_request) Successful in 1m35s
Build all the nodes / cof02 (pull_request) Successful in 1m54s
Build all the nodes / compute01 (pull_request) Successful in 1m59s
Build all the nodes / web01 (pull_request) Successful in 1m44s
Check workflows / check_workflows (push) Successful in 17s
Build all the nodes / ap01 (push) Successful in 38s
Build all the nodes / bridge01 (push) Successful in 1m1s
Build all the nodes / build01 (push) Successful in 1m4s
Build all the nodes / cof02 (push) Successful in 1m10s
Build all the nodes / hypervisor02 (push) Successful in 57s
Build all the nodes / netaccess01 (push) Successful in 23s
Build all the nodes / netcore00 (push) Successful in 24s
Build all the nodes / compute01 (push) Successful in 1m34s
Build all the nodes / netcore01 (push) Successful in 25s
Build all the nodes / netcore02 (push) Successful in 23s
Build all the nodes / hypervisor03 (push) Successful in 59s
Build all the nodes / geo02 (push) Successful in 1m50s
Build all the nodes / geo01 (push) Successful in 1m50s
Build all the nodes / hypervisor01 (push) Successful in 1m50s
Build all the nodes / rescue01 (push) Successful in 1m3s
Build the shell / build-shell (push) Successful in 37s
Run pre-commit on all files / pre-commit (push) Successful in 40s
Build all the nodes / storage01 (push) Successful in 1m5s
Build all the nodes / tower01 (push) Successful in 1m5s
Build all the nodes / web02 (push) Successful in 1m7s
Build all the nodes / vault01 (push) Successful in 1m15s
Build all the nodes / web01 (push) Successful in 1m25s
Build all the nodes / web03 (push) Successful in 1m46s
All checks were successful
Check meta / check_dns (pull_request) Successful in 18s
Check meta / check_meta (pull_request) Successful in 18s
Check workflows / check_workflows (pull_request) Successful in 20s
Build all the nodes / netcore01 (pull_request) Successful in 30s
Build all the nodes / netcore00 (pull_request) Successful in 31s
Build all the nodes / netcore02 (pull_request) Successful in 32s
Build all the nodes / netaccess01 (pull_request) Successful in 34s
Build all the nodes / ap01 (pull_request) Successful in 46s
Build the shell / build-shell (pull_request) Successful in 27s
Run pre-commit on all files / pre-commit (pull_request) Successful in 32s
Build all the nodes / bridge01 (pull_request) Successful in 1m7s
Build all the nodes / geo02 (pull_request) Successful in 1m10s
Build all the nodes / build01 (pull_request) Successful in 1m22s
Build all the nodes / tower01 (pull_request) Successful in 1m28s
Build all the nodes / geo01 (pull_request) Successful in 1m33s
Build all the nodes / hypervisor03 (pull_request) Successful in 1m34s
Build all the nodes / rescue01 (pull_request) Successful in 1m34s
Build all the nodes / storage01 (pull_request) Successful in 1m38s
Build all the nodes / hypervisor01 (pull_request) Successful in 1m43s
Build all the nodes / hypervisor02 (pull_request) Successful in 1m44s
Build all the nodes / vault01 (pull_request) Successful in 1m34s
Build all the nodes / web02 (pull_request) Successful in 1m35s
Build all the nodes / web03 (pull_request) Successful in 1m35s
Build all the nodes / cof02 (pull_request) Successful in 1m54s
Build all the nodes / compute01 (pull_request) Successful in 1m59s
Build all the nodes / web01 (pull_request) Successful in 1m44s
Check workflows / check_workflows (push) Successful in 17s
Build all the nodes / ap01 (push) Successful in 38s
Build all the nodes / bridge01 (push) Successful in 1m1s
Build all the nodes / build01 (push) Successful in 1m4s
Build all the nodes / cof02 (push) Successful in 1m10s
Build all the nodes / hypervisor02 (push) Successful in 57s
Build all the nodes / netaccess01 (push) Successful in 23s
Build all the nodes / netcore00 (push) Successful in 24s
Build all the nodes / compute01 (push) Successful in 1m34s
Build all the nodes / netcore01 (push) Successful in 25s
Build all the nodes / netcore02 (push) Successful in 23s
Build all the nodes / hypervisor03 (push) Successful in 59s
Build all the nodes / geo02 (push) Successful in 1m50s
Build all the nodes / geo01 (push) Successful in 1m50s
Build all the nodes / hypervisor01 (push) Successful in 1m50s
Build all the nodes / rescue01 (push) Successful in 1m3s
Build the shell / build-shell (push) Successful in 37s
Run pre-commit on all files / pre-commit (push) Successful in 40s
Build all the nodes / storage01 (push) Successful in 1m5s
Build all the nodes / tower01 (push) Successful in 1m5s
Build all the nodes / web02 (push) Successful in 1m7s
Build all the nodes / vault01 (push) Successful in 1m15s
Build all the nodes / web01 (push) Successful in 1m25s
Build all the nodes / web03 (push) Successful in 1m46s
This commit is contained in:
parent
35bf5793a6
commit
1bc03e83e8
6 changed files with 254 additions and 74 deletions
|
@ -7,231 +7,378 @@ jobs:
|
||||||
- uses: actions/checkout@v3
|
- uses: actions/checkout@v3
|
||||||
- env:
|
- env:
|
||||||
BUILD_NODE: ap01
|
BUILD_NODE: ap01
|
||||||
|
name: Eval ap01
|
||||||
|
run: "nix-shell -A eval-nodes --run 'DRV=\"$(instantiate-node)\"\necho \"DRV=$DRV\"\
|
||||||
|
\ >> $GITHUB_ENV\n'"
|
||||||
|
- name: Build ap01
|
||||||
|
run: "STORE_PATH=\"$(nix-store --realise \"$DRV\")\"\necho \"STORE_PATH=$STORE_PATH\"\
|
||||||
|
\ >> $GITHUB_ENV\n"
|
||||||
|
- env:
|
||||||
STORE_ENDPOINT: https://tvix-store.dgnum.eu/infra-signing/
|
STORE_ENDPOINT: https://tvix-store.dgnum.eu/infra-signing/
|
||||||
STORE_PASSWORD: ${{ secrets.STORE_PASSWORD }}
|
STORE_PASSWORD: ${{ secrets.STORE_PASSWORD }}
|
||||||
STORE_USER: admin
|
STORE_USER: admin
|
||||||
name: Build and cache ap01
|
name: Cache ap01
|
||||||
run: nix-shell -A eval-nodes --run cache-node
|
run: "nix-shell -A eval-nodes --run 'push-to-cache \"$STORE_PATH\"\n'"
|
||||||
bridge01:
|
bridge01:
|
||||||
runs-on: nix
|
runs-on: nix
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v3
|
- uses: actions/checkout@v3
|
||||||
- env:
|
- env:
|
||||||
BUILD_NODE: bridge01
|
BUILD_NODE: bridge01
|
||||||
|
name: Eval bridge01
|
||||||
|
run: "nix-shell -A eval-nodes --run 'DRV=\"$(instantiate-node)\"\necho \"DRV=$DRV\"\
|
||||||
|
\ >> $GITHUB_ENV\n'"
|
||||||
|
- name: Build bridge01
|
||||||
|
run: "STORE_PATH=\"$(nix-store --realise \"$DRV\")\"\necho \"STORE_PATH=$STORE_PATH\"\
|
||||||
|
\ >> $GITHUB_ENV\n"
|
||||||
|
- env:
|
||||||
STORE_ENDPOINT: https://tvix-store.dgnum.eu/infra-signing/
|
STORE_ENDPOINT: https://tvix-store.dgnum.eu/infra-signing/
|
||||||
STORE_PASSWORD: ${{ secrets.STORE_PASSWORD }}
|
STORE_PASSWORD: ${{ secrets.STORE_PASSWORD }}
|
||||||
STORE_USER: admin
|
STORE_USER: admin
|
||||||
name: Build and cache bridge01
|
name: Cache bridge01
|
||||||
run: nix-shell -A eval-nodes --run cache-node
|
run: "nix-shell -A eval-nodes --run 'push-to-cache \"$STORE_PATH\"\n'"
|
||||||
build01:
|
build01:
|
||||||
runs-on: nix
|
runs-on: nix
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v3
|
- uses: actions/checkout@v3
|
||||||
- env:
|
- env:
|
||||||
BUILD_NODE: build01
|
BUILD_NODE: build01
|
||||||
|
name: Eval build01
|
||||||
|
run: "nix-shell -A eval-nodes --run 'DRV=\"$(instantiate-node)\"\necho \"DRV=$DRV\"\
|
||||||
|
\ >> $GITHUB_ENV\n'"
|
||||||
|
- name: Build build01
|
||||||
|
run: "STORE_PATH=\"$(nix-store --realise \"$DRV\")\"\necho \"STORE_PATH=$STORE_PATH\"\
|
||||||
|
\ >> $GITHUB_ENV\n"
|
||||||
|
- env:
|
||||||
STORE_ENDPOINT: https://tvix-store.dgnum.eu/infra-signing/
|
STORE_ENDPOINT: https://tvix-store.dgnum.eu/infra-signing/
|
||||||
STORE_PASSWORD: ${{ secrets.STORE_PASSWORD }}
|
STORE_PASSWORD: ${{ secrets.STORE_PASSWORD }}
|
||||||
STORE_USER: admin
|
STORE_USER: admin
|
||||||
name: Build and cache build01
|
name: Cache build01
|
||||||
run: nix-shell -A eval-nodes --run cache-node
|
run: "nix-shell -A eval-nodes --run 'push-to-cache \"$STORE_PATH\"\n'"
|
||||||
cof02:
|
cof02:
|
||||||
runs-on: nix
|
runs-on: nix
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v3
|
- uses: actions/checkout@v3
|
||||||
- env:
|
- env:
|
||||||
BUILD_NODE: cof02
|
BUILD_NODE: cof02
|
||||||
|
name: Eval cof02
|
||||||
|
run: "nix-shell -A eval-nodes --run 'DRV=\"$(instantiate-node)\"\necho \"DRV=$DRV\"\
|
||||||
|
\ >> $GITHUB_ENV\n'"
|
||||||
|
- name: Build cof02
|
||||||
|
run: "STORE_PATH=\"$(nix-store --realise \"$DRV\")\"\necho \"STORE_PATH=$STORE_PATH\"\
|
||||||
|
\ >> $GITHUB_ENV\n"
|
||||||
|
- env:
|
||||||
STORE_ENDPOINT: https://tvix-store.dgnum.eu/infra-signing/
|
STORE_ENDPOINT: https://tvix-store.dgnum.eu/infra-signing/
|
||||||
STORE_PASSWORD: ${{ secrets.STORE_PASSWORD }}
|
STORE_PASSWORD: ${{ secrets.STORE_PASSWORD }}
|
||||||
STORE_USER: admin
|
STORE_USER: admin
|
||||||
name: Build and cache cof02
|
name: Cache cof02
|
||||||
run: nix-shell -A eval-nodes --run cache-node
|
run: "nix-shell -A eval-nodes --run 'push-to-cache \"$STORE_PATH\"\n'"
|
||||||
compute01:
|
compute01:
|
||||||
runs-on: nix
|
runs-on: nix
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v3
|
- uses: actions/checkout@v3
|
||||||
- env:
|
- env:
|
||||||
BUILD_NODE: compute01
|
BUILD_NODE: compute01
|
||||||
|
name: Eval compute01
|
||||||
|
run: "nix-shell -A eval-nodes --run 'DRV=\"$(instantiate-node)\"\necho \"DRV=$DRV\"\
|
||||||
|
\ >> $GITHUB_ENV\n'"
|
||||||
|
- name: Build compute01
|
||||||
|
run: "STORE_PATH=\"$(nix-store --realise \"$DRV\")\"\necho \"STORE_PATH=$STORE_PATH\"\
|
||||||
|
\ >> $GITHUB_ENV\n"
|
||||||
|
- env:
|
||||||
STORE_ENDPOINT: https://tvix-store.dgnum.eu/infra-signing/
|
STORE_ENDPOINT: https://tvix-store.dgnum.eu/infra-signing/
|
||||||
STORE_PASSWORD: ${{ secrets.STORE_PASSWORD }}
|
STORE_PASSWORD: ${{ secrets.STORE_PASSWORD }}
|
||||||
STORE_USER: admin
|
STORE_USER: admin
|
||||||
name: Build and cache compute01
|
name: Cache compute01
|
||||||
run: nix-shell -A eval-nodes --run cache-node
|
run: "nix-shell -A eval-nodes --run 'push-to-cache \"$STORE_PATH\"\n'"
|
||||||
geo01:
|
geo01:
|
||||||
runs-on: nix
|
runs-on: nix
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v3
|
- uses: actions/checkout@v3
|
||||||
- env:
|
- env:
|
||||||
BUILD_NODE: geo01
|
BUILD_NODE: geo01
|
||||||
|
name: Eval geo01
|
||||||
|
run: "nix-shell -A eval-nodes --run 'DRV=\"$(instantiate-node)\"\necho \"DRV=$DRV\"\
|
||||||
|
\ >> $GITHUB_ENV\n'"
|
||||||
|
- name: Build geo01
|
||||||
|
run: "STORE_PATH=\"$(nix-store --realise \"$DRV\")\"\necho \"STORE_PATH=$STORE_PATH\"\
|
||||||
|
\ >> $GITHUB_ENV\n"
|
||||||
|
- env:
|
||||||
STORE_ENDPOINT: https://tvix-store.dgnum.eu/infra-signing/
|
STORE_ENDPOINT: https://tvix-store.dgnum.eu/infra-signing/
|
||||||
STORE_PASSWORD: ${{ secrets.STORE_PASSWORD }}
|
STORE_PASSWORD: ${{ secrets.STORE_PASSWORD }}
|
||||||
STORE_USER: admin
|
STORE_USER: admin
|
||||||
name: Build and cache geo01
|
name: Cache geo01
|
||||||
run: nix-shell -A eval-nodes --run cache-node
|
run: "nix-shell -A eval-nodes --run 'push-to-cache \"$STORE_PATH\"\n'"
|
||||||
geo02:
|
geo02:
|
||||||
runs-on: nix
|
runs-on: nix
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v3
|
- uses: actions/checkout@v3
|
||||||
- env:
|
- env:
|
||||||
BUILD_NODE: geo02
|
BUILD_NODE: geo02
|
||||||
|
name: Eval geo02
|
||||||
|
run: "nix-shell -A eval-nodes --run 'DRV=\"$(instantiate-node)\"\necho \"DRV=$DRV\"\
|
||||||
|
\ >> $GITHUB_ENV\n'"
|
||||||
|
- name: Build geo02
|
||||||
|
run: "STORE_PATH=\"$(nix-store --realise \"$DRV\")\"\necho \"STORE_PATH=$STORE_PATH\"\
|
||||||
|
\ >> $GITHUB_ENV\n"
|
||||||
|
- env:
|
||||||
STORE_ENDPOINT: https://tvix-store.dgnum.eu/infra-signing/
|
STORE_ENDPOINT: https://tvix-store.dgnum.eu/infra-signing/
|
||||||
STORE_PASSWORD: ${{ secrets.STORE_PASSWORD }}
|
STORE_PASSWORD: ${{ secrets.STORE_PASSWORD }}
|
||||||
STORE_USER: admin
|
STORE_USER: admin
|
||||||
name: Build and cache geo02
|
name: Cache geo02
|
||||||
run: nix-shell -A eval-nodes --run cache-node
|
run: "nix-shell -A eval-nodes --run 'push-to-cache \"$STORE_PATH\"\n'"
|
||||||
hypervisor01:
|
hypervisor01:
|
||||||
runs-on: nix
|
runs-on: nix
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v3
|
- uses: actions/checkout@v3
|
||||||
- env:
|
- env:
|
||||||
BUILD_NODE: hypervisor01
|
BUILD_NODE: hypervisor01
|
||||||
|
name: Eval hypervisor01
|
||||||
|
run: "nix-shell -A eval-nodes --run 'DRV=\"$(instantiate-node)\"\necho \"DRV=$DRV\"\
|
||||||
|
\ >> $GITHUB_ENV\n'"
|
||||||
|
- name: Build hypervisor01
|
||||||
|
run: "STORE_PATH=\"$(nix-store --realise \"$DRV\")\"\necho \"STORE_PATH=$STORE_PATH\"\
|
||||||
|
\ >> $GITHUB_ENV\n"
|
||||||
|
- env:
|
||||||
STORE_ENDPOINT: https://tvix-store.dgnum.eu/infra-signing/
|
STORE_ENDPOINT: https://tvix-store.dgnum.eu/infra-signing/
|
||||||
STORE_PASSWORD: ${{ secrets.STORE_PASSWORD }}
|
STORE_PASSWORD: ${{ secrets.STORE_PASSWORD }}
|
||||||
STORE_USER: admin
|
STORE_USER: admin
|
||||||
name: Build and cache hypervisor01
|
name: Cache hypervisor01
|
||||||
run: nix-shell -A eval-nodes --run cache-node
|
run: "nix-shell -A eval-nodes --run 'push-to-cache \"$STORE_PATH\"\n'"
|
||||||
hypervisor02:
|
hypervisor02:
|
||||||
runs-on: nix
|
runs-on: nix
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v3
|
- uses: actions/checkout@v3
|
||||||
- env:
|
- env:
|
||||||
BUILD_NODE: hypervisor02
|
BUILD_NODE: hypervisor02
|
||||||
|
name: Eval hypervisor02
|
||||||
|
run: "nix-shell -A eval-nodes --run 'DRV=\"$(instantiate-node)\"\necho \"DRV=$DRV\"\
|
||||||
|
\ >> $GITHUB_ENV\n'"
|
||||||
|
- name: Build hypervisor02
|
||||||
|
run: "STORE_PATH=\"$(nix-store --realise \"$DRV\")\"\necho \"STORE_PATH=$STORE_PATH\"\
|
||||||
|
\ >> $GITHUB_ENV\n"
|
||||||
|
- env:
|
||||||
STORE_ENDPOINT: https://tvix-store.dgnum.eu/infra-signing/
|
STORE_ENDPOINT: https://tvix-store.dgnum.eu/infra-signing/
|
||||||
STORE_PASSWORD: ${{ secrets.STORE_PASSWORD }}
|
STORE_PASSWORD: ${{ secrets.STORE_PASSWORD }}
|
||||||
STORE_USER: admin
|
STORE_USER: admin
|
||||||
name: Build and cache hypervisor02
|
name: Cache hypervisor02
|
||||||
run: nix-shell -A eval-nodes --run cache-node
|
run: "nix-shell -A eval-nodes --run 'push-to-cache \"$STORE_PATH\"\n'"
|
||||||
hypervisor03:
|
hypervisor03:
|
||||||
runs-on: nix
|
runs-on: nix
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v3
|
- uses: actions/checkout@v3
|
||||||
- env:
|
- env:
|
||||||
BUILD_NODE: hypervisor03
|
BUILD_NODE: hypervisor03
|
||||||
|
name: Eval hypervisor03
|
||||||
|
run: "nix-shell -A eval-nodes --run 'DRV=\"$(instantiate-node)\"\necho \"DRV=$DRV\"\
|
||||||
|
\ >> $GITHUB_ENV\n'"
|
||||||
|
- name: Build hypervisor03
|
||||||
|
run: "STORE_PATH=\"$(nix-store --realise \"$DRV\")\"\necho \"STORE_PATH=$STORE_PATH\"\
|
||||||
|
\ >> $GITHUB_ENV\n"
|
||||||
|
- env:
|
||||||
STORE_ENDPOINT: https://tvix-store.dgnum.eu/infra-signing/
|
STORE_ENDPOINT: https://tvix-store.dgnum.eu/infra-signing/
|
||||||
STORE_PASSWORD: ${{ secrets.STORE_PASSWORD }}
|
STORE_PASSWORD: ${{ secrets.STORE_PASSWORD }}
|
||||||
STORE_USER: admin
|
STORE_USER: admin
|
||||||
name: Build and cache hypervisor03
|
name: Cache hypervisor03
|
||||||
run: nix-shell -A eval-nodes --run cache-node
|
run: "nix-shell -A eval-nodes --run 'push-to-cache \"$STORE_PATH\"\n'"
|
||||||
netaccess01:
|
netaccess01:
|
||||||
runs-on: nix
|
runs-on: nix
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v3
|
- uses: actions/checkout@v3
|
||||||
- env:
|
- env:
|
||||||
BUILD_NODE: netaccess01
|
BUILD_NODE: netaccess01
|
||||||
|
name: Eval netaccess01
|
||||||
|
run: "nix-shell -A eval-nodes --run 'DRV=\"$(instantiate-node)\"\necho \"DRV=$DRV\"\
|
||||||
|
\ >> $GITHUB_ENV\n'"
|
||||||
|
- name: Build netaccess01
|
||||||
|
run: "STORE_PATH=\"$(nix-store --realise \"$DRV\")\"\necho \"STORE_PATH=$STORE_PATH\"\
|
||||||
|
\ >> $GITHUB_ENV\n"
|
||||||
|
- env:
|
||||||
STORE_ENDPOINT: https://tvix-store.dgnum.eu/infra-signing/
|
STORE_ENDPOINT: https://tvix-store.dgnum.eu/infra-signing/
|
||||||
STORE_PASSWORD: ${{ secrets.STORE_PASSWORD }}
|
STORE_PASSWORD: ${{ secrets.STORE_PASSWORD }}
|
||||||
STORE_USER: admin
|
STORE_USER: admin
|
||||||
name: Build and cache netaccess01
|
name: Cache netaccess01
|
||||||
run: nix-shell -A eval-nodes --run cache-node
|
run: "nix-shell -A eval-nodes --run 'push-to-cache \"$STORE_PATH\"\n'"
|
||||||
netcore00:
|
netcore00:
|
||||||
runs-on: nix
|
runs-on: nix
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v3
|
- uses: actions/checkout@v3
|
||||||
- env:
|
- env:
|
||||||
BUILD_NODE: netcore00
|
BUILD_NODE: netcore00
|
||||||
|
name: Eval netcore00
|
||||||
|
run: "nix-shell -A eval-nodes --run 'DRV=\"$(instantiate-node)\"\necho \"DRV=$DRV\"\
|
||||||
|
\ >> $GITHUB_ENV\n'"
|
||||||
|
- name: Build netcore00
|
||||||
|
run: "STORE_PATH=\"$(nix-store --realise \"$DRV\")\"\necho \"STORE_PATH=$STORE_PATH\"\
|
||||||
|
\ >> $GITHUB_ENV\n"
|
||||||
|
- env:
|
||||||
STORE_ENDPOINT: https://tvix-store.dgnum.eu/infra-signing/
|
STORE_ENDPOINT: https://tvix-store.dgnum.eu/infra-signing/
|
||||||
STORE_PASSWORD: ${{ secrets.STORE_PASSWORD }}
|
STORE_PASSWORD: ${{ secrets.STORE_PASSWORD }}
|
||||||
STORE_USER: admin
|
STORE_USER: admin
|
||||||
name: Build and cache netcore00
|
name: Cache netcore00
|
||||||
run: nix-shell -A eval-nodes --run cache-node
|
run: "nix-shell -A eval-nodes --run 'push-to-cache \"$STORE_PATH\"\n'"
|
||||||
netcore01:
|
netcore01:
|
||||||
runs-on: nix
|
runs-on: nix
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v3
|
- uses: actions/checkout@v3
|
||||||
- env:
|
- env:
|
||||||
BUILD_NODE: netcore01
|
BUILD_NODE: netcore01
|
||||||
|
name: Eval netcore01
|
||||||
|
run: "nix-shell -A eval-nodes --run 'DRV=\"$(instantiate-node)\"\necho \"DRV=$DRV\"\
|
||||||
|
\ >> $GITHUB_ENV\n'"
|
||||||
|
- name: Build netcore01
|
||||||
|
run: "STORE_PATH=\"$(nix-store --realise \"$DRV\")\"\necho \"STORE_PATH=$STORE_PATH\"\
|
||||||
|
\ >> $GITHUB_ENV\n"
|
||||||
|
- env:
|
||||||
STORE_ENDPOINT: https://tvix-store.dgnum.eu/infra-signing/
|
STORE_ENDPOINT: https://tvix-store.dgnum.eu/infra-signing/
|
||||||
STORE_PASSWORD: ${{ secrets.STORE_PASSWORD }}
|
STORE_PASSWORD: ${{ secrets.STORE_PASSWORD }}
|
||||||
STORE_USER: admin
|
STORE_USER: admin
|
||||||
name: Build and cache netcore01
|
name: Cache netcore01
|
||||||
run: nix-shell -A eval-nodes --run cache-node
|
run: "nix-shell -A eval-nodes --run 'push-to-cache \"$STORE_PATH\"\n'"
|
||||||
netcore02:
|
netcore02:
|
||||||
runs-on: nix
|
runs-on: nix
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v3
|
- uses: actions/checkout@v3
|
||||||
- env:
|
- env:
|
||||||
BUILD_NODE: netcore02
|
BUILD_NODE: netcore02
|
||||||
|
name: Eval netcore02
|
||||||
|
run: "nix-shell -A eval-nodes --run 'DRV=\"$(instantiate-node)\"\necho \"DRV=$DRV\"\
|
||||||
|
\ >> $GITHUB_ENV\n'"
|
||||||
|
- name: Build netcore02
|
||||||
|
run: "STORE_PATH=\"$(nix-store --realise \"$DRV\")\"\necho \"STORE_PATH=$STORE_PATH\"\
|
||||||
|
\ >> $GITHUB_ENV\n"
|
||||||
|
- env:
|
||||||
STORE_ENDPOINT: https://tvix-store.dgnum.eu/infra-signing/
|
STORE_ENDPOINT: https://tvix-store.dgnum.eu/infra-signing/
|
||||||
STORE_PASSWORD: ${{ secrets.STORE_PASSWORD }}
|
STORE_PASSWORD: ${{ secrets.STORE_PASSWORD }}
|
||||||
STORE_USER: admin
|
STORE_USER: admin
|
||||||
name: Build and cache netcore02
|
name: Cache netcore02
|
||||||
run: nix-shell -A eval-nodes --run cache-node
|
run: "nix-shell -A eval-nodes --run 'push-to-cache \"$STORE_PATH\"\n'"
|
||||||
rescue01:
|
rescue01:
|
||||||
runs-on: nix
|
runs-on: nix
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v3
|
- uses: actions/checkout@v3
|
||||||
- env:
|
- env:
|
||||||
BUILD_NODE: rescue01
|
BUILD_NODE: rescue01
|
||||||
|
name: Eval rescue01
|
||||||
|
run: "nix-shell -A eval-nodes --run 'DRV=\"$(instantiate-node)\"\necho \"DRV=$DRV\"\
|
||||||
|
\ >> $GITHUB_ENV\n'"
|
||||||
|
- name: Build rescue01
|
||||||
|
run: "STORE_PATH=\"$(nix-store --realise \"$DRV\")\"\necho \"STORE_PATH=$STORE_PATH\"\
|
||||||
|
\ >> $GITHUB_ENV\n"
|
||||||
|
- env:
|
||||||
STORE_ENDPOINT: https://tvix-store.dgnum.eu/infra-signing/
|
STORE_ENDPOINT: https://tvix-store.dgnum.eu/infra-signing/
|
||||||
STORE_PASSWORD: ${{ secrets.STORE_PASSWORD }}
|
STORE_PASSWORD: ${{ secrets.STORE_PASSWORD }}
|
||||||
STORE_USER: admin
|
STORE_USER: admin
|
||||||
name: Build and cache rescue01
|
name: Cache rescue01
|
||||||
run: nix-shell -A eval-nodes --run cache-node
|
run: "nix-shell -A eval-nodes --run 'push-to-cache \"$STORE_PATH\"\n'"
|
||||||
storage01:
|
storage01:
|
||||||
runs-on: nix
|
runs-on: nix
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v3
|
- uses: actions/checkout@v3
|
||||||
- env:
|
- env:
|
||||||
BUILD_NODE: storage01
|
BUILD_NODE: storage01
|
||||||
|
name: Eval storage01
|
||||||
|
run: "nix-shell -A eval-nodes --run 'DRV=\"$(instantiate-node)\"\necho \"DRV=$DRV\"\
|
||||||
|
\ >> $GITHUB_ENV\n'"
|
||||||
|
- name: Build storage01
|
||||||
|
run: "STORE_PATH=\"$(nix-store --realise \"$DRV\")\"\necho \"STORE_PATH=$STORE_PATH\"\
|
||||||
|
\ >> $GITHUB_ENV\n"
|
||||||
|
- env:
|
||||||
STORE_ENDPOINT: https://tvix-store.dgnum.eu/infra-signing/
|
STORE_ENDPOINT: https://tvix-store.dgnum.eu/infra-signing/
|
||||||
STORE_PASSWORD: ${{ secrets.STORE_PASSWORD }}
|
STORE_PASSWORD: ${{ secrets.STORE_PASSWORD }}
|
||||||
STORE_USER: admin
|
STORE_USER: admin
|
||||||
name: Build and cache storage01
|
name: Cache storage01
|
||||||
run: nix-shell -A eval-nodes --run cache-node
|
run: "nix-shell -A eval-nodes --run 'push-to-cache \"$STORE_PATH\"\n'"
|
||||||
tower01:
|
tower01:
|
||||||
runs-on: nix
|
runs-on: nix
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v3
|
- uses: actions/checkout@v3
|
||||||
- env:
|
- env:
|
||||||
BUILD_NODE: tower01
|
BUILD_NODE: tower01
|
||||||
|
name: Eval tower01
|
||||||
|
run: "nix-shell -A eval-nodes --run 'DRV=\"$(instantiate-node)\"\necho \"DRV=$DRV\"\
|
||||||
|
\ >> $GITHUB_ENV\n'"
|
||||||
|
- name: Build tower01
|
||||||
|
run: "STORE_PATH=\"$(nix-store --realise \"$DRV\")\"\necho \"STORE_PATH=$STORE_PATH\"\
|
||||||
|
\ >> $GITHUB_ENV\n"
|
||||||
|
- env:
|
||||||
STORE_ENDPOINT: https://tvix-store.dgnum.eu/infra-signing/
|
STORE_ENDPOINT: https://tvix-store.dgnum.eu/infra-signing/
|
||||||
STORE_PASSWORD: ${{ secrets.STORE_PASSWORD }}
|
STORE_PASSWORD: ${{ secrets.STORE_PASSWORD }}
|
||||||
STORE_USER: admin
|
STORE_USER: admin
|
||||||
name: Build and cache tower01
|
name: Cache tower01
|
||||||
run: nix-shell -A eval-nodes --run cache-node
|
run: "nix-shell -A eval-nodes --run 'push-to-cache \"$STORE_PATH\"\n'"
|
||||||
vault01:
|
vault01:
|
||||||
runs-on: nix
|
runs-on: nix
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v3
|
- uses: actions/checkout@v3
|
||||||
- env:
|
- env:
|
||||||
BUILD_NODE: vault01
|
BUILD_NODE: vault01
|
||||||
|
name: Eval vault01
|
||||||
|
run: "nix-shell -A eval-nodes --run 'DRV=\"$(instantiate-node)\"\necho \"DRV=$DRV\"\
|
||||||
|
\ >> $GITHUB_ENV\n'"
|
||||||
|
- name: Build vault01
|
||||||
|
run: "STORE_PATH=\"$(nix-store --realise \"$DRV\")\"\necho \"STORE_PATH=$STORE_PATH\"\
|
||||||
|
\ >> $GITHUB_ENV\n"
|
||||||
|
- env:
|
||||||
STORE_ENDPOINT: https://tvix-store.dgnum.eu/infra-signing/
|
STORE_ENDPOINT: https://tvix-store.dgnum.eu/infra-signing/
|
||||||
STORE_PASSWORD: ${{ secrets.STORE_PASSWORD }}
|
STORE_PASSWORD: ${{ secrets.STORE_PASSWORD }}
|
||||||
STORE_USER: admin
|
STORE_USER: admin
|
||||||
name: Build and cache vault01
|
name: Cache vault01
|
||||||
run: nix-shell -A eval-nodes --run cache-node
|
run: "nix-shell -A eval-nodes --run 'push-to-cache \"$STORE_PATH\"\n'"
|
||||||
web01:
|
web01:
|
||||||
runs-on: nix
|
runs-on: nix
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v3
|
- uses: actions/checkout@v3
|
||||||
- env:
|
- env:
|
||||||
BUILD_NODE: web01
|
BUILD_NODE: web01
|
||||||
|
name: Eval web01
|
||||||
|
run: "nix-shell -A eval-nodes --run 'DRV=\"$(instantiate-node)\"\necho \"DRV=$DRV\"\
|
||||||
|
\ >> $GITHUB_ENV\n'"
|
||||||
|
- name: Build web01
|
||||||
|
run: "STORE_PATH=\"$(nix-store --realise \"$DRV\")\"\necho \"STORE_PATH=$STORE_PATH\"\
|
||||||
|
\ >> $GITHUB_ENV\n"
|
||||||
|
- env:
|
||||||
STORE_ENDPOINT: https://tvix-store.dgnum.eu/infra-signing/
|
STORE_ENDPOINT: https://tvix-store.dgnum.eu/infra-signing/
|
||||||
STORE_PASSWORD: ${{ secrets.STORE_PASSWORD }}
|
STORE_PASSWORD: ${{ secrets.STORE_PASSWORD }}
|
||||||
STORE_USER: admin
|
STORE_USER: admin
|
||||||
name: Build and cache web01
|
name: Cache web01
|
||||||
run: nix-shell -A eval-nodes --run cache-node
|
run: "nix-shell -A eval-nodes --run 'push-to-cache \"$STORE_PATH\"\n'"
|
||||||
web02:
|
web02:
|
||||||
runs-on: nix
|
runs-on: nix
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v3
|
- uses: actions/checkout@v3
|
||||||
- env:
|
- env:
|
||||||
BUILD_NODE: web02
|
BUILD_NODE: web02
|
||||||
|
name: Eval web02
|
||||||
|
run: "nix-shell -A eval-nodes --run 'DRV=\"$(instantiate-node)\"\necho \"DRV=$DRV\"\
|
||||||
|
\ >> $GITHUB_ENV\n'"
|
||||||
|
- name: Build web02
|
||||||
|
run: "STORE_PATH=\"$(nix-store --realise \"$DRV\")\"\necho \"STORE_PATH=$STORE_PATH\"\
|
||||||
|
\ >> $GITHUB_ENV\n"
|
||||||
|
- env:
|
||||||
STORE_ENDPOINT: https://tvix-store.dgnum.eu/infra-signing/
|
STORE_ENDPOINT: https://tvix-store.dgnum.eu/infra-signing/
|
||||||
STORE_PASSWORD: ${{ secrets.STORE_PASSWORD }}
|
STORE_PASSWORD: ${{ secrets.STORE_PASSWORD }}
|
||||||
STORE_USER: admin
|
STORE_USER: admin
|
||||||
name: Build and cache web02
|
name: Cache web02
|
||||||
run: nix-shell -A eval-nodes --run cache-node
|
run: "nix-shell -A eval-nodes --run 'push-to-cache \"$STORE_PATH\"\n'"
|
||||||
web03:
|
web03:
|
||||||
runs-on: nix
|
runs-on: nix
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v3
|
- uses: actions/checkout@v3
|
||||||
- env:
|
- env:
|
||||||
BUILD_NODE: web03
|
BUILD_NODE: web03
|
||||||
|
name: Eval web03
|
||||||
|
run: "nix-shell -A eval-nodes --run 'DRV=\"$(instantiate-node)\"\necho \"DRV=$DRV\"\
|
||||||
|
\ >> $GITHUB_ENV\n'"
|
||||||
|
- name: Build web03
|
||||||
|
run: "STORE_PATH=\"$(nix-store --realise \"$DRV\")\"\necho \"STORE_PATH=$STORE_PATH\"\
|
||||||
|
\ >> $GITHUB_ENV\n"
|
||||||
|
- env:
|
||||||
STORE_ENDPOINT: https://tvix-store.dgnum.eu/infra-signing/
|
STORE_ENDPOINT: https://tvix-store.dgnum.eu/infra-signing/
|
||||||
STORE_PASSWORD: ${{ secrets.STORE_PASSWORD }}
|
STORE_PASSWORD: ${{ secrets.STORE_PASSWORD }}
|
||||||
STORE_USER: admin
|
STORE_USER: admin
|
||||||
name: Build and cache web03
|
name: Cache web03
|
||||||
run: nix-shell -A eval-nodes --run cache-node
|
run: "nix-shell -A eval-nodes --run 'push-to-cache \"$STORE_PATH\"\n'"
|
||||||
name: Build all the nodes
|
name: Build all the nodes
|
||||||
on:
|
on:
|
||||||
pull_request:
|
pull_request:
|
||||||
|
|
|
@ -250,7 +250,10 @@ in
|
||||||
passthru = mapAttrs (name: value: pkgs.mkShell (value // { inherit name; })) {
|
passthru = mapAttrs (name: value: pkgs.mkShell (value // { inherit name; })) {
|
||||||
pre-commit.shellHook = git-checks.shellHook;
|
pre-commit.shellHook = git-checks.shellHook;
|
||||||
check-workflows.shellHook = workflows.shellHook;
|
check-workflows.shellHook = workflows.shellHook;
|
||||||
eval-nodes.packages = [ scripts.cache-node ];
|
eval-nodes.packages = [
|
||||||
|
scripts.instantiate-node
|
||||||
|
scripts.push-to-cache
|
||||||
|
];
|
||||||
eval-shell.packages = [ scripts.nix-build-and-cache ];
|
eval-shell.packages = [ scripts.nix-build-and-cache ];
|
||||||
npins-shell.packages = [ pkgs.npins ];
|
npins-shell.packages = [ pkgs.npins ];
|
||||||
};
|
};
|
||||||
|
|
|
@ -8,31 +8,5 @@ set -o nounset
|
||||||
set -o pipefail
|
set -o pipefail
|
||||||
shopt -s lastpipe
|
shopt -s lastpipe
|
||||||
|
|
||||||
# Remove the `nixpkgs=` default input.
|
|
||||||
export NIX_PATH="nixpkgs="
|
|
||||||
|
|
||||||
system_type="$(colmena eval -E "{ nodes, ... }: nodes.${BUILD_NODE}.config.deployment.systemType" --show-trace)"
|
|
||||||
# Get rid of surrounding quotes.
|
|
||||||
system_type="${system_type%\"}"
|
|
||||||
system_type="${system_type#\"}"
|
|
||||||
|
|
||||||
case "$system_type" in
|
|
||||||
nixos)
|
|
||||||
toplevel_path="config.system.build.toplevel"
|
|
||||||
;;
|
|
||||||
zyxel-nwa50ax)
|
|
||||||
toplevel_path="config.system.outputs.zyxel-nwa-fit"
|
|
||||||
;;
|
|
||||||
netconf)
|
|
||||||
toplevel_path="config.netconf.rpc"
|
|
||||||
;;
|
|
||||||
*)
|
|
||||||
echo "Unsupported system type '$system_type' for caching; add an entry in 'scripts/cache-node.sh'"
|
|
||||||
exit 1
|
|
||||||
;;
|
|
||||||
esac
|
|
||||||
|
|
||||||
drv=$(colmena eval --instantiate -E "{ nodes, ... }: nodes.${BUILD_NODE}.${toplevel_path}" --show-trace)
|
|
||||||
|
|
||||||
# Build the derivation and send it to the great beyond
|
# Build the derivation and send it to the great beyond
|
||||||
push-to-cache "$(nix-store --realise "$drv")"
|
push-to-cache "$(nix-store --realise "$(instantiate-node)")"
|
||||||
|
|
|
@ -20,8 +20,9 @@ let
|
||||||
;
|
;
|
||||||
|
|
||||||
scripts = {
|
scripts = {
|
||||||
|
instantiate-node = [ colmena ];
|
||||||
cache-node = [
|
cache-node = [
|
||||||
colmena
|
self.instantiate-node
|
||||||
self.push-to-cache
|
self.push-to-cache
|
||||||
];
|
];
|
||||||
push-to-cache = [ ];
|
push-to-cache = [ ];
|
||||||
|
|
35
scripts/instantiate-node.sh
Executable file
35
scripts/instantiate-node.sh
Executable file
|
@ -0,0 +1,35 @@
|
||||||
|
# SPDX-FileCopyrightText: 2024 Ryan Lahfa <ryan.lahfa@dgnum.eu>
|
||||||
|
# SPDX-FileCopyrightText: 2024 Tom Hubrecht <tom.hubrecht@dgnum.eu>
|
||||||
|
#
|
||||||
|
# SPDX-License-Identifier: EUPL-1.2
|
||||||
|
|
||||||
|
set -o errexit
|
||||||
|
set -o nounset
|
||||||
|
set -o pipefail
|
||||||
|
shopt -s lastpipe
|
||||||
|
|
||||||
|
# Remove the `nixpkgs=` default input.
|
||||||
|
export NIX_PATH="nixpkgs="
|
||||||
|
|
||||||
|
system_type="$(colmena eval -E "{ nodes, ... }: nodes.${BUILD_NODE}.config.deployment.systemType" --show-trace)"
|
||||||
|
# Get rid of surrounding quotes.
|
||||||
|
system_type="${system_type%\"}"
|
||||||
|
system_type="${system_type#\"}"
|
||||||
|
|
||||||
|
case "$system_type" in
|
||||||
|
nixos)
|
||||||
|
toplevel_path="config.system.build.toplevel"
|
||||||
|
;;
|
||||||
|
zyxel-nwa50ax)
|
||||||
|
toplevel_path="config.system.outputs.zyxel-nwa-fit"
|
||||||
|
;;
|
||||||
|
netconf)
|
||||||
|
toplevel_path="config.netconf.rpc"
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
echo "Unsupported system type '$system_type' for caching; add an entry in 'scripts/cache-node.sh'"
|
||||||
|
exit 1
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
|
||||||
|
colmena eval --instantiate -E "{ nodes, ... }: nodes.${BUILD_NODE}.${toplevel_path}" --show-trace
|
|
@ -22,16 +22,36 @@ in
|
||||||
steps = [
|
steps = [
|
||||||
{ uses = "actions/checkout@v3"; }
|
{ uses = "actions/checkout@v3"; }
|
||||||
{
|
{
|
||||||
name = "Build and cache ${node}";
|
name = "Eval ${node}";
|
||||||
run = nix-actions.lib.nix-shell {
|
run = nix-actions.lib.nix-shell {
|
||||||
script = "cache-node";
|
script = ''
|
||||||
|
DRV="$(instantiate-node)"
|
||||||
|
echo "DRV=$DRV" >> $GITHUB_ENV
|
||||||
|
'';
|
||||||
|
shell = "eval-nodes";
|
||||||
|
};
|
||||||
|
env.BUILD_NODE = node;
|
||||||
|
}
|
||||||
|
{
|
||||||
|
name = "Build ${node}";
|
||||||
|
run = # bash
|
||||||
|
''
|
||||||
|
STORE_PATH="$(nix-store --realise "$DRV")"
|
||||||
|
echo "STORE_PATH=$STORE_PATH" >> $GITHUB_ENV
|
||||||
|
'';
|
||||||
|
}
|
||||||
|
{
|
||||||
|
name = "Cache ${node}";
|
||||||
|
run = nix-actions.lib.nix-shell {
|
||||||
|
script = ''
|
||||||
|
push-to-cache "$STORE_PATH"
|
||||||
|
'';
|
||||||
shell = "eval-nodes";
|
shell = "eval-nodes";
|
||||||
};
|
};
|
||||||
env = {
|
env = {
|
||||||
STORE_ENDPOINT = "https://tvix-store.dgnum.eu/infra-signing/";
|
STORE_ENDPOINT = "https://tvix-store.dgnum.eu/infra-signing/";
|
||||||
STORE_USER = "admin";
|
STORE_USER = "admin";
|
||||||
STORE_PASSWORD = nix-actions.lib.secret "STORE_PASSWORD";
|
STORE_PASSWORD = nix-actions.lib.secret "STORE_PASSWORD";
|
||||||
BUILD_NODE = node;
|
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
];
|
];
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue