name: ci
on:
pull_request:
push:
branches: ["**"]
tags: ["v*"]
jobs:
static:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v5
- uses: dtolnay/rust-toolchain@stable
with:
components: rustfmt, clippy
- uses: Swatinem/rust-cache@v2
- run: ./scripts/ci.sh
mssql:
runs-on: ubuntu-latest
services:
mssql:
image: mcr.microsoft.com/mssql/server:2025-latest
env:
ACCEPT_EULA: Y
MSSQL_PID: Developer
MSSQL_SA_PASSWORD: SqlxPassw0rd!
ports:
- 1433:1433
steps:
- uses: actions/checkout@v5
- uses: dtolnay/rust-toolchain@stable
- uses: Swatinem/rust-cache@v2
with:
key: mssql
- run: ./scripts/test-mssql.sh
env:
MSSQL_DATABASE_URL: mssql://sa:SqlxPassw0rd%21@localhost:1433/master?encrypt=mandatory&trust_server_certificate=true
publish:
if: github.event_name == 'push' && startsWith(github.ref, 'refs/tags/v')
needs: [static, mssql]
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v5
- uses: dtolnay/rust-toolchain@stable
- uses: Swatinem/rust-cache@v2
- run: ./scripts/publish.sh
env:
CARGO_REGISTRY_TOKEN: ${{ secrets.CARGO_REGISTRY_TOKEN }}