chore(deps): bump dtolnay/rust-toolchain from 2c7215f132e9ebf062739d9130488b56d53c060c to 6c977a6ca4077a0ceb28ffbe03f59d46e9ac8772 in the github-actions group #397
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: | |
| - main | |
| - master | |
| pull_request: | |
| workflow_dispatch: | |
| permissions: | |
| contents: read | |
| concurrency: | |
| group: ci-${{ github.ref }} | |
| cancel-in-progress: true | |
| jobs: | |
| version: | |
| name: Version Checks | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@v7 | |
| - name: Validate release version format | |
| shell: bash | |
| run: | | |
| set -euo pipefail | |
| current_version="$( | |
| awk ' | |
| /^[[:space:]]*\[package\][[:space:]]*$/ { in_package = 1; next } | |
| /^[[:space:]]*\[/ { in_package = 0 } | |
| in_package && /^[[:space:]]*version[[:space:]]*=[[:space:]]*/ { print $3; exit } | |
| ' Cargo.toml | tr -d '"' | |
| )" | |
| [[ -n "$current_version" ]] || { | |
| echo "failed to determine package version from Cargo.toml" >&2 | |
| exit 1 | |
| } | |
| [[ "$current_version" =~ ^[0-9]+\.[0-9]+\.[0-9]+$ ]] || { | |
| echo "release automation only supports Cargo.toml versions in X.Y.Z format, found: $current_version" >&2 | |
| exit 1 | |
| } | |
| rust: | |
| name: Rust Checks | |
| needs: [version] | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@v7 | |
| with: | |
| fetch-depth: 0 | |
| - name: Install native build dependencies | |
| run: | | |
| sudo apt-get update | |
| sudo apt-get install -y build-essential gcc libc6-dev | |
| - name: Resolve Rust toolchain | |
| id: rust-toolchain | |
| shell: bash | |
| run: | | |
| set -euo pipefail | |
| toolchain="$( | |
| awk -F '"' '/^[[:space:]]*channel[[:space:]]*=[[:space:]]*"/ { print $2; exit }' rust-toolchain.toml | |
| )" | |
| [[ -n "$toolchain" ]] || { | |
| echo "failed to determine Rust toolchain from rust-toolchain.toml" >&2 | |
| exit 1 | |
| } | |
| echo "toolchain=$toolchain" >> "$GITHUB_OUTPUT" | |
| - name: Install Rust toolchain | |
| uses: dtolnay/rust-toolchain@6c977a6ca4077a0ceb28ffbe03f59d46e9ac8772 # master | |
| with: | |
| toolchain: ${{ steps.rust-toolchain.outputs.toolchain }} | |
| components: rustfmt, clippy | |
| - name: Cache cargo artifacts | |
| uses: Swatinem/rust-cache@v2 | |
| - name: Format check | |
| run: cargo fmt --all -- --check | |
| - name: Clippy | |
| run: cargo clippy --workspace --all-targets --all-features -- -D warnings | |
| - name: Tests | |
| run: cargo test --workspace --all-targets --all-features --locked | |
| wasm: | |
| name: WebAssembly Checks | |
| needs: [version] | |
| if: github.event_name == 'pull_request' || (github.event_name == 'push' && github.ref == 'refs/heads/master') | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@v7 | |
| with: | |
| persist-credentials: false | |
| - name: Resolve Rust toolchain | |
| id: rust-toolchain | |
| shell: bash | |
| run: | | |
| set -euo pipefail | |
| toolchain="$( | |
| awk -F '"' '/^[[:space:]]*channel[[:space:]]*=[[:space:]]*"/ { print $2; exit }' rust-toolchain.toml | |
| )" | |
| if [[ -z "$toolchain" ]]; then | |
| echo "Could not determine the Rust toolchain from rust-toolchain.toml." >&2 | |
| exit 1 | |
| fi | |
| echo "toolchain=$toolchain" >> "$GITHUB_OUTPUT" | |
| - name: Install Rust toolchain | |
| uses: dtolnay/rust-toolchain@6c977a6ca4077a0ceb28ffbe03f59d46e9ac8772 # master | |
| with: | |
| toolchain: ${{ steps.rust-toolchain.outputs.toolchain }} | |
| components: clippy | |
| targets: wasm32-unknown-unknown | |
| - name: Cache cargo artifacts | |
| uses: Swatinem/rust-cache@v2 | |
| with: | |
| shared-key: ci-wasm | |
| - name: Clippy WebAssembly targets | |
| run: cargo clippy --locked --target wasm32-unknown-unknown --all-targets --no-default-features -- -D warnings | |
| gitleaks: | |
| name: Secret Scan | |
| needs: [version] | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@v7 | |
| with: | |
| fetch-depth: 0 | |
| - name: Install gitleaks | |
| run: | | |
| sudo apt-get update | |
| sudo apt-get install -y gitleaks | |
| - name: Run gitleaks | |
| run: gitleaks detect --source . --verbose --redact |