name: Rust
on:
push:
branches:
- main
pull_request:
branches:
- main
env:
CARGO_TERM_COLOR: always
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Install PostgreSQL client tools (pg_dump 17)
run: |
set -e
sudo apt-get update
sudo apt-get install -y --no-install-recommends ca-certificates curl gnupg
sudo install -d -m 0755 /etc/apt/keyrings
curl -fsSL https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo gpg --dearmor -o /etc/apt/keyrings/postgresql.gpg
echo "deb [signed-by=/etc/apt/keyrings/postgresql.gpg] http://apt.postgresql.org/pub/repos/apt $(lsb_release -cs)-pgdg main" | sudo tee /etc/apt/sources.list.d/pgdg.list >/dev/null
sudo apt-get update
sudo apt-get install -y --no-install-recommends postgresql-client-17
- name: Setup Supabase CLI
uses: supabase/setup-cli@v1
with:
version: latest
- name: Start Supabase
run: supabase start
- name: Build
run: cargo build --verbose
- name: Run tests
run: cargo test --verbose
env:
SUPABASE_URL: http://127.0.0.1:54321
SUPABASE_KEY: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJzdXBhYmFzZS1kZW1vIiwicm9sZSI6ImFub24iLCJleHAiOjE5ODM4MTI5OTZ9.CRXP1A7WOeoJeXxjNni43kdQwgnWNReilDMblYTn_I0
ATHENA_RUN_BACKUP_E2E: "1"
ATHENA_PG_DUMP_PATH: /usr/bin/pg_dump
ATHENA_PG_RESTORE_PATH: /usr/bin/pg_restore
ATHENA_PG_TOOLS_ALLOW_DOWNLOAD: "0"
format:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Run rustfmt
run: cargo fmt --check
clippy:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Run Clippy
run: cargo clippy --all-targets --all-features
readme:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Check README
run: |
cargo install --locked cargo-rdme
export PATH=$PATH:~/.cargo/bin
cargo rdme --check