build(deps): bump syn from 2.0.96 to 2.0.98 #54
Workflow file for this run
This file contains 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: Main | |
on: | |
push: | |
branches: [master] | |
pull_request: | |
jobs: | |
sanity: | |
name: Sanity checks | |
runs-on: ubuntu-latest | |
steps: | |
- name: Git Checkout | |
uses: actions/checkout@v4 | |
with: | |
fetch-depth: 0 # full history to check for whitespace / conflict markers | |
- name: Setup Environment | |
uses: ./.github/actions/setup | |
with: | |
stable-toolchain: true | |
cargo-cache-key: cargo-stable-sanity | |
cargo-cache-fallback-key: cargo-stable | |
- name: Check repo is in porcelain state | |
run: ./scripts/check-porcelain.sh | |
- name: Check code nits | |
run: ./scripts/check-nits.sh | |
- name: Run ShellCheck | |
run: ./scripts/check-shell.sh | |
check-crates: | |
name: Check crate ownership | |
runs-on: ubuntu-latest | |
steps: | |
- name: Git Checkout | |
uses: actions/checkout@v4 | |
with: | |
fetch-depth: 0 # full history to check for diff | |
- name: Setup Environment | |
uses: ./.github/actions/setup | |
with: | |
stable-toolchain: true | |
cargo-cache-key: cargo-stable-check-crates | |
cargo-cache-fallback-key: cargo-stable | |
- name: Install toml-cli | |
uses: taiki-e/cache-cargo-install-action@v2 | |
with: | |
tool: toml-cli | |
- name: Get commit range (push) | |
if: ${{ github.event_name == 'push' }} | |
run: | | |
echo "COMMIT_RANGE=${{ github.event.before }}..$GITHUB_SHA" >> $GITHUB_ENV | |
- name: Get commit range (pull_request) | |
if: ${{ github.event_name == 'pull_request' }} | |
run: | | |
echo "COMMIT_RANGE=${{ github.event.pull_request.base.sha }}..${{ github.event.pull_request.head.sha }}" >> $GITHUB_ENV | |
- name: Check crate ownership | |
run: ./scripts/check-crates.sh | |
format: | |
name: Format | |
runs-on: ubuntu-latest | |
needs: [sanity] | |
steps: | |
- name: Git Checkout | |
uses: actions/checkout@v4 | |
- name: Setup Environment | |
uses: ./.github/actions/setup | |
with: | |
rustfmt: true | |
cargo-cache-key: cargo-nightly-fmt | |
cargo-cache-fallback-key: cargo-nightly | |
- name: Check formatting | |
run: ./scripts/check-fmt.sh | |
check: | |
name: Cargo check | |
runs-on: ubuntu-latest | |
needs: [sanity] | |
steps: | |
- name: Git Checkout | |
uses: actions/checkout@v4 | |
- name: Setup Environment | |
uses: ./.github/actions/setup | |
with: | |
nightly-toolchain: true | |
cargo-cache-key: cargo-nightly-check | |
cargo-cache-fallback-key: cargo-nightly | |
- name: Run checks | |
run: ./scripts/check-nightly.sh | |
check-downstream-agave: | |
if: false # re-enable after agave uses loader-v3-interface v3 | |
name: Cargo check Agave master | |
runs-on: ubuntu-latest | |
needs: [sanity] | |
steps: | |
- name: Git Checkout | |
uses: actions/checkout@v4 | |
- name: Setup Environment | |
uses: ./.github/actions/setup | |
with: | |
agave: true | |
stable-toolchain: true | |
cargo-cache-key: cargo-downstream-agave-check | |
cargo-cache-fallback-key: cargo-downstream-agave | |
- name: Run checks | |
run: ./scripts/check-downstream-agave.sh | |
clippy: | |
name: Clippy | |
needs: [sanity] | |
strategy: | |
matrix: | |
os: | |
- macos-latest | |
- windows-latest | |
- ubuntu-latest | |
runs-on: ${{ matrix.os }} | |
steps: | |
- name: Git Checkout | |
uses: actions/checkout@v4 | |
- name: Setup Environment | |
uses: ./.github/actions/setup | |
with: | |
clippy: true | |
cargo-cache-key: cargo-nightly-clippy | |
cargo-cache-fallback-key: cargo-nightly | |
# took the workaround from https://github.com/sfackler/rust-openssl/issues/2149 | |
- name: Setup openssl on Windows | |
if: runner.os == 'Windows' | |
shell: bash | |
run: | | |
echo "PERL=$((where.exe perl)[0])" >> $GITHUB_ENV | |
echo "OPENSSL_SRC_PERL=$((where.exe perl)[0])" >> $GITHUB_ENV | |
choco install openssl --version 3.3.2 --install-arguments="'/DIR=C:\OpenSSL'" -y | |
echo "OPENSSL_LIB_DIR=\"C:\OpenSSL\lib\VC\x64\MT\"" >> $GITHUB_ENV | |
echo "OPENSSL_INCLUDE_DIR=C:\OpenSSL\include" >> $GITHUB_ENV | |
- name: Run clippy | |
run: ./scripts/check-clippy.sh | |
audit: | |
name: Audit | |
runs-on: ubuntu-latest | |
needs: [sanity] | |
steps: | |
- name: Git Checkout | |
uses: actions/checkout@v4 | |
- name: Setup Environment | |
uses: ./.github/actions/setup | |
with: | |
stable-toolchain: true | |
cargo-cache-key: cargo-audit | |
- name: Install cargo-audit | |
uses: taiki-e/cache-cargo-install-action@v2 | |
with: | |
tool: cargo-audit | |
- name: Run cargo-audit | |
run: ./scripts/check-audit.sh | |
semver: | |
if: false # enable after 2.2.0 is cut | |
name: Check semver | |
runs-on: ubuntu-latest | |
needs: [sanity] | |
steps: | |
- name: Git Checkout | |
uses: actions/checkout@v4 | |
- name: Setup Environment | |
uses: ./.github/actions/setup | |
with: | |
stable-toolchain: true | |
cargo-cache-key: cargo-stable-semver | |
cargo-cache-fallback-key: cargo-stable | |
- name: Install cargo-semver-checks | |
uses: taiki-e/cache-cargo-install-action@v2 | |
with: | |
tool: cargo-semver-checks | |
- name: Run semver checks | |
run: ./scripts/check-semver.sh | |
hack: | |
name: Cargo hack check | |
runs-on: ubuntu-latest | |
needs: [sanity] | |
steps: | |
- name: Git Checkout | |
uses: actions/checkout@v4 | |
- name: Setup Environment | |
uses: ./.github/actions/setup | |
with: | |
nightly-toolchain: true | |
cargo-cache-key: cargo-nightly-hack | |
cargo-cache-fallback-key: cargo-nightly | |
- name: Install cargo-hack | |
uses: taiki-e/cache-cargo-install-action@v2 | |
with: | |
tool: cargo-hack | |
- name: Run hack check | |
run: ./scripts/check-hack.sh | |
check-crate-order-for-publishing: | |
name: Check crate dependencies for publishing | |
runs-on: ubuntu-latest | |
needs: [sanity] | |
steps: | |
- name: Git Checkout | |
uses: actions/checkout@v4 | |
- name: Check crates for publishing | |
run: ./scripts/order-crates-for-publishing.py | |
sort: | |
name: Check sorting of crate dependencies | |
runs-on: ubuntu-latest | |
needs: [sanity] | |
steps: | |
- name: Git Checkout | |
uses: actions/checkout@v4 | |
- name: Setup Environment | |
uses: ./.github/actions/setup | |
with: | |
nightly-toolchain: true | |
cargo-cache-key: cargo-nightly-sort | |
cargo-cache-fallback-key: cargo-nightly | |
- name: Install cargo-sort | |
uses: taiki-e/cache-cargo-install-action@v2 | |
with: | |
tool: cargo-sort | |
- name: Check toml ordering | |
run: ./scripts/check-sort.sh | |
check-dcou: | |
name: Check declarations of `dev-context-only-utils` feature | |
runs-on: ubuntu-latest | |
needs: [sanity] | |
steps: | |
- name: Git Checkout | |
uses: actions/checkout@v4 | |
- name: Setup Environment | |
uses: ./.github/actions/setup | |
with: | |
nightly-toolchain: true | |
cargo-cache-key: cargo-nightly-dcou | |
cargo-cache-fallback-key: cargo-nightly | |
- name: Check dev-context-only-utils declarations | |
run: ./scripts/check-dev-context-only-utils.sh | |
miri: | |
name: Test miri | |
runs-on: ubuntu-latest | |
needs: [check] | |
steps: | |
- name: Git Checkout | |
uses: actions/checkout@v4 | |
- name: Setup Environment | |
uses: ./.github/actions/setup | |
with: | |
miri: true | |
cargo-cache-key: cargo-nightly-miri | |
cargo-cache-fallback-key: cargo-nightly | |
- name: Run miri tests | |
run: ./scripts/test-miri.sh | |
frozen-abi: | |
name: Run frozen-abi tests | |
runs-on: ubuntu-latest | |
needs: [check] | |
steps: | |
- name: Git Checkout | |
uses: actions/checkout@v4 | |
- name: Setup Environment | |
uses: ./.github/actions/setup | |
with: | |
nightly-toolchain: true | |
cargo-cache-key: cargo-nightly-miri | |
cargo-cache-fallback-key: cargo-nightly | |
- name: Run frozen-abi tests | |
run: ./scripts/test-frozen-abi.sh | |
test-wasm: | |
name: Build wasm packages and run tests | |
runs-on: ubuntu-latest | |
needs: [check] | |
steps: | |
- name: Git Checkout | |
uses: actions/checkout@v4 | |
- name: Setup Node.js | |
uses: actions/setup-node@v4 | |
with: | |
node-version: 20 | |
- name: Setup Environment | |
uses: ./.github/actions/setup | |
with: | |
stable-toolchain: true | |
cargo-cache-key: cargo-stable-wasm | |
cargo-cache-fallback-key: cargo-stable | |
- name: Install wasm-pack | |
uses: taiki-e/cache-cargo-install-action@v2 | |
with: | |
tool: wasm-pack | |
- name: Build and test wasm packages | |
run: ./scripts/test-wasm.sh | |
test-coverage: | |
name: Run coverage tests | |
runs-on: ubuntu-latest | |
needs: [check] | |
steps: | |
- name: Git Checkout | |
uses: actions/checkout@v4 | |
- name: Setup Environment | |
uses: ./.github/actions/setup | |
with: | |
llvm-tools-preview: true | |
cargo-cache-key: cargo-nightly-coverage | |
cargo-cache-fallback-key: cargo-nightly | |
- name: Install grcov | |
uses: taiki-e/cache-cargo-install-action@v2 | |
with: | |
tool: grcov | |
- name: Run coverage tests | |
run: ./scripts/test-coverage.sh | |
test-stable: | |
name: Run tests on stable toolchain | |
runs-on: ubuntu-latest | |
needs: [check] | |
steps: | |
- name: Git Checkout | |
uses: actions/checkout@v4 | |
- name: Setup Environment | |
uses: ./.github/actions/setup | |
with: | |
stable-toolchain: true | |
cargo-cache-key: cargo-stable-test | |
cargo-cache-fallback-key: cargo-stable | |
- name: Run tests | |
run: ./scripts/test-stable.sh | |
test-bench: | |
name: Run benches | |
runs-on: ubuntu-latest | |
needs: [check] | |
steps: | |
- name: Git Checkout | |
uses: actions/checkout@v4 | |
- name: Setup Environment | |
uses: ./.github/actions/setup | |
with: | |
nightly-toolchain: true | |
cargo-cache-key: cargo-nightly-bench | |
cargo-cache-fallback-key: cargo-nightly | |
- name: Run benches | |
run: ./scripts/test-bench.sh |