Continuous integration #1772
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: | |
- "*" | |
schedule: | |
- cron: '22 2 * * *' # run at 2:22 every day | |
name: Continuous integration | |
jobs: | |
check: | |
name: Rustfmt | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v3 | |
- uses: dtolnay/rust-toolchain@stable | |
- 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 | |
env: | |
RUSTDOCFLAGS: -D warnings | |
- 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 font-types | |
run: cargo test -p font-types --all-targets --all-features | |
- name: cargo test read-fonts | |
run: cargo test -p read-fonts --all-targets --all-features | |
- name: cargo test write-fonts | |
run: cargo test -p write-fonts --all-targets --all-features | |
- name: cargo test write-fonts default features | |
run: cargo test -p write-fonts --all-targets | |
- name: cargo test skrifa | |
run: cargo test -p skrifa --all-targets --all-features | |
ensure-clean-codegen: | |
name: check codegen is up-to-date | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v3 | |
- name: install stable toolchain | |
uses: dtolnay/rust-toolchain@stable | |
- name: run codegen | |
run: cargo run --bin=codegen resources/codegen_plan.toml | |
- name: ensure no unstaged changes | |
run: | | |
git add . | |
git status -sb | |
git diff-index --quiet HEAD -- | |
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 font-types | |
run: cargo check --manifest-path=font-types/Cargo.toml --no-default-features | |
- name: cargo check read-fonts | |
run: cargo check --manifest-path=read-fonts/Cargo.toml --no-default-features | |
check-wasm: | |
name: cargo check wasm | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v3 | |
- name: install stable toolchain | |
uses: dtolnay/rust-toolchain@stable | |
- run: rustup target add wasm32-unknown-unknown | |
- name: cargo check wasm target | |
run: cargo check --manifest-path=write-fonts/Cargo.toml --target wasm32-unknown-unknown | |