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