Fix: actually exit on worker exit() #2988
Workflow file for this run
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| --- | |
| name: Tests | |
| concurrency: | |
| cancel-in-progress: true | |
| group: ${{ github.workflow }}-${{ github.ref }} | |
| on: | |
| pull_request: | |
| branches: | |
| - main | |
| paths-ignore: | |
| - "docs/**" | |
| push: | |
| branches: | |
| - main | |
| paths-ignore: | |
| - "docs/**" | |
| permissions: | |
| contents: read | |
| env: | |
| GOTOOLCHAIN: local | |
| GOEXPERIMENT: cgocheck2 | |
| jobs: | |
| tests-linux: | |
| name: Tests (Linux, PHP ${{ matrix.php-versions }}) | |
| runs-on: ubuntu-latest | |
| continue-on-error: ${{ matrix.experimental || false }} | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| include: | |
| - php-versions: "8.2" | |
| - php-versions: "8.3" | |
| - php-versions: "8.4" | |
| - php-versions: "8.5" | |
| experimental: true | |
| env: | |
| GOMAXPROCS: 10 | |
| LIBRARY_PATH: ${{ github.workspace }}/watcher/target/lib | |
| steps: | |
| - uses: actions/checkout@v5 | |
| with: | |
| persist-credentials: false | |
| - uses: actions/setup-go@v6 | |
| with: | |
| go-version: "1.25" | |
| 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: Install e-dant/watcher | |
| uses: ./.github/actions/watcher | |
| - name: Set CGO flags | |
| run: echo "CGO_CFLAGS=-I${PWD}/watcher/target/include $(php-config --includes)" >> "${GITHUB_ENV}" | |
| - name: Build | |
| run: go build | |
| - name: Build testcli binary | |
| working-directory: internal/testcli/ | |
| run: go build | |
| - name: Compile library tests | |
| run: go test -race -v -x -c | |
| - name: Run library tests | |
| run: ./frankenphp.test -test.v | |
| - name: Run Caddy module tests | |
| working-directory: caddy/ | |
| run: go test -tags nobadger,nomysql,nopgx -race -v ./... | |
| - name: Run Fuzzing Tests | |
| working-directory: caddy/ | |
| run: go test -fuzz FuzzRequest -fuzztime 20s | |
| - 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@v8 | |
| if: matrix.php-versions == '8.4' | |
| with: | |
| version: latest | |
| - name: Ensure go.mod is tidy | |
| if: matrix.php-versions == '8.4' | |
| run: go mod tidy -diff | |
| - name: Ensure caddy/go.mod is tidy | |
| if: matrix.php-versions == '8.4' | |
| run: go mod tidy -diff | |
| working-directory: caddy/ | |
| tests-mac: | |
| name: Tests (macOS, PHP 8.4) | |
| runs-on: macos-latest | |
| env: | |
| HOMEBREW_NO_AUTO_UPDATE: 1 | |
| steps: | |
| - uses: actions/checkout@v5 | |
| with: | |
| persist-credentials: false | |
| - uses: actions/setup-go@v6 | |
| with: | |
| go-version: "1.25" | |
| cache-dependency-path: | | |
| go.sum | |
| caddy/go.sum | |
| - uses: shivammathur/setup-php@v2 | |
| with: | |
| php-version: 8.4 | |
| ini-file: development | |
| coverage: none | |
| tools: none | |
| env: | |
| phpts: ts | |
| debug: true | |
| - name: Set Set CGO flags | |
| run: | | |
| { | |
| echo "CGO_CFLAGS=-I/opt/homebrew/include/ $(php-config --includes)" | |
| echo "CGO_LDFLAGS=-L/opt/homebrew/lib/ $(php-config --ldflags) $(php-config --libs)" | |
| } >> "${GITHUB_ENV}" | |
| - name: Build | |
| run: go build -tags nowatcher | |
| - name: Run library tests | |
| run: go test -tags nowatcher -race -v ./... | |
| - name: Run Caddy module tests | |
| working-directory: caddy/ | |
| run: go test -tags nowatcher,nobadger,nomysql,nopgx -race -v ./... |