name: Backend CI - cargo test

on:
  push:
    branches:
      - master
    paths:
      - '.github/workflows/backend*'
      - 'backend/**'
      - '!frontend/**'
  pull_request:
    paths:
      - '.github/workflows/backend*'
      - 'backend/**'
      - '!frontend/**'

env:
  CARGO_TERM_COLOR: always

defaults:
  run:
    working-directory: ./backend

jobs:
  tests:
    name: Run tests
    runs-on: ubuntu-latest
    steps:
      - name: Checkout sources
        uses: actions/checkout@v3

      - name: Install Rust stable toolchain
        uses: actions-rs/toolchain@v1
        with:
          profile: minimal
          toolchain: stable
          override: true

      - name: Rust Cache
        uses: Swatinem/rust-cache@b894d59a8d236e2979b247b80dac8d053ab340dd # v2.1.0
        with:
          workspaces: backend

      - name: Cargo test
        run: cargo test --verbose --jobs 1
