Refactor frontend #382
Workflow file for this run
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# yaml-language-server: $schema=https://json.schemastore.org/github-workflow | |
name: continuous-integration | |
permissions: | |
contents: read | |
on: | |
pull_request: | |
push: | |
branches: | |
- main | |
workflow_dispatch: | |
env: | |
CARGO_INCREMENTAL: 0 | |
CARGO_TERM_COLOR: always | |
RUST_BACKTRACE: short | |
jobs: | |
continuous-integration: | |
name: Building project and running tests | |
runs-on: ${{ matrix.runner_os }} | |
strategy: | |
matrix: | |
target: | |
- x86_64-unknown-linux-musl | |
include: | |
- target: x86_64-unknown-linux-musl | |
runner_os: ubuntu-latest | |
steps: | |
- name: Install dependencies for `musl libc` on Linux | |
if: matrix.target == 'x86_64-unknown-linux-musl' | |
run: | | |
sudo apt -y install musl-tools | |
- name: Install Rust toolchains for both native target and WASM | |
uses: dtolnay/rust-toolchain@master | |
with: | |
toolchain: stable | |
targets: ${{ matrix.target }}, wasm32-unknown-unknown | |
- name: Check out repository | |
uses: actions/checkout@v4 | |
- name: Cache Rust toolchain and build artifacts | |
uses: Swatinem/rust-cache@v2 | |
with: | |
# Distinguished by the action name to avoid sharing across different actions! | |
shared-key: "continuous-integration" | |
- name: Install Trunk for building the webapp | |
run: | | |
cargo install --locked trunk | |
- name: Check ofdb-application crate | |
run: | | |
cargo check --locked --all-targets --all-features --manifest-path ofdb-application/Cargo.toml | |
- name: Check ofdb-entities crate | |
run: | | |
cargo check --locked --all-targets --all-features --manifest-path ofdb-entities/Cargo.toml | |
- name: Check ofdb-core crate | |
run: | | |
cargo check --locked --all-targets --all-features --manifest-path ofdb-core/Cargo.toml | |
- name: Check ofdb-db-sqlite crate | |
run: | | |
cargo check --locked --all-targets --all-features --manifest-path ofdb-db-sqlite/Cargo.toml | |
- name: Check ofdb-db-tantivy crate | |
run: | | |
cargo check --locked --all-targets --all-features --manifest-path ofdb-db-tantivy/Cargo.toml | |
- name: Check ofdb-boundary crate | |
run: | | |
cargo check --locked --all-targets --all-features --manifest-path ofdb-boundary/Cargo.toml | |
- name: Check ofdb-frontend-api crate | |
run: | | |
cargo check --locked --all-targets --all-features --manifest-path ofdb-frontend-api/Cargo.toml | |
- name: Check ofdb-gateways crate | |
run: | | |
cargo check --locked --all-targets --all-features --manifest-path ofdb-gateways/Cargo.toml | |
- name: Check ofdb-webserver crate | |
run: | | |
cargo check --locked --all-targets --all-features --manifest-path ofdb-webserver/Cargo.toml | |
- name: Check ofdb-app-clearance crate | |
run: | | |
cargo check --locked --all-targets --all-features --manifest-path ofdb-app-clearance/Cargo.toml | |
- name: Build workspace tests | |
uses: actions-rs/cargo@v1 | |
with: | |
command: test | |
args: --locked --workspace --all-targets --all-features --no-run | |
- name: Build tests with default features | |
run: | | |
cargo test --locked --workspace --all-targets --no-run | |
- name: Run tests with default features | |
run: | | |
cargo test --locked --workspace --all-targets -- --nocapture --quiet |