libriichi/state: split update into separate functions #143
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-libriichi | |
on: | |
push: | |
branches: [main] | |
paths: | |
- .github/workflows/libriichi.yml | |
- Cargo* | |
- libriichi/** | |
- exe-wrapper/** | |
pull_request: | |
paths: | |
- .github/workflows/libriichi.yml | |
- Cargo* | |
- libriichi/** | |
- exe-wrapper/** | |
jobs: | |
build: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v2 | |
with: | |
fetch-depth: 0 | |
- uses: actions/checkout@v3 | |
- uses: actions/setup-python@v4 | |
id: setup-python | |
with: | |
python-version: '3.11' | |
- name: Run typos | |
uses: crate-ci/typos@v1.18.0 | |
- name: Environment preparation | |
id: prep | |
run: | | |
set -x | |
rustup toolchain update --no-self-update stable | |
rustup default stable | |
rustup component add clippy rustfmt | |
rustup show | |
rustc --version | awk '{print $2}' | tee RUSTC_VER | |
echo "rustc_ver=$(cat RUSTC_VER)" >> $GITHUB_OUTPUT | |
- name: Cache for Rust | |
uses: actions/cache@v3 | |
with: | |
path: | | |
~/.cargo/bin | |
~/.cargo/registry/index | |
~/.cargo/registry/cache | |
~/.cargo/git/db | |
target | |
key: ${{ github.workflow }}|${{ runner.os }}|cargo|00|${{ steps.prep.outputs.rustc_ver }}|${{ hashFiles('**/Cargo.lock') }} | |
restore-keys: | | |
${{ github.workflow }}|${{ runner.os }}|cargo|00|${{ steps.prep.outputs.rustc_ver }}| | |
- name: Run rustfmt | |
run: cargo fmt --all --check | |
- name: Run clippy | |
run: cargo clippy --workspace --all-targets --all-features -- -Dwarnings | |
- name: Run tests | |
run: | | |
cargo test --workspace --no-default-features --features flate2/zlib -- --nocapture | |
cargo test --workspace --no-default-features --features flate2/zlib,sp_reproduce_cpp_ver -- --nocapture | |
cargo test -p libriichi --no-default-features --benches | |
- name: Run build | |
run: | | |
cargo build -p libriichi --lib | |
cargo build -p libriichi --bins --no-default-features | |
cargo build -p exe-wrapper | |
- name: Check artifact | |
run: | | |
cd target/debug | |
ldd libriichi.so stat validate_logs exe-wrapper | |
python -c 'import libriichi' |