Normal format for custom_insn_*
macros we have
#6134
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: Lint Workspace | |
on: | |
push: | |
branches: ["main"] | |
pull_request: | |
branches: ["**"] | |
concurrency: | |
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.sha }} | |
cancel-in-progress: true | |
jobs: | |
lint: | |
name: Lint | |
runs-on: | |
- runs-on=${{ github.run_id }} | |
- runner=8cpu-linux-x64 | |
- extras=s3-cache | |
steps: | |
- uses: runs-on/action@v1 | |
- uses: actions/checkout@v4 | |
- uses: dtolnay/rust-toolchain@stable | |
- uses: Swatinem/rust-cache@v2 | |
with: | |
cache-on-failure: true | |
- name: Generate docs | |
run: | | |
cargo doc --workspace --exclude "openvm-benchmarks" --exclude "*-tests" --exclude "*-test" | |
- name: Run fmt | |
run: | | |
cargo fmt --all -- --check | |
- name: Run clippy | |
run: | | |
# list of features generated using: | |
# echo -e "\033[1;32mAll unique features across workspace:\033[0m" && cargo metadata --format-version=1 --no-deps | jq -r '.packages[].features | to_entries[] | .key' | sort -u | sed 's/^/• /' | |
cargo clippy --all-targets --all --tests --features "aggregation bench-metrics bls12_381 bn254 default entrypoint export-getrandom export-libm function-span getrandom halo2-compiler halo2curves heap-embedded-alloc k256 mimalloc nightly-features panic-handler parallel rust-runtime static-verifier std test-utils unstable" -- -D warnings | |
cargo clippy --all-targets --all --tests --no-default-features --features "jemalloc jemalloc-prof" -- -D warnings | |
- name: Run fmt, clippy for guest | |
run: | | |
# Find all directories named "programs" and include additional static paths | |
for crate_path in $(find . -type d -name "programs" -exec find {} -mindepth 0 -maxdepth 0 -type d \;) examples/*; do | |
# Check if Cargo.toml exists in the directory | |
if [ -f "$crate_path/Cargo.toml" ]; then | |
echo "Running cargo fmt, clippy for $crate_path" | |
cargo fmt --manifest-path "$crate_path/Cargo.toml" --all -- --check | |
if [[ "$crate_path" == *"extensions/ecc/tests/programs"* ]]; then | |
echo "Running cargo clippy with k256 feature for $crate_path" | |
cargo clippy --manifest-path "$crate_path/Cargo.toml" --all-targets --features "std k256" -- -D warnings | |
elif [[ "$crate_path" == *"extensions/pairing/tests/programs"* ]]; then | |
echo "Running cargo clippy with openvm_pairing_guest::bn254 feature for $crate_path" | |
cargo clippy --manifest-path "$crate_path/Cargo.toml" --all-targets --features "std bn254" -- -D warnings | |
else | |
echo "Running cargo clippy for $crate_path" | |
cargo clippy --manifest-path "$crate_path/Cargo.toml" --all-targets --features std -- -D warnings | |
fi | |
else | |
echo "Skipping $crate_path as it does not contain a Cargo.toml" | |
fi | |
done |