name: Bugzilla Test Suite

# Controls when the action will run. Triggers the workflow on push or pull request
# events but only for the main branch
on:
  push:
    branches:
      - main
  pull_request:
    branches:
      - main
  # Allows you to run this workflow manually from the Actions tab
  workflow_dispatch:

jobs:
  test_sanity:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - name: Install docker-compose
        run: sudo apt update && sudo apt install -y docker-compose
      - name: Build the Docker images
        run: docker compose -f docker-compose.test.yml build
      - name: Run sanity tests
        run: docker compose -f docker-compose.test.yml run --no-deps bugzilla6.test test_sanity t/*.t extensions/*/t/*.t

#  test_webservices:
#    runs-on: ubuntu-latest
#    steps:
#      - uses: actions/checkout@v4
#      - name: Install docker-compose
#        run: sudo apt update && sudo apt install -y docker-compose
#      - name: Build the Docker images
#        run: docker compose -f docker-compose.test.yml build
#      - name: Run webservice tests
#        run: docker compose -f docker-compose.test.yml run bugzilla6.test test_webservices

  test_bugzilla6_mysql:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - name: Install docker-compose
        run: sudo apt update && sudo apt install -y docker-compose
      - name: Build the Docker images
        run: docker compose -f docker-compose.test.yml build
      - name: Run bmo specific tests
        run: docker compose -f docker-compose.test.yml run -e CI=1 bugzilla6.test test_bmo -q -f t/bmo/*.t

  test_bugzilla6_mariadb:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - name: Install docker-compose
        run: sudo apt update && sudo apt install -y docker-compose
      - name: Build the Docker images
        run: docker compose -f docker-compose.test-mariadb.yml build
      - name: Run bmo specific tests
        run: docker compose -f docker-compose.test-mariadb.yml run -e CI=1 bugzilla6.test test_bmo -q -f t/bmo/*.t

  test_bugzilla6_pg:
    runs-on: ubuntu-20.04
    steps:
      - uses: actions/checkout@v4
      - name: Install docker-compose
        run: sudo apt update && sudo apt install -y docker-compose docker.io
      - name: Build the Docker images
        run: docker-compose -f docker-compose.test-pg.yml build
      - name: Run bmo specific tests
        run: docker-compose -f docker-compose.test-pg.yml run -e CI=1 bugzilla6.test test_bmo -q -f t/bmo/*.t

  test_bugzilla6_sqlite:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - name: Install docker-compose
        run: sudo apt update && sudo apt install -y docker-compose
      - name: Build the Docker images
        run: docker compose -f docker-compose.test-sqlite.yml build
      - name: Run bmo specific tests
        run: docker compose -f docker-compose.test-sqlite.yml run -e CI=1 bugzilla6.test test_bmo -q -f t/bmo/*.t

