Refactor unicode data parsing #139
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: build | |
on: [push, pull_request] | |
jobs: | |
test: | |
runs-on: ubuntu-latest | |
env: | |
RUSTFLAGS: --deny warnings | |
strategy: | |
matrix: | |
toolchain: [stable, beta, nightly] | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: dtolnay/rust-toolchain@master | |
with: | |
toolchain: ${{ matrix.toolchain }} | |
components: clippy, rustfmt | |
- name: Rustfmt | |
run: cargo fmt -- --check | |
- name: Clippy | |
run: cargo clippy --workspace --all-targets --all-features | |
- name: Test | |
run: | | |
cargo test --workspace --all-targets --all-features | |
cargo test --workspace --doc --all-features | |
msrv: | |
runs-on: ubuntu-latest | |
env: | |
RUSTFLAGS: --deny warnings | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: dtolnay/rust-toolchain@1.60 | |
- name: Test | |
run: cargo test --all-features | |
generated: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: dtolnay/rust-toolchain@stable | |
- name: Check generated code is up to date | |
run: | | |
cargo run --package generate | |
git diff --exit-code -- src/gen/ | |
readme: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: dtolnay/rust-toolchain@stable | |
- name: Install cargo-onedoc | |
run: cargo install cargo-onedoc --locked | |
- name: Check README | |
run: cargo onedoc --check | |
publish: | |
needs: [generated, readme, test, msrv] | |
if: startsWith(github.ref, 'refs/tags/') | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: dtolnay/rust-toolchain@stable | |
- name: Calculate version from tag | |
id: version | |
run: echo "value=${GITHUB_REF#refs/tags/}" >> $GITHUB_OUTPUT | |
- name: Check tag against package versions | |
run: grep '^version = "${{ steps.version.outputs.value }}"$' Cargo.toml | |
- name: Publish | |
env: | |
CARGO_REGISTRY_TOKEN: ${{ secrets.CRATES_IO_TOKEN }} | |
run: cargo publish |