Some checks failed
CI / Build (ubuntu-latest) (push) Waiting to run
CI / Build (windows-latest) (push) Waiting to run
CI / Flake checks (push) Waiting to run
CI / CI Release gate (push) Blocked by required conditions
Docker / Build image (push) Waiting to run
Docker / Docker Release gate (push) Blocked by required conditions
Docker / Push image (push) Blocked by required conditions
Clippy / Run scan (push) Has been cancelled
79 lines
1.7 KiB
YAML
79 lines
1.7 KiB
YAML
name: CI
|
|
|
|
on:
|
|
push:
|
|
branches: [main]
|
|
pull_request:
|
|
workflow_dispatch:
|
|
|
|
jobs:
|
|
build:
|
|
name: Build (${{ matrix.os }})
|
|
|
|
strategy:
|
|
fail-fast: false
|
|
matrix:
|
|
include:
|
|
- os: ubuntu-latest
|
|
use-nix: true
|
|
- os: windows-latest
|
|
use-nix: false
|
|
|
|
runs-on: ${{ matrix.os }}
|
|
|
|
steps:
|
|
- name: Checkout repository
|
|
uses: actions/checkout@v4
|
|
|
|
- name: Install Rust
|
|
if: ${{ !matrix.use-nix }}
|
|
uses: actions-rust-lang/setup-rust-toolchain@v1
|
|
|
|
- name: Install Nix
|
|
if: ${{ matrix.use-nix }}
|
|
uses: DeterminateSystems/nix-installer-action@v17
|
|
|
|
- name: Setup Nix cache
|
|
if: ${{ matrix.use-nix }}
|
|
uses: DeterminateSystems/magic-nix-cache-action@v9
|
|
|
|
- name: Build
|
|
if: ${{ !matrix.use-nix }}
|
|
run: cargo build --locked
|
|
|
|
- name: Build
|
|
if: ${{ matrix.use-nix }}
|
|
run: nix build --print-build-logs .#refraction-debug
|
|
|
|
flake:
|
|
name: Flake checks
|
|
|
|
runs-on: ubuntu-latest
|
|
|
|
steps:
|
|
- name: Checkout repository
|
|
uses: actions/checkout@v4
|
|
|
|
- name: Install Nix
|
|
uses: DeterminateSystems/nix-installer-action@v17
|
|
|
|
- name: Setup Nix cache
|
|
uses: DeterminateSystems/magic-nix-cache-action@v9
|
|
|
|
- name: Run checks
|
|
run: |
|
|
nix flake check --print-build-logs --show-trace
|
|
|
|
# Make sure all above jobs finished successfully
|
|
release-gate:
|
|
name: CI Release gate
|
|
needs: [build, flake]
|
|
|
|
if: ${{ always() }}
|
|
|
|
runs-on: ubuntu-latest
|
|
|
|
steps:
|
|
- name: Exit with error
|
|
if: ${{ contains(needs.*.result, 'failure') || contains(needs.*.result, 'cancelled') }}
|
|
run: exit 1
|