Files
taskchampion-sync-server/.github/workflows/rust-tests.yml
Phil Crockett 95da645ae5 Update and pin GitHub actions (#211)
Using `pinact run --update`

<https://github.com/suzuki-shunsuke/pinact>

Also: dependabot will continue functioning as usual, and it also knows
how to update the version comments.
2026-06-13 14:44:46 -04:00

65 lines
1.7 KiB
YAML

name: tests - rust
on:
push:
branches:
- main
pull_request:
types: [opened, reopened, synchronize]
jobs:
test:
strategy:
matrix:
postgres:
- "17"
rust:
# MSRV
- "1.88.0"
- "stable"
runs-on: ubuntu-latest
name: "rust ${{ matrix.rust }} / postgres ${{ matrix.postgres }}"
services:
# Service container for PostgreSQL
postgres:
image: "postgres:${{ matrix.postgres }}"
env:
POSTGRES_DB: test_db
POSTGRES_USER: test_user
POSTGRES_PASSWORD: test_password
ports:
- 5432:5432
# Set health checks to ensure Postgres is ready before the job starts
options: >-
--health-cmd pg_isready
--health-interval 10s
--health-timeout 5s
--health-retries 5
steps:
- uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3
- name: Cache cargo registry
uses: actions/cache@27d5ce7f107fe9357f9df03efb73ab90386fccae # v5.0.5
with:
path: ~/.cargo/registry
key: ${{ runner.os }}-${{ matrix.rust }}-cargo-registry-${{ hashFiles('**/Cargo.lock') }}
- name: Cache cargo build
uses: actions/cache@27d5ce7f107fe9357f9df03efb73ab90386fccae # v5.0.5
with:
path: target
key: ${{ runner.os }}-${{ matrix.rust }}-cargo-build-target-${{ hashFiles('**/Cargo.lock') }}
- uses: actions-rs/toolchain@b2417cde72dcf67f306c0ae8e0828a81bf0b189f # v1.0.6
with:
toolchain: "${{ matrix.rust }}"
override: true
- name: test
env:
TEST_DB_URL: postgresql://test_user:test_password@localhost:5432/test_db
run: cargo test