name: Publish crates
on:
release:
types: [published]
permissions:
contents: read
id-token: write
jobs:
publish:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Install Rust
uses: dtolnay/rust-toolchain@stable
- name: Install SQLite
run: sudo apt-get update && sudo apt-get install -y libsqlite3-dev sqlite3
- name: Test workspace
run: cargo test --workspace
- name: Install cargo-deny
uses: taiki-e/install-action@cargo-deny
- name: Check dependencies
run: cargo deny check
- name: Authenticate to crates.io
id: auth
uses: rust-lang/crates-io-auth-action@v1
- name: Publish sqlite-functions
run: cargo publish -p sqlite-functions
env:
CARGO_REGISTRY_TOKEN: ${{ steps.auth.outputs.token }}