Script that helps compare build time across branches #1174
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: | |
pull_request: | |
push: | |
branches: | |
- main | |
tags: | |
- "*" | |
name: Continuous integration | |
# The check, clippy-lint, and test-stable jobs should typically be direct copies from | |
# https://github.com/googlefonts/fontations/blob/main/.github/workflows/rust.yml. | |
# other than the list of crates for cargo check no std | |
jobs: | |
check: | |
name: Rustfmt | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v3 | |
- name: install stable toolchain | |
uses: dtolnay/rust-toolchain@stable | |
- name: rustup component add rustfmt | |
run: rustup component add rustfmt | |
- name: rustfmt check | |
run: cargo fmt --all -- --check | |
- name: cargo doc | |
run: cargo doc --all-features --document-private-items --no-deps | |
- name: check no println! or eprintln! statements | |
run: resources/scripts/check_no_println.sh | |
clippy-lint: | |
name: Clippy lints | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v3 | |
- name: install stable toolchain | |
uses: dtolnay/rust-toolchain@stable | |
- name: cargo clippy --all-features | |
run: cargo clippy --all-features --all-targets -- -D warnings | |
- name: cargo clippy --no-default-features | |
run: cargo clippy --all-targets --no-default-features -- -D warnings | |
test-stable: | |
name: cargo test stable | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v3 | |
- name: install stable toolchain | |
uses: dtolnay/rust-toolchain@stable | |
# test all packages individually to ensure deterministic resolution | |
# of dependencies for each package | |
- name: cargo test fontbe | |
run: cargo test -p fontbe --all-targets --all-features | |
- name: cargo test fontc | |
run: cargo test -p fontc --all-targets --all-features | |
- name: cargo test fontdrasil | |
run: cargo test -p fontdrasil --all-targets --all-features | |
- name: cargo test fontir | |
run: cargo test -p fontir --all-targets --all-features | |
- name: cargo test glyphs-reader | |
run: cargo test -p glyphs-reader --all-targets --all-features | |
- name: cargo test glyphs2fontir | |
run: cargo test -p glyphs2fontir --all-targets --all-features | |
- name: cargo test ufo2fontir | |
run: cargo test -p ufo2fontir --all-targets --all-features | |
check-no-std: | |
name: cargo check no std | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v3 | |
- name: install stable toolchain | |
uses: dtolnay/rust-toolchain@stable | |
- name: cargo check fontdrasil | |
run: cargo check --manifest-path=fontdrasil/Cargo.toml --no-default-features | |
- name: cargo check fontir | |
run: cargo check --manifest-path=fontir/Cargo.toml --no-default-features | |
- name: cargo check ufo2fontir | |
run: cargo check --manifest-path=ufo2fontir/Cargo.toml --no-default-features | |
- name: cargo check glyphs2fontir | |
run: cargo check --manifest-path=glyphs2fontir/Cargo.toml --no-default-features | |
- name: cargo check fontbe | |
run: cargo check --manifest-path=fontbe/Cargo.toml --no-default-features | |
- name: cargo check fontc | |
run: cargo check --manifest-path=fontc/Cargo.toml --no-default-features | |
check-ots: | |
name: resources/scripts/ots_test.sh | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v3 | |
- name: install stable toolchain | |
uses: dtolnay/rust-toolchain@stable | |
- name: Run resources/scripts/ots_test.sh | |
run: resources/scripts/ots_test.sh |