name: Publish Readiness
on:
pull_request:
branches:
- main
push:
branches:
- main
workflow_dispatch:
permissions:
contents: read
jobs:
release-readiness:
name: Release Readiness Checks
runs-on: ubuntu-latest
steps:
- name: Check out repository
uses: actions/checkout@v4
- name: Install stable Rust toolchain
uses: actions-rust-lang/setup-rust-toolchain@v1
with:
rustflags: ""
cache-workspaces: |
. -> target
- name: Check examples with all features enabled
run: cargo check --workspace --all-features --examples
- name: Test workspace without default features
run: cargo test --workspace --no-default-features
- name: Dry-run publish crate
run: |
cargo package --list -p rustuse
cargo publish --dry-run --allow-dirty -p rustuse