name: mod-registry # The submission service is its own workspace (crates/horizon-mod-registry), so the checks job doesn't build # it: this one does, when it or horizon-mods (the checks it shares with the launcher and the game) changes. on: push: branches: [main] paths: - 'crates/horizon-mods/**' - 'crates/horizon-mod-registry/**' - '.github/workflows/mod-registry.yml' pull_request: paths: - 'crates/horizon-mods/**' - 'crates/horizon-mod-registry/**' - '.github/workflows/mod-registry.yml' permissions: contents: read jobs: check: runs-on: ubuntu-latest timeout-minutes: 20 defaults: run: working-directory: crates/horizon-mod-registry steps: - uses: actions/checkout@v4 - run: rustup toolchain install stable --profile minimal --component rustfmt --component clippy - uses: Swatinem/rust-cache@v2 with: workspaces: crates/horizon-mod-registry save-if: ${{ github.ref == 'refs/heads/main' }} - run: cargo +stable fmt --check - run: cargo +stable clippy --all-targets --locked -- -D warnings - run: cargo +stable test --locked