name: testing MySQL

on:
  pull_request:
  push:
    branches:
      - 'forgejo*'
      - 'v*/forgejo*'

jobs:
  test-mysql:
    runs-on: ubuntu-latest
    container:
      image: codeberg.org/forgejo/test_env:main
    services:
      mysql8:
        image: mysql:8
        env:
          MYSQL_ALLOW_EMPTY_PASSWORD: yes
          MYSQL_DATABASE: testgitea
        ports:
          - "3306:3306"
    steps:
      - uses: https://code.forgejo.org/actions/checkout@v3
      - uses: https://code.forgejo.org/actions/setup-go@v4
        with:
          go-version: ">=1.20.0"
      - run: |
          git config --add safe.directory '*'
          chown -R gitea:gitea . /go
      - run: |
          su gitea -c 'make deps-backend'
      - run: |
          su gitea -c 'make backend'
        env:
          TAGS: bindata
      - run: |
          su gitea -c 'make test-mysql8-migration test-mysql8'
        timeout-minutes: 50
        env:
          TAGS: bindata
          USE_REPO_TEST_DIR: 1