diff --git a/.github/workflows/ci-bootstrap.yml b/.github/workflows/ci-bootstrap.yml index bf80656..9323d05 100644 --- a/.github/workflows/ci-bootstrap.yml +++ b/.github/workflows/ci-bootstrap.yml @@ -27,6 +27,7 @@ jobs: bootstrap: name: Bootstrap runs-on: ubuntu-24.04 + timeout-minutes: 30 steps: - uses: actions/checkout@v7 - name: Install toolchain diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 2537820..5e76882 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -36,9 +36,10 @@ jobs: check: name: Check runs-on: ubuntu-24.04 + timeout-minutes: 30 steps: - uses: actions/checkout@v7 - - name: Install toolchain + - name: Install nightly toolchain uses: dtolnay/rust-toolchain@nightly with: components: rustfmt,clippy @@ -51,6 +52,7 @@ jobs: msrv: name: Resolve MSRV runs-on: ubuntu-24.04 + timeout-minutes: 30 outputs: rust-versions: ${{ steps.metadata.outputs.rust-versions }} steps: @@ -65,10 +67,12 @@ jobs: name: Run tests needs: msrv strategy: + fail-fast: false matrix: os: [ ubuntu-24.04, macos-14, windows-2022 ] rust-version: ${{ fromJson(needs.msrv.outputs.rust-versions) }} runs-on: ${{ matrix.os }} + timeout-minutes: 30 steps: - uses: actions/checkout@v7 - uses: Swatinem/rust-cache@v2 @@ -85,6 +89,7 @@ jobs: required: name: Required runs-on: ubuntu-24.04 + timeout-minutes: 30 if: ${{ always() }} needs: - check diff --git a/taplo.toml b/taplo.toml index 8bb3198..ebbb309 100644 --- a/taplo.toml +++ b/taplo.toml @@ -12,7 +12,7 @@ # See the License for the specific language governing permissions and # limitations under the License. -exclude = ["target"] +exclude = ["target/**"] include = ["Cargo.toml", "**/*.toml"] [formatting] diff --git a/xtask/src/main.rs b/xtask/src/main.rs index 0b1f7f7..4602bed 100644 --- a/xtask/src/main.rs +++ b/xtask/src/main.rs @@ -106,6 +106,7 @@ impl CommandLint { run_command(make_taplo_cmd(self.fix)); run_command(make_typos_cmd()); run_command(make_hawkeye_cmd(self.fix)); + run_command(make_doc_cmd()); } } @@ -192,6 +193,19 @@ fn make_clippy_cmd(fix: bool) -> StdCommand { cmd } +fn make_doc_cmd() -> StdCommand { + let mut cmd = find_command("cargo"); + cmd.env("RUSTDOCFLAGS", "-D warnings --cfg docsrs"); + cmd.args([ + "+nightly", + "doc", + "--workspace", + "--all-features", + "--no-deps", + ]); + cmd +} + fn make_hawkeye_cmd(fix: bool) -> StdCommand { ensure_installed("hawkeye", "hawkeye"); let mut cmd = find_command("hawkeye");