planetwars.dev/.github/workflows/rust-tests.yml
2022-10-12 22:52:15 +02:00

55 lines
1.3 KiB
YAML

name: Run rust tests
on: [push]
jobs:
test-rust:
runs-on: ubuntu-latest
services:
postgres:
image: postgres
env:
POSTGRES_DB: "planetwars-test"
POSTGRES_USER: "planetwars"
POSTGRES_PASSWORD: "planetwars"
ports:
- 5432:5432
steps:
- uses: actions/checkout@v2
- name: Update local toolchain
run: |
rustup update
rustup component add clippy
rustup install nightly
- name: Toolchain info
run: |
cargo --version --verbose
rustc --version
cargo clippy --version
- name: Cargo cache
uses: actions/cache@v3
with:
path: |
~/.cargo/bin/
~/.cargo/registry/index/
~/.cargo/registry/cache/
~/.cargo/git/db/
target/
key: ${{ runner.os }}-cargo-${{ hashFiles('**/Cargo.lock') }}
- name: Setup tests
run: |
docker pull python:3.10-slim-buster
cargo install diesel_cli --version ^2.0 || true
cd planetwars-server
diesel migration run --locked-schema
env:
DATABASE_URL: postgresql://planetwars:planetwars@localhost/planetwars-test
- name: Test
run: |
cargo check
cargo test