name: tests-and-publish
run-name: Check code and publish new version on crate.io
on: [workflow_dispatch]
env:
CARGO_TERM_COLOR: always
jobs:
tests:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Run cargo tests
run: cargo test --features hconfig --features tracing_consumer --features log_consumer
publish:
runs-on: ubuntu-latest
needs: tests
environment: release permissions:
id-token: write steps:
- uses: actions/checkout@v4
- uses: rust-lang/crates-io-auth-action@v1
id: auth
- run: cargo publish
env:
CARGO_REGISTRY_TOKEN: ${{ steps.auth.outputs.token }}