diff --git a/.github/dependabot.yml b/.github/dependabot.yml index 9377f01..5054b7e 100644 --- a/.github/dependabot.yml +++ b/.github/dependabot.yml @@ -26,3 +26,5 @@ updates: commit-message: prefix: "ci" include: "scope" + cooldown: + default-days: 7 diff --git a/.github/workflows/benchmark.yml b/.github/workflows/benchmark.yml index 695744c..0fb7ddb 100644 --- a/.github/workflows/benchmark.yml +++ b/.github/workflows/benchmark.yml @@ -16,13 +16,13 @@ jobs: runs-on: ubuntu-latest steps: - name: Checkout code - uses: actions/checkout@v7 + uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 - name: Install Rust uses: dtolnay/rust-toolchain@stable - name: Cache dependencies - uses: Swatinem/rust-cache@v2 + uses: Swatinem/rust-cache@6323deb102c322ba6fcbdcafc7e3dddab59af2b6 # v2.9.2 - name: Run benchmark # We use --output-format bencher to make the output compatible with the @@ -30,7 +30,7 @@ jobs: run: cargo bench --bench bench_main --all-features -- --output-format bencher | tee output.txt - name: Store benchmark result - uses: benchmark-action/github-action-benchmark@v1 + uses: benchmark-action/github-action-benchmark@52576c92bccf6ac60c8223ec7eb2565637cae9ba # v1.22.1 with: name: RulesXP Benchmark tool: 'cargo' diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index aa7ce40..7ae6bc0 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -26,7 +26,7 @@ jobs: steps: - name: Checkout code - uses: actions/checkout@v7 + uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 - name: Resolve toolchain id: resolve @@ -46,7 +46,7 @@ jobs: run: rustup component add clippy - name: Cache dependencies - uses: Swatinem/rust-cache@v2 + uses: Swatinem/rust-cache@6323deb102c322ba6fcbdcafc7e3dddab59af2b6 # v2.9.2 - name: Run tests run: cargo test --all-targets ${{ matrix.cargo-args }} --verbose @@ -64,7 +64,7 @@ jobs: steps: - name: Checkout code - uses: actions/checkout@v7 + uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 - name: Install Rust uses: dtolnay/rust-toolchain@stable @@ -72,7 +72,7 @@ jobs: components: llvm-tools-preview - name: Cache dependencies - uses: Swatinem/rust-cache@v2 + uses: Swatinem/rust-cache@6323deb102c322ba6fcbdcafc7e3dddab59af2b6 # v2.9.2 - name: Install cargo-llvm-cov uses: taiki-e/install-action@cargo-llvm-cov @@ -83,7 +83,7 @@ jobs: cargo llvm-cov --all-features --workspace --lcov --output-path lcov.info --no-run - name: Upload coverage HTML - uses: actions/upload-artifact@v7 + uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1 with: name: coverage-report path: coverage-html/ @@ -91,7 +91,7 @@ jobs: - name: Upload to Codecov if: env.CODECOV_TOKEN != '' - uses: codecov/codecov-action@v7 + uses: codecov/codecov-action@fb8b3582c8e4def4969c97caa2f19720cb33a72f # v7.0.0 with: files: lcov.info fail_ci_if_error: true @@ -104,7 +104,7 @@ jobs: steps: - name: Checkout code - uses: actions/checkout@v7 + uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 - name: Install Rust uses: dtolnay/rust-toolchain@stable @@ -112,7 +112,7 @@ jobs: components: rustfmt - name: Cache dependencies - uses: Swatinem/rust-cache@v2 + uses: Swatinem/rust-cache@6323deb102c322ba6fcbdcafc7e3dddab59af2b6 # v2.9.2 - name: Check formatting run: cargo fmt --all -- --check @@ -123,13 +123,13 @@ jobs: steps: - name: Checkout code - uses: actions/checkout@v7 + uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 - name: Install Rust uses: dtolnay/rust-toolchain@stable - name: Cache dependencies - uses: Swatinem/rust-cache@v2 + uses: Swatinem/rust-cache@6323deb102c322ba6fcbdcafc7e3dddab59af2b6 # v2.9.2 - name: Build documentation run: cargo doc --all-features --no-deps @@ -145,13 +145,13 @@ jobs: steps: - name: Checkout code - uses: actions/checkout@v7 + uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 - name: Install Rust nightly uses: dtolnay/rust-toolchain@nightly - name: Cache dependencies - uses: Swatinem/rust-cache@v2 + uses: Swatinem/rust-cache@6323deb102c322ba6fcbdcafc7e3dddab59af2b6 # v2.9.2 - name: Install cargo-fuzz run: cargo install cargo-fuzz @@ -165,10 +165,10 @@ jobs: steps: - name: Checkout code - uses: actions/checkout@v7 + uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 - name: Install cargo-audit - uses: taiki-e/install-action@v2 + uses: taiki-e/install-action@b20dedce73af6905cdc30d6611090c9b67557c8d # v2.85.12 with: tool: cargo-audit @@ -181,7 +181,7 @@ jobs: steps: - name: Checkout code - uses: actions/checkout@v7 + uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 - name: Install Rust nightly uses: dtolnay/rust-toolchain@nightly @@ -190,7 +190,7 @@ jobs: uses: dtolnay/rust-toolchain@stable - name: Install cargo-hack and cargo-minimal-versions - uses: taiki-e/install-action@v2 + uses: taiki-e/install-action@b20dedce73af6905cdc30d6611090c9b67557c8d # v2.85.12 with: tool: cargo-hack,cargo-minimal-versions diff --git a/.github/workflows/cross-platform.yml b/.github/workflows/cross-platform.yml index fec1e45..64bfb0d 100644 --- a/.github/workflows/cross-platform.yml +++ b/.github/workflows/cross-platform.yml @@ -22,13 +22,13 @@ jobs: steps: - name: Checkout code - uses: actions/checkout@v7 + uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 - name: Install Rust uses: dtolnay/rust-toolchain@stable - name: Cache dependencies - uses: Swatinem/rust-cache@v2 + uses: Swatinem/rust-cache@6323deb102c322ba6fcbdcafc7e3dddab59af2b6 # v2.9.2 - name: Run tests run: cargo test --all-features --verbose diff --git a/.github/workflows/fuzz.yml b/.github/workflows/fuzz.yml index ca1eff4..8f0335c 100644 --- a/.github/workflows/fuzz.yml +++ b/.github/workflows/fuzz.yml @@ -30,7 +30,7 @@ jobs: steps: - name: Checkout code - uses: actions/checkout@v7 + uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 - name: Install Rust nightly uses: dtolnay/rust-toolchain@nightly @@ -39,14 +39,14 @@ jobs: run: cargo install cargo-fuzz - name: Cache dependencies - uses: Swatinem/rust-cache@v2 + uses: Swatinem/rust-cache@6323deb102c322ba6fcbdcafc7e3dddab59af2b6 # v2.9.2 # Corpus caching: # - Save key uses run_id so each run creates a new cache (caches are immutable) # - Restore key uses prefix match to find the most recent cache from any prior run # - Daily runs ensure we always have a recent corpus to build on - name: Restore corpus cache - uses: actions/cache@v6 + uses: actions/cache@55cc8345863c7cc4c66a329aec7e433d2d1c52a9 # v6.1.0 with: path: fuzz/corpus/${{ matrix.target }} key: fuzz-corpus-${{ matrix.target }}-${{ github.run_id }} @@ -71,14 +71,14 @@ jobs: - name: Upload crash artifacts if: steps.check_crashes.outputs.crashes_found == 'true' - uses: actions/upload-artifact@v7 + uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1 with: name: fuzz-crashes-${{ matrix.target }} path: fuzz/artifacts/${{ matrix.target }}/ - name: Upload corpus if: always() - uses: actions/upload-artifact@v7 + uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1 with: name: fuzz-corpus-${{ matrix.target }} path: fuzz/corpus/${{ matrix.target }}/ @@ -86,7 +86,7 @@ jobs: - name: Create issue for crashes if: steps.check_crashes.outputs.crashes_found == 'true' - uses: actions/github-script@v9 + uses: actions/github-script@3a2844b7e9c422d3c10d287c895573f7108da1b3 # v9.0.0 with: script: | const fs = require('fs'); diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 8de5aa4..010f20f 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -23,7 +23,7 @@ jobs: steps: - name: Checkout code - uses: actions/checkout@v7 + uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 - name: Get tag name id: tag_name @@ -64,16 +64,16 @@ jobs: steps: - name: Checkout code - uses: actions/checkout@v7 + uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 - name: Install Rust uses: dtolnay/rust-toolchain@stable - name: Cache dependencies - uses: Swatinem/rust-cache@v2 + uses: Swatinem/rust-cache@6323deb102c322ba6fcbdcafc7e3dddab59af2b6 # v2.9.2 - name: Authenticate with crates.io - uses: rust-lang/crates-io-auth-action@v1 + uses: rust-lang/crates-io-auth-action@c6f97d42243bad5fab37ca0427f495c86d5b1a18 # v1.0.5 id: auth - name: Publish to crates.io @@ -102,7 +102,7 @@ jobs: steps: - name: Checkout code - uses: actions/checkout@v7 + uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 - name: Install Rust uses: dtolnay/rust-toolchain@stable @@ -110,7 +110,7 @@ jobs: targets: ${{ matrix.target }} - name: Cache dependencies - uses: Swatinem/rust-cache@v2 + uses: Swatinem/rust-cache@6323deb102c322ba6fcbdcafc7e3dddab59af2b6 # v2.9.2 - name: Build repl binary run: cargo build --release --example repl --all-features --target ${{ matrix.target }}