name: Backend CI on: push: branches: - master paths: - ".github/workflows/backend*" - "backend/**" - "!frontend/**" pull_request: paths: - ".github/workflows/backend*" - "backend/**" - "!frontend/**" concurrency: group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }} cancel-in-progress: true env: CARGO_TERM_COLOR: always defaults: run: working-directory: ./backend jobs: check: name: Check Code runs-on: ubuntu-latest steps: - name: Checkout sources uses: actions/checkout@v4 - name: Install Rust stable toolchain uses: actions-rs/toolchain@v1 with: profile: minimal toolchain: stable override: true - name: Rust Cache uses: Swatinem/rust-cache@23bce251a8cd2ffc3c1075eaa2367cf899916d84 # v2.7.3 with: workspaces: backend - name: Build run: cargo check --all-targets --verbose tests: name: Run tests runs-on: ubuntu-latest steps: - name: Checkout sources uses: actions/checkout@v4 - name: Install Rust stable toolchain uses: actions-rs/toolchain@v1 with: profile: minimal toolchain: stable override: true - name: Rust Cache uses: Swatinem/rust-cache@23bce251a8cd2ffc3c1075eaa2367cf899916d84 # v2.7.3 with: workspaces: backend cache-on-failure: true - name: Cargo test run: cargo test --verbose --jobs 1 docs: name: Check Documentation runs-on: ubuntu-latest steps: - name: Checkout sources uses: actions/checkout@v4 - name: Install Rust stable toolchain uses: actions-rs/toolchain@v1 with: profile: minimal toolchain: stable override: true - name: Rust Cache uses: Swatinem/rust-cache@23bce251a8cd2ffc3c1075eaa2367cf899916d84 # v2.7.3 with: workspaces: backend - name: Check internal documentation links run: RUSTDOCFLAGS="--deny broken_intra_doc_links" cargo doc --verbose --workspace --no-deps --document-private-items fmt: name: Run rustfmt runs-on: ubuntu-latest steps: - name: Checkout sources uses: actions/checkout@v4 - name: Install Rust stable toolchain uses: actions-rs/toolchain@v1 with: profile: minimal toolchain: stable override: true components: clippy, rustfmt - name: Cargo fmt run: cargo fmt --verbose --all -- --check