name: Test (Full) on: workflow_call: permissions: contents: read jobs: test-gate: name: Test Gate runs-on: ubuntu-latest services: mysql: image: mysql:8.0 env: MYSQL_ROOT_PASSWORD: testpass MYSQL_DATABASE: nex_test MYSQL_USER: nex_test MYSQL_PASSWORD: testpass ports: - 13306:3306 options: >- --health-cmd="mysqladmin ping -h localhost -u root -ptestpass" --health-interval=3s --health-timeout=5s --health-retries=10 steps: - name: Checkout uses: actions/checkout@v5 with: lfs: true - name: Setup Go uses: actions/setup-go@v6 with: go-version-file: go.work cache-dependency-path: | backend/go.sum versionctl/go.sum - name: Setup Bun uses: oven-sh/setup-bun@v2 - name: Lint run: make lint - name: Test run: make test - name: MySQL tests run: cd backend && go test -tags=mysql ./tests/mysql/... -v -count=1 - name: Install Playwright browsers run: cd frontend && bunx playwright install --with-deps chromium - name: E2E tests run: cd frontend && bun run test:e2e