--- name: Tests on: pull_request: branches: - main paths-ignore: - 'docs/**' push: branches: - main paths-ignore: - 'docs/**' permissions: contents: read jobs: tests: runs-on: ubuntu-latest strategy: fail-fast: false matrix: php-versions: ['8.2', '8.3', '8.4'] env: GOEXPERIMENT: cgocheck2 GOMAXPROCS: 10 steps: - uses: actions/checkout@v4 - uses: actions/setup-go@v5 with: go-version: '1.22' cache-dependency-path: | go.sum caddy/go.sum - uses: shivammathur/setup-php@v2 with: php-version: ${{ matrix.php-versions }} ini-file: development coverage: none tools: none env: phpts: ts debug: true - name: Set CGO flags run: | echo "CGO_CFLAGS=$(php-config --includes)" >> "$GITHUB_ENV" - name: Build run: go build - name: Build testcli binary working-directory: internal/testcli/ run: go build - name: Run library tests run: go test -race -v ./... - name: Run Caddy module tests working-directory: caddy/ run: go test -race -v ./... - name: Build the server working-directory: caddy/frankenphp/ run: go build - name: Start the server working-directory: testdata/ run: sudo ../caddy/frankenphp/frankenphp start - name: Run integrations tests run: ./reload_test.sh - name: Lint Go code uses: golangci/golangci-lint-action@v6 if: matrix.php-versions == '8.3' with: version: latest