ci: run Tests and Summary on pull requests #231
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 | |
| on: | |
| push: | |
| branches: | |
| - main | |
| paths-ignore: | |
| - .gitignore | |
| - LICENSE | |
| - README.md | |
| pull_request: | |
| paths-ignore: | |
| - .gitignore | |
| - LICENSE | |
| - README.md | |
| concurrency: | |
| group: ${{ github.workflow }}-${{ github.ref }} | |
| cancel-in-progress: true | |
| jobs: | |
| test-main: | |
| runs-on: ubuntu-latest | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| go-version: ["1.21", "1.24", "1.25"] | |
| steps: | |
| - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6 | |
| - uses: actions/setup-go@4b73464bb391d4059bd26b0524d20df3927bd417 # v6 | |
| with: | |
| go-version: ${{ matrix.go-version }} | |
| cache: true | |
| - name: Install dependencies | |
| run: go mod download | |
| - name: Run tests with coverage | |
| run: go test -v -race -coverprofile=coverage.txt -covermode=atomic ./... | |
| - name: Upload coverage report to Codecov | |
| uses: codecov/codecov-action@57e3a136b779b570ffcdbf80b3bdc90e7fab3de2 # v6 | |
| with: | |
| token: ${{ secrets.CODECOV_TOKEN }} | |
| files: ./coverage.txt | |
| test-frameworks: | |
| runs-on: ubuntu-latest | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| go-version: ["1.21", "1.24", "1.25"] | |
| framework: ["chi-v5", "echo-v4", "fiber-v2", "gin"] | |
| framework-version: ["min"] | |
| include: | |
| - go-version: "1.25" | |
| framework: chi-v5 | |
| framework-version: latest | |
| - go-version: "1.25" | |
| framework: echo-v4 | |
| framework-version: latest | |
| - go-version: "1.25" | |
| framework: fiber-v2 | |
| framework-version: latest | |
| - go-version: "1.25" | |
| framework: echo-v5 | |
| framework-version: min | |
| - go-version: "1.25" | |
| framework: echo-v5 | |
| framework-version: latest | |
| - go-version: "1.25" | |
| framework: fiber-v3 | |
| framework-version: min | |
| - go-version: "1.25" | |
| framework: fiber-v3 | |
| framework-version: latest | |
| - go-version: "1.25" | |
| framework: gin | |
| framework-version: latest | |
| steps: | |
| - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6 | |
| - uses: actions/setup-go@4b73464bb391d4059bd26b0524d20df3927bd417 # v6 | |
| with: | |
| go-version: ${{ matrix.go-version }} | |
| cache: true | |
| - name: Install dependencies | |
| working-directory: ./${{ matrix.framework }} | |
| run: go mod download | |
| - name: Upgrade to latest framework version | |
| if: matrix.framework-version == 'latest' | |
| working-directory: ./${{ matrix.framework }} | |
| run: | | |
| case "${{ matrix.framework }}" in | |
| chi-v5) go get github.com/go-chi/chi/v5@latest ;; | |
| echo-v4) go get github.com/labstack/echo/v4@latest ;; | |
| echo-v5) go get github.com/labstack/echo/v5@latest ;; | |
| fiber-v2) go get github.com/gofiber/fiber/v2@latest ;; | |
| fiber-v3) go get github.com/gofiber/fiber/v3@latest ;; | |
| gin) go get github.com/gin-gonic/gin@latest ;; | |
| esac | |
| go mod tidy | |
| - name: Run tests with coverage | |
| working-directory: ./${{ matrix.framework }} | |
| run: go test -v -race -coverprofile=coverage.txt -covermode=atomic ./... | |
| - name: Upload coverage report to Codecov | |
| uses: codecov/codecov-action@57e3a136b779b570ffcdbf80b3bdc90e7fab3de2 # v6 | |
| with: | |
| token: ${{ secrets.CODECOV_TOKEN }} | |
| files: ./${{ matrix.framework }}/coverage.txt |