70 lines
2.3 KiB
YAML
70 lines
2.3 KiB
YAML
name: Nix CI
|
|
|
|
on:
|
|
push:
|
|
pull_request:
|
|
|
|
jobs:
|
|
flake-check:
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
- uses: DeterminateSystems/nix-installer-action@v11
|
|
- uses: DeterminateSystems/magic-nix-cache-action@v8
|
|
- name: Nix flake check
|
|
run: nix flake check --accept-flake-config
|
|
|
|
build-servers:
|
|
runs-on: ubuntu-latest
|
|
needs: flake-check
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
- uses: DeterminateSystems/nix-installer-action@v11
|
|
- uses: DeterminateSystems/magic-nix-cache-action@v8
|
|
- name: Build server packages
|
|
run: |
|
|
nix build --accept-flake-config .#chainfire-server .#flaredb-server .#iam-server .#plasmavmc-server .#prismnet-server .#flashdns-server .#fiberlb-server .#lightningstor-server .#creditservice-server
|
|
|
|
integration-matrix:
|
|
runs-on: ubuntu-latest
|
|
needs: build-servers
|
|
env:
|
|
PLASMA_E2E: "1"
|
|
# SKIP_PLASMA defaults to 0; set repo/runner var to 1 only when qemu-img/KVM is unavailable.
|
|
SKIP_PLASMA: ${{ vars.SKIP_PLASMA || '0' }}
|
|
LOG_DIR: .cccc/work/integration-matrix/${{ github.run_id }}
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
- uses: DeterminateSystems/nix-installer-action@v11
|
|
- uses: DeterminateSystems/magic-nix-cache-action@v8
|
|
- name: Run integration matrix (Noop hypervisor gate)
|
|
run: |
|
|
nix develop -c ./scripts/integration-matrix.sh
|
|
- name: Upload integration-matrix logs
|
|
if: always()
|
|
uses: actions/upload-artifact@v4
|
|
with:
|
|
name: integration-matrix-logs
|
|
path: .cccc/work/integration-matrix/
|
|
|
|
integration-matrix-kvm:
|
|
if: ${{ vars.NESTED_KVM == '1' }}
|
|
runs-on: ubuntu-latest
|
|
needs: integration-matrix
|
|
env:
|
|
PLASMA_E2E: "1"
|
|
SKIP_PLASMA: "0"
|
|
LOG_DIR: .cccc/work/integration-matrix-kvm/${{ github.run_id }}
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
- uses: DeterminateSystems/nix-installer-action@v11
|
|
- uses: DeterminateSystems/magic-nix-cache-action@v8
|
|
- name: Run integration matrix (KVM lane)
|
|
run: |
|
|
nix develop -c ./scripts/integration-matrix.sh
|
|
- name: Upload integration-matrix-kvm logs
|
|
if: always()
|
|
uses: actions/upload-artifact@v4
|
|
with:
|
|
name: integration-matrix-kvm-logs
|
|
path: .cccc/work/integration-matrix-kvm/
|