ci: run tests on Apple silicon runners (#663) #1460
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
on: | |
push: | |
branches: | |
- "master" | |
pull_request: | |
name: "Linting" | |
jobs: | |
format: | |
name: "Check code format" | |
runs-on: "ubuntu-latest" | |
steps: | |
- name: "Checkout source code" | |
uses: "actions/checkout@v3" | |
- name: "Use Rust cache" | |
uses: "Swatinem/rust-cache@v2" | |
with: | |
cache-on-failure: true | |
- name: "Install prettier" | |
run: | | |
yarn global add prettier | |
- name: "Install black" | |
run: | | |
pip install git+https://github.com/psf/black | |
- name: "Check Markdown format" | |
run: | | |
prettier --check "**/*.md" | |
- name: "Check Yaml format" | |
run: | | |
prettier --check "**/*.{yaml,yml}" | |
- name: "Check JSON format" | |
run: | | |
EXIT_CODE="0"; | |
readarray -d '' FILES < <(find -type f -name "*.json" -not -path "./target/*"); | |
for FILE in ${FILES[@]}; do | |
cat $FILE | jq > /tmp/formatted_json.json; | |
if cmp --silent "$FILE" /tmp/formatted_json.json; then | |
printf "\033[1;30m$FILE\033[0m OK\n"; | |
else | |
printf "\033[1;33m$FILE\033[0m FAILED\n"; | |
EXIT_CODE="1"; | |
fi | |
done | |
exit $EXIT_CODE; | |
- name: "Check Python format" | |
run: | | |
black --check . | |
- name: "Check Rust format" | |
run: | | |
cargo fmt --all -- --check | |
clippy: | |
name: "Run Clippy" | |
runs-on: "ubuntu-latest" | |
strategy: | |
matrix: | |
toolchain: | |
- "stable" | |
- "nightly" | |
steps: | |
- name: "Checkout source code" | |
uses: "actions/checkout@v3" | |
- name: "Setup toolchain" | |
uses: "actions-rs/toolchain@v1" | |
with: | |
toolchain: "${{ matrix.toolchain }}" | |
components: "clippy" | |
override: true | |
- name: "Set allowed lints" | |
run: | | |
if [ "${{ matrix.toolchain }}" == "nightly" ]; then | |
echo "ALLOWED=-A non_local_definitions -A clippy::too_long_first_doc_paragraph -A clippy::needless_return" >> $GITHUB_ENV | |
else | |
echo "ALLOWED=" >> $GITHUB_ENV | |
fi | |
- name: "Run Clippy (default)" | |
run: | | |
cargo clippy --all --all-targets -- -D warnings $ALLOWED | |
- name: "Run Clippy (no_std)" | |
run: | | |
cargo clippy --package starknet-crypto --no-default-features -- -D warnings $ALLOWED | |
cargo clippy --package starknet-crypto --no-default-features --features alloc -- -D warnings $ALLOWED |