Skip to content

Workflow file for this run

name: Rust
on:
pull_request:
branches: main
release:
types: published
env:
CARGO_TERM_COLOR: always
jobs:
test:
if: github.event_name != 'release'
strategy:
fail-fast: false
matrix:
os: [macos-latest, ubuntu-latest, windows-latest]
python-version: ['3.8', '3.9', '3.10', '3.11', '3.12']
runs-on: ${{ matrix.os }}
steps:
- name: checkout
uses: actions/checkout@v4
- uses: actions-rs/toolchain@v1
with:
components: clippy, rustfmt
default: true
toolchain: 1.79.0
- name: build
run: cargo build
- name: clippy
run: cargo clippy -- -D warnings
- name: doc
run: cargo doc
- name: fmt
run: cargo fmt --all -- --check
- name: test
run: cargo test --release
package:
runs-on: ubuntu-latest
steps:
- name: checkout
uses: actions/checkout@v4
- name: package
run: cargo package
- name: login
if: github.event_name == 'release'
run: cargo login ${{ secrets.CRATES_IO_TOKEN }}
- name: publish
if: github.event_name == 'release'
run: cargo publish