Skip to content

Pin dependencies (#59) #221

Pin dependencies (#59)

Pin dependencies (#59) #221

Workflow file for this run

name: Tests
on:
push:
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@1af58845a975a7985b0beb0cbe6fbbb71a41dbad # v5
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@1af58845a975a7985b0beb0cbe6fbbb71a41dbad # v5
with:
token: ${{ secrets.CODECOV_TOKEN }}
files: ./${{ matrix.framework }}/coverage.txt