| name: CI | |
| on: | |
| push: | |
| pull_request: | |
| permissions: | |
| contents: read | |
| jobs: | |
| test: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v6 | |
| - uses: actions/setup-go@v6 | |
| with: | |
| go-version-file: backend/go.mod | |
| check-latest: false | |
| cache: true | |
| - name: Verify Go version | |
| run: | | |
| go version | grep -q 'go1.26.1' | |
| - name: Unit tests | |
| working-directory: backend | |
| run: make test-unit | |
| - name: Integration tests | |
| working-directory: backend | |
| run: make test-integration | |
| golangci-lint: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v6 | |
| - uses: actions/setup-go@v6 | |
| with: | |
| go-version-file: backend/go.mod | |
| check-latest: false | |
| cache: true | |
| - name: Verify Go version | |
| run: | | |
| go version | grep -q 'go1.26.1' | |
| - name: golangci-lint | |
| uses: golangci/golangci-lint-action@v9 | |
| with: | |
| version: v2.9 | |
| args: --timeout=30m | |
| working-directory: backend |