name: "Test"

on:
  push:
    branches: [ main, develop ]
  pull_request:
    # The branches below must be a subset of the branches above
    branches: [ main, develop ]

jobs:
  test:
    name: Test
    runs-on: ubuntu-20.04
    services:
      mongo:
        image: mongo:5
        ports:
          - 27017:27017
    env:
      CRAWLAB_SERVER_PORT: 9999
    steps:
      - name: Checkout repository
        uses: actions/checkout@v2
      - uses: actions/setup-go@v3
        with:
          go-version: '^1.22'
      - name: Run unit tests
        run: |
          mods=(\
            "github.com/crawlab-team/crawlab/core/controllers" \
            "github.com/crawlab-team/crawlab/core/models/client" \
            "github.com/crawlab-team/crawlab/core/models/service" \
          )
          for pkg in ${mods[@]}; do
            go test ${pkg}
          done
