build(deps): bump the all-updates group across 1 directory with 14 up… #3851
Workflow file for this run
This file contains hidden or 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
| name: CI | |
| on: | |
| push: | |
| branches: | |
| - "**" | |
| pull_request: | |
| branches: | |
| - "**" | |
| workflow_dispatch: | |
| permissions: | |
| contents: read | |
| issues: write | |
| security-events: write | |
| env: | |
| CARGO_TERM_COLOR: always | |
| RUSTFLAGS: "-Dwarnings" | |
| CARGO_ENCODED_RUSTFLAGS: "-Dwarnings" | |
| CARGO_INCREMENTAL: 0 | |
| SQLX_OFFLINE: true | |
| NEXT_TELEMETRY_DISABLED: 1 | |
| jobs: | |
| fmt: | |
| name: Formatting | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - uses: dtolnay/rust-toolchain@stable | |
| with: | |
| components: rustfmt | |
| - run: cargo fmt --all -- --check | |
| clippy: | |
| name: Clippy | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - uses: dtolnay/rust-toolchain@stable | |
| with: | |
| components: clippy | |
| - uses: Swatinem/rust-cache@v2 | |
| - run: cargo clippy --workspace --all-targets --no-deps -- -D warnings | |
| check: | |
| name: Cargo Check | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - uses: dtolnay/rust-toolchain@stable | |
| - uses: Swatinem/rust-cache@v2 | |
| - run: cargo check --workspace --all-targets --all-features | |
| check-msrv: | |
| name: Cargo Check (MSRV 1.80) | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - uses: dtolnay/rust-toolchain@1.80.0 | |
| - uses: Swatinem/rust-cache@v2 | |
| - run: cargo check --workspace --all-targets --all-features | |
| audit: | |
| name: Security Audit | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - uses: dtolnay/rust-toolchain@stable | |
| - uses: Swatinem/rust-cache@v2 | |
| - name: Install cargo-audit | |
| run: cargo install cargo-audit --locked | |
| - name: Run cargo audit | |
| run: cargo audit | |
| deny: | |
| name: Cargo Deny | |
| runs-on: ubuntu-latest | |
| env: | |
| CARGO_HOME: ${{ github.workspace }}/.cargo | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - name: Clean cargo-deny advisory db cache | |
| run: | | |
| rm -rf "$CARGO_HOME/advisory-dbs" || true | |
| rm -rf "$CARGO_HOME"/advisory-db-empty-* || true | |
| shell: bash | |
| - uses: EmbarkStudios/cargo-deny-action@v2 | |
| with: | |
| command: check | |
| arguments: --all-features | |
| manifest-path: ./Cargo.toml | |
| log-level: warn | |
| typos: | |
| name: Spell Check (Typos) | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - uses: crate-ci/typos@master | |
| doc: | |
| name: Documentation | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - uses: dtolnay/rust-toolchain@stable | |
| - run: cargo doc --no-deps --all-features --workspace | |
| env: | |
| RUSTDOCFLAGS: "-D warnings" | |
| udeps: | |
| name: Unused Dependencies | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - uses: dtolnay/rust-toolchain@nightly | |
| - uses: Swatinem/rust-cache@v2 | |
| - name: Install cargo-udeps | |
| run: cargo install cargo-udeps --locked | |
| - run: cargo udeps --workspace --all-targets --all-features | |
| machete: | |
| name: Cargo Machete | |
| runs-on: ubuntu-latest | |
| continue-on-error: true | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - uses: dtolnay/rust-toolchain@stable | |
| - uses: Swatinem/rust-cache@v2 | |
| - name: Install cargo-machete | |
| run: cargo install cargo-machete --locked | |
| - run: cargo machete | |
| coverage: | |
| name: Code Coverage | |
| runs-on: ubuntu-latest | |
| needs: build-crates | |
| services: | |
| postgres: | |
| image: postgres:16 | |
| env: | |
| POSTGRES_USER: postgres | |
| POSTGRES_PASSWORD: postgres | |
| POSTGRES_DB: rustok_test | |
| ports: | |
| - 5432:5432 | |
| options: >- | |
| --health-cmd pg_isready | |
| --health-interval 10s | |
| --health-timeout 5s | |
| --health-retries 5 | |
| env: | |
| DATABASE_URL: postgres://postgres:postgres@localhost:5432/rustok_test | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - uses: dtolnay/rust-toolchain@stable | |
| with: | |
| components: llvm-tools-preview | |
| - uses: Swatinem/rust-cache@v2 | |
| - name: Install cargo-llvm-cov | |
| run: cargo install cargo-llvm-cov --locked | |
| - run: cargo llvm-cov --workspace --all-features --lcov --output-path lcov.info | |
| build-crates: | |
| name: Build Crates | |
| runs-on: ubuntu-latest | |
| needs: check | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - uses: dtolnay/rust-toolchain@stable | |
| - uses: Swatinem/rust-cache@v2 | |
| - run: cargo build -p rustok-core | |
| - run: cargo build -p rustok-commerce | |
| - run: cargo build -p rustok-blog | |
| build-server: | |
| name: Build Server (Loco) | |
| runs-on: ubuntu-latest | |
| needs: build-crates | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - uses: dtolnay/rust-toolchain@stable | |
| - uses: Swatinem/rust-cache@v2 | |
| - run: cargo build -p rustok-server | |
| build-storefront: | |
| name: Build Storefront | |
| runs-on: ubuntu-latest | |
| needs: build-crates | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - uses: dtolnay/rust-toolchain@stable | |
| - uses: Swatinem/rust-cache@v2 | |
| - run: cargo build -p rustok-storefront | |
| test: | |
| name: Tests (Nextest) | |
| runs-on: ubuntu-latest | |
| needs: build-crates | |
| services: | |
| postgres: | |
| image: postgres:16 | |
| env: | |
| POSTGRES_USER: postgres | |
| POSTGRES_PASSWORD: postgres | |
| POSTGRES_DB: rustok_test | |
| ports: | |
| - 5432:5432 | |
| options: >- | |
| --health-cmd pg_isready | |
| --health-interval 10s | |
| --health-timeout 5s | |
| --health-retries 5 | |
| env: | |
| DATABASE_URL: postgres://postgres:postgres@localhost:5432/rustok_test | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - uses: dtolnay/rust-toolchain@stable | |
| - uses: Swatinem/rust-cache@v2 | |
| - name: Install cargo-nextest | |
| run: cargo install cargo-nextest --locked | |
| - run: cargo nextest run --workspace --all-targets --all-features | |
| doc-tests: | |
| name: Doc Tests | |
| runs-on: ubuntu-latest | |
| needs: build-crates | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - uses: dtolnay/rust-toolchain@stable | |
| - uses: Swatinem/rust-cache@v2 | |
| - run: cargo test --workspace --doc --all-features | |
| next-apps: | |
| name: Next.js (${{ matrix.app }}) | |
| runs-on: ubuntu-latest | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| app: | |
| - apps/next-frontend | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - uses: actions/setup-node@v4 | |
| with: | |
| node-version: 20 | |
| cache: npm | |
| cache-dependency-path: ${{ matrix.app }}/package.json | |
| - name: Install dependencies | |
| working-directory: ${{ matrix.app }} | |
| run: npm install | |
| - name: Lint | |
| working-directory: ${{ matrix.app }} | |
| run: npm run lint | |
| - name: Typecheck | |
| working-directory: ${{ matrix.app }} | |
| run: npm run typecheck | |
| - name: Build | |
| working-directory: ${{ matrix.app }} | |
| run: npm run build | |
| loco-docs-snapshot: | |
| name: Loco Docs Snapshot Freshness | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - name: Validate Loco upstream snapshot | |
| run: make docs-check-loco | |
| server-library-docs-snapshot: | |
| name: Server Library Docs Snapshot Freshness | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - name: Validate server library docs snapshot | |
| run: make docs-check-server-libs | |
| ci-success: | |
| name: CI Success | |
| runs-on: ubuntu-latest | |
| needs: [fmt, clippy, check, check-msrv, audit, deny, typos, doc, udeps, coverage, build-server, build-storefront, test, doc-tests, next-apps, loco-docs-snapshot, server-library-docs-snapshot] | |
| if: always() | |
| steps: | |
| - name: Check all jobs | |
| run: | | |
| if [[ "${{ needs.fmt.result }}" != "success" ]] || \ | |
| [[ "${{ needs.clippy.result }}" != "success" ]] || \ | |
| [[ "${{ needs.check.result }}" != "success" ]] || \ | |
| [[ "${{ needs.check-msrv.result }}" != "success" ]] || \ | |
| [[ "${{ needs.audit.result }}" != "success" ]] || \ | |
| [[ "${{ needs.deny.result }}" != "success" ]] || \ | |
| [[ "${{ needs.typos.result }}" != "success" ]] || \ | |
| [[ "${{ needs.doc.result }}" != "success" ]] || \ | |
| [[ "${{ needs.udeps.result }}" != "success" ]] || \ | |
| [[ "${{ needs.coverage.result }}" != "success" ]] || \ | |
| [[ "${{ needs.build-server.result }}" != "success" ]] || \ | |
| [[ "${{ needs.build-storefront.result }}" != "success" ]] || \ | |
| [[ "${{ needs.test.result }}" != "success" ]] || \ | |
| [[ "${{ needs.doc-tests.result }}" != "success" ]] || \ | |
| [[ "${{ needs.next-apps.result }}" != "success" ]] || \ | |
| [[ "${{ needs.loco-docs-snapshot.result }}" != "success" ]] || \ | |
| [[ "${{ needs.server-library-docs-snapshot.result }}" != "success" ]]; then | |
| echo "One or more jobs failed" | |
| exit 1 | |
| fi | |
| echo "All checks passed!" |