test: improve coverage and document unreachable branches #16
This file contains 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: ci | |
on: | |
pull_request: | |
push: | |
branches: [main] | |
env: | |
GO_VERSION: 1.22 | |
concurrency: | |
group: ci-${{ github.event.pull_request.number || github.ref }} | |
cancel-in-progress: true | |
jobs: | |
lint: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: actions/setup-go@v5 | |
with: | |
go-version: ${{ env.GO_VERSION }} | |
- name: Install golangci-lint | |
run: curl -sSfL https://raw.githubusercontent.com/golangci/golangci-lint/master/install.sh | sh -s -- -b $(go env GOPATH)/bin | |
- name: Install shadow | |
run: go install golang.org/x/tools/go/analysis/passes/shadow/cmd/shadow@latest | |
- name: Run linters | |
run: make lint | |
test: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: actions/setup-go@v5 | |
with: | |
go-version: ${{ env.GO_VERSION }} | |
- name: Run tests | |
run: make test | |
readme: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: actions/setup-go@v5 | |
with: | |
go-version: ${{ env.GO_VERSION }} | |
- name: Try to update README.md | |
run: go run tools/update_readme.go | |
- name: Check for changes | |
run: | | |
if [[ -n $(git status --porcelain) ]]; then | |
echo "❌ Error: README.md is not up to date. Please run \`go run tools/update_readme.go\`." | |
git status --porcelain | |
git diff | |
exit 1 | |
else | |
echo "✅ README.md is up to date." | |
fi |