name: Check Hermes Server

on:
  pull_request:
    paths:
      - .github/workflows/ci-hermes-server.yml
      - apps/hermes/server/**
  push:
    branches: [main]
jobs:
  test:
    runs-on: ubuntu-latest
    defaults:
      run:
        working-directory: apps/hermes/server
    steps:
      - uses: actions/checkout@v2
      - uses: actions-rust-lang/setup-rust-toolchain@v1
        with:
          cache-workspaces: "apps/hermes/server -> target"
      - name: Install protoc
        uses: arduino/setup-protoc@v3
        with:
          repo-token: ${{ secrets.GITHUB_TOKEN }}
      - name: Format check
        run: cargo fmt --all -- --check
        if: success() || failure()
      - name: Clippy check
        run: cargo clippy --all-targets -- --deny warnings
        if: success() || failure()
      - name: Run executor tests
        run: cargo test
        if: success() || failure()
