Skip to content

refactor facade to fully live inside UI thread #1535

refactor facade to fully live inside UI thread

refactor facade to fully live inside UI thread #1535

Workflow file for this run

name: "CI"
on:
push:
pull_request:
pull_request_target:
jobs:
lint:
name: Run formatting and linting checks
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v5
- uses: cachix/install-nix-action@v31
with:
nix_path: nixpkgs=channel:nixos-unstable
extra_nix_config: |
extra-platforms = ${{ inputs.target_triple }}
- name: Prefetch lint script dependencies
run: nix build .#lint-script
- name: Run lint script
run: nix run .#lint-script
cargo-machete:
name: Check for unused dependencies
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v6
- uses: bnjbvr/cargo-machete@v0.9.2
ci-x86_64-linux:
uses: ./.github/workflows/ci-unix.yml
with:
build_runner: ubuntu-latest
e2e_test_runner: ubuntu-latest
target_triple: x86_64-linux
do_e2e_tests: true
use_cachix: ${{ github.event_name == 'push' }}
secrets: inherit
ci-aarch64-linux:
uses: ./.github/workflows/ci-unix.yml
with:
build_runner: ubuntu-latest
target_triple: aarch64-linux
do_e2e_tests: false
use_cachix: ${{ github.event_name == 'push' }}
secrets: inherit
ci-darwin:
name: CI ${{ matrix.target }}
runs-on: ${{ matrix.runner }}
strategy:
fail-fast: false
matrix:
include:
- name: macOS Intel (x86_64)
runner: macos-15-intel
target: x86_64-darwin
rustTarget: x86_64-apple-darwin
- name: macOS Apple Silicon (arm64)
runner: macos-latest
target: aarch64-darwin
rustTarget: aarch64-apple-darwin
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Install Rust toolchain
uses: dtolnay/rust-toolchain@stable
with:
targets: ${{ matrix.rustTarget }}
- name: Cache cargo
uses: Swatinem/rust-cache@v2
- name: Test (release)
run: cargo test --release
- name: Build (release)
run: cargo build --release
- name: Prepare artifact
run: |
cp target/release/caligula caligula
- name: Test binary
run: |
./caligula --help
- name: Upload artifact
uses: actions/upload-artifact@v4
with:
name: caligula-${{ matrix.target }}
path: caligula
ci-devshell:
strategy:
matrix:
include:
- runner: macos-latest
platform: x86_64-darwin
- runner: ubuntu-latest
platform: x86_64-linux
runs-on: ${{ matrix.runner }}
steps:
- uses: actions/checkout@v5
- uses: cachix/install-nix-action@v31
with:
nix_path: nixpkgs=channel:nixos-unstable
- uses: cachix/cachix-action@v16
if: ${{ github.event_name == 'push' }}
with:
name: astralbijection
authToken: "${{ secrets.CACHIX_AUTH_TOKEN }}"
- name: Build dev shell
run: nix build .#devShells.${{ matrix.platform }}.default --show-trace --log-lines 10000 --fallback
make-release-group:
runs-on: ubuntu-latest
needs:
- ci-aarch64-linux
- ci-x86_64-linux
- ci-darwin
steps:
- name: Download all artifacts
uses: actions/download-artifact@v5
- name: Assemble release directory
run: |
mkdir release
for i in caligula-*; do
cp "$i/caligula" "release/$i"
done
tree
- uses: actions/upload-artifact@v4
with:
name: release
path: release