Skip to content

Change And/Or-type structures #420

Change And/Or-type structures

Change And/Or-type structures #420

Workflow file for this run

name: CI
on:
push:
branches: [main]
paths-ignore:
- "doc/**"
- ".github/**"
- ".assets/**"
- ".cargo/**"
- "**.md"
- "**.yml"
- "LICENSE-**"
- ".gitmessage"
- ".pre-commit-config.yaml"
pull_request:
branches: [main]
paths-ignore:
- "doc/**"
- ".github/**"
- ".assets/**"
- ".cargo/**"
- "**.md"
- "**.yml"
- "LICENSE-**"
- ".gitmessage"
- ".pre-commit-config.yaml"
env:
CARGO_TERM_COLOR: always
jobs:
test:
strategy:
fail-fast: false
matrix:
# M1 Mac does not support Python 3.7~3.9
os: [windows-latest, ubuntu-latest, macos-13]
python-version: ['3.7', '3.8', '3.9', '3.10', '3.11.3']
runs-on: ${{ matrix.os }}
env:
RUST_BACKTRACE: full
timeout-minutes: 20
steps:
- uses: actions/checkout@v3
- uses: actions/setup-python@v4
with:
python-version: ${{ matrix.python-version }}
- uses: Swatinem/rust-cache@v2
- run: rustup update stable
- uses: taiki-e/install-action@nextest
- run: cargo test --features backtrace --all --exclude els --verbose -- --include-ignored --nocapture
# FIXME: Currently, when running ELS tests in the GitHub actions environment,
# the tests fail probabilistically on Windows and MacOS.
# This is likely due to a delay in processing timing.
# We will ignore this error and just retry until the ELS implementation is improved.
- run: cargo nextest run --package els --nocapture --retries 2
build-check:
strategy:
fail-fast: false
matrix:
os: [windows-latest, ubuntu-latest, macos-13, macos-latest]
runs-on: ${{ matrix.os }}
steps:
- uses: actions/checkout@v3
- uses: Swatinem/rust-cache@v2
- run: rustup update stable
- run: cargo build --all --all-targets --verbose
lint:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: Swatinem/rust-cache@v2
- run: rustup update stable
- name: cargo clippy
uses: actions-rs/cargo@v1
with:
command: clippy
args: --all --all-targets --verbose -- -D warnings
publish-nightly:
runs-on: ubuntu-latest
if: contains(github.event.head_commit.message, 'update version (nightly')
steps:
- uses: actions/checkout@v3
- uses: Swatinem/rust-cache@v2
- run: rustup update stable
- name: Check semver
run: |
cargo install cargo-semver-checks --locked
cargo semver-checks --all
- name: cargo publish
run: |
cargo login ${{ secrets.CARGO_TOKEN }}
./cargo_publish.sh