tests.yaml 1.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960
  1. ---
  2. name: Tests
  3. on:
  4. pull_request:
  5. branches:
  6. - main
  7. push:
  8. branches:
  9. - main
  10. jobs:
  11. tests:
  12. runs-on: ubuntu-latest
  13. strategy:
  14. fail-fast: false
  15. matrix:
  16. php-versions: ['8.2', '8.3']
  17. steps:
  18. -
  19. uses: actions/checkout@v4
  20. -
  21. uses: actions/setup-go@v5
  22. with:
  23. go-version: '1.21'
  24. cache-dependency-path: |
  25. go.sum
  26. caddy/go.sum
  27. -
  28. uses: shivammathur/setup-php@v2
  29. with:
  30. php-version: ${{ matrix.php-versions }}
  31. ini-file: development
  32. coverage: none
  33. tools: none
  34. env:
  35. phpts: ts
  36. -
  37. name: Set CGO flags
  38. run: |
  39. echo "CGO_CFLAGS=$(php-config --includes)" >> "$GITHUB_ENV"
  40. -
  41. name: Build
  42. run: go build
  43. env:
  44. GOEXPERIMENT: cgocheck2
  45. -
  46. name: Build testcli binary
  47. working-directory: internal/testcli/
  48. run: go build
  49. -
  50. name: Run library tests
  51. run: CGO_CXXFLAGS=-fPIE CGO_CFLAGS=-fPIE CGO_LDFLAGS=-pie go test -buildmode=pie -v ./...
  52. -
  53. name: Run Caddy module tests
  54. working-directory: caddy/
  55. run: CGO_CXXFLAGS=-fPIE CGO_CFLAGS=-fPIE CGO_LDFLAGS=-pie go test -buildmode=pie -v ./...
  56. -
  57. name: Lint Go code
  58. uses: golangci/golangci-lint-action@v3
  59. with:
  60. version: latest