123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687 |
- ---
- 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
- LIBRARY_PATH: ${{ github.workspace }}/watcher/target/lib
- 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: Install e-dant/watcher
- uses: ./.github/actions/watcher
- -
- name: Set 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: Run library tests
- run: go test -race -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@v6
- if: matrix.php-versions == '8.4'
- with:
- version: latest
|