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/