Use a decision tree for when Expressions #1997
Workflow file for this run
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: Tests | |
on: | |
push: | |
branches: ["main"] | |
pull_request: | |
branches: ["main"] | |
env: | |
CARGO_TERM_COLOR: always | |
jobs: | |
build: | |
runs-on: ubuntu-22.04 | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: Swatinem/rust-cache@v2 | |
with: | |
save-if: ${{ github.ref == 'refs/heads/main' }} | |
key: ${{ runner.os }}-cache-build-v${{ inputs.cache-version }} | |
- name: Build release | |
run: | | |
sudo apt-get install -y pkg-config libssl-dev musl musl-dev musl-tools | |
rustup target add x86_64-unknown-linux-musl | |
cargo install --path=crates/aiken --target=x86_64-unknown-linux-musl | |
mv $(which aiken) aiken | |
ldd aiken | |
- uses: actions/upload-artifact@v4 | |
with: | |
name: aiken-${{ github.sha }}-${{ runner.arch }}-${{ runner.os }} | |
path: ./aiken | |
acceptance_tests: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: Swatinem/rust-cache@v2 | |
with: | |
save-if: ${{ github.ref == 'refs/heads/main' }} | |
key: ${{ runner.os }}-cache-build-v${{ inputs.cache-version }} | |
- name: Run examples | |
run: | | |
cargo run -r -- check examples/hello_world | |
cargo run -r -- check examples/gift_card | |
- name: Run acceptance tests | |
working-directory: examples/acceptance_tests | |
run: | | |
cargo install cbor-diag-cli | |
bash ci | |
shell: bash | |
unit_tests: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: Swatinem/rust-cache@v2 | |
with: | |
save-if: ${{ github.ref == 'refs/heads/main' }} | |
key: ${{ runner.os }}-cache-tests-v${{ inputs.cache-version }} | |
- name: Run unit tests | |
run: cargo test --verbose --workspace | |
benchmarks: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: Swatinem/rust-cache@v2 | |
with: | |
save-if: ${{ github.ref == 'refs/heads/main' }} | |
key: ${{ runner.os }}-cache-build-v${{ inputs.cache-version }} | |
- name: Run benchmarks | |
run: | | |
cargo run -r -- check benchmarks | |
checks: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: Swatinem/rust-cache@v2 | |
with: | |
save-if: ${{ github.ref == 'refs/heads/main' }} | |
key: ${{ runner.os }}-cache-unit-v${{ inputs.cache-version }} | |
- name: Format | |
run: cargo fmt --all -- --check | |
- name: Clippy | |
run: cargo clippy --all-targets --all-features -- -D warnings |