8 Commits

Author SHA1 Message Date
argoyle 9bb5f4f80a Merge pull request 'chore(release): prepare for v0.3.2' (#128) from next-release into main
Release / release (push) Successful in 2m23s
presenter / test (push) Successful in 4m9s
presenter / vulnerabilities (push) Successful in 4m0s
pre-commit / pre-commit (push) Successful in 8m8s
Reviewed-on: #128
2026-02-19 16:42:43 +00:00
releaser 3f86d5c1a0 chore(release): prepare for v0.3.2
presenter / vulnerabilities (pull_request) Successful in 3m55s
presenter / test (pull_request) Successful in 5m2s
pre-commit / pre-commit (pull_request) Successful in 12m27s
2026-02-19 14:16:31 +00:00
releaser 6eff1ee4de chore(release): prepare for v0.3.2 2026-02-19 14:16:17 +00:00
renovate 0fceea7c94 fix(deps): update module github.com/vektah/gqlparser/v2 to v2.5.32 (#127)
Release / release (push) Successful in 1m41s
presenter / test (push) Successful in 3m1s
presenter / vulnerabilities (push) Successful in 4m29s
pre-commit / pre-commit (push) Successful in 10m12s
2026-02-19 14:14:29 +00:00
renovate 003df983a1 chore(deps): update pre-commit hook golangci/golangci-lint to v2.10.1 (#126)
Release / release (push) Failing after 2m0s
presenter / vulnerabilities (push) Successful in 3m41s
presenter / test (push) Successful in 6m32s
pre-commit / pre-commit (push) Successful in 7m31s
2026-02-17 17:35:16 +00:00
renovate 3ff236573e chore(deps): update pre-commit hook golangci/golangci-lint to v2.9.0 (#125)
presenter / vulnerabilities (push) Successful in 1m29s
Release / release (push) Successful in 1m35s
presenter / test (push) Successful in 2m51s
pre-commit / pre-commit (push) Successful in 10m4s
2026-02-11 13:15:07 +00:00
argoyle 8f0e645964 Merge pull request 'ci: add code coverage integration' (#123) from ci-coverage-integration into main
Release / release (push) Failing after 2m58s
presenter / vulnerabilities (push) Successful in 6m12s
presenter / test (push) Successful in 6m17s
pre-commit / pre-commit (push) Successful in 8m40s
Reviewed-on: #123
2026-01-28 12:37:56 +00:00
argoyle 30851a48a6 ci: add code coverage integration
presenter / vulnerabilities (pull_request) Successful in 2m43s
presenter / test (pull_request) Successful in 4m1s
pre-commit / pre-commit (pull_request) Successful in 5m9s
Add go-test-coverage for coverage threshold enforcement. Coverage data
is uploaded as artifacts on main branch and compared against baseline
in PRs using shell script that gracefully handles first run without
baseline. PR comments show coverage percentage.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-28 13:03:07 +01:00
7 changed files with 90 additions and 5 deletions
+55
View File
@@ -17,6 +17,61 @@ jobs:
- name: Run tests - name: Run tests
run: go test -race -coverprofile=coverage.txt ./... run: go test -race -coverprofile=coverage.txt ./...
- name: Check coverage
uses: vladopajic/go-test-coverage@v2
with:
config: ./.testcoverage.yml
# Download baseline coverage from main branch (for PRs)
- name: Download baseline coverage
if: gitea.event_name == 'pull_request'
uses: actions/download-artifact@v3
with:
name: coverage-baseline
path: ./baseline
continue-on-error: true
# Compare coverage against baseline (for PRs)
- name: Compare coverage
if: gitea.event_name == 'pull_request'
run: |
CURRENT=$(go tool cover -func=coverage.txt | grep "^total:" | awk '{print $NF}' | tr -d '%')
if [ -f ./baseline/coverage.txt ]; then
BASE=$(go tool cover -func=./baseline/coverage.txt | grep "^total:" | awk '{print $NF}' | tr -d '%')
echo "Base coverage: ${BASE}%"
echo "Current coverage: ${CURRENT}%"
if [ "$(echo "$CURRENT < $BASE" | bc -l)" -eq 1 ]; then
echo "::error::Coverage decreased from ${BASE}% to ${CURRENT}%"
exit 1
fi
echo "Coverage maintained or improved: ${BASE}% -> ${CURRENT}%"
else
echo "No baseline coverage found, skipping comparison"
echo "Current coverage: ${CURRENT}%"
fi
# Upload coverage as baseline (only on main)
- name: Upload coverage baseline
if: gitea.ref == 'refs/heads/main'
uses: actions/upload-artifact@v3
with:
name: coverage-baseline
path: coverage.txt
retention-days: 90
# Post coverage to PR comment
- name: Post coverage comment
if: gitea.event_name == 'pull_request'
env:
GITEA_TOKEN: ${{ secrets.GITEA_TOKEN }}
GITEA_URL: ${{ gitea.server_url }}
run: |
COVERAGE=$(go tool cover -func=coverage.txt | grep "^total:" | awk '{print $NF}')
curl -X POST "${GITEA_URL}/api/v1/repos/${{ gitea.repository }}/issues/${{ gitea.event.pull_request.number }}/comments" \
-H "Authorization: token ${GITEA_TOKEN}" \
-H "Content-Type: application/json" \
-d "{\"body\": \"## Coverage Report\n\nTotal coverage: **${COVERAGE}**\"}"
vulnerabilities: vulnerabilities:
runs-on: ubuntu-latest runs-on: ubuntu-latest
steps: steps:
+1 -1
View File
@@ -30,7 +30,7 @@ repos:
- id: go-test - id: go-test
- id: gofumpt - id: gofumpt
- repo: https://github.com/golangci/golangci-lint - repo: https://github.com/golangci/golangci-lint
rev: v2.8.0 rev: v2.10.1
hooks: hooks:
- id: golangci-lint-full - id: golangci-lint-full
- repo: https://github.com/gitleaks/gitleaks - repo: https://github.com/gitleaks/gitleaks
+13
View File
@@ -0,0 +1,13 @@
# Coverage configuration for go-test-coverage
# https://github.com/vladopajic/go-test-coverage
profile: coverage.txt
threshold:
file: 0
package: 0
total: 0
exclude:
paths:
- _test\.go$
+1 -1
View File
@@ -1,3 +1,3 @@
{ {
"version": "v0.3.1" "version": "v0.3.2"
} }
+17
View File
@@ -2,6 +2,23 @@
All notable changes to this project will be documented in this file. All notable changes to this project will be documented in this file.
## [0.3.2] - 2026-02-19
### 🐛 Bug Fixes
- *(deps)* Update module github.com/99designs/gqlgen to v0.17.86 (#117)
- *(deps)* Update module github.com/vektah/gqlparser/v2 to v2.5.32 (#127)
### ⚙️ Miscellaneous Tasks
- *(deps)* Update golang:1.25.5 docker digest to 3a01526 (#119)
- *(deps)* Update pre-commit hook alessandrojcm/commitlint-pre-commit-hook to v9.24.0 (#120)
- *(deps)* Update golang docker tag to v1.25.6 (#121)
- Remove GitLab CI configuration
- Add code coverage integration
- *(deps)* Update pre-commit hook golangci/golangci-lint to v2.9.0 (#125)
- *(deps)* Update pre-commit hook golangci/golangci-lint to v2.10.1 (#126)
## [0.3.1] - 2026-01-09 ## [0.3.1] - 2026-01-09
### ⚙️ Miscellaneous Tasks ### ⚙️ Miscellaneous Tasks
+1 -1
View File
@@ -5,7 +5,7 @@ go 1.24.1
require ( require (
github.com/99designs/gqlgen v0.17.86 github.com/99designs/gqlgen v0.17.86
github.com/stretchr/testify v1.11.1 github.com/stretchr/testify v1.11.1
github.com/vektah/gqlparser/v2 v2.5.31 github.com/vektah/gqlparser/v2 v2.5.32
) )
require ( require (
+2 -2
View File
@@ -16,8 +16,8 @@ github.com/sosodev/duration v1.3.1 h1:qtHBDMQ6lvMQsL15g4aopM4HEfOaYuhWBw3NPTtlqq
github.com/sosodev/duration v1.3.1/go.mod h1:RQIBBX0+fMLc/D9+Jb/fwvVmo0eZvDDEERAikUR6SDg= github.com/sosodev/duration v1.3.1/go.mod h1:RQIBBX0+fMLc/D9+Jb/fwvVmo0eZvDDEERAikUR6SDg=
github.com/stretchr/testify v1.11.1 h1:7s2iGBzp5EwR7/aIZr8ao5+dra3wiQyKjjFuvgVKu7U= github.com/stretchr/testify v1.11.1 h1:7s2iGBzp5EwR7/aIZr8ao5+dra3wiQyKjjFuvgVKu7U=
github.com/stretchr/testify v1.11.1/go.mod h1:wZwfW3scLgRK+23gO65QZefKpKQRnfz6sD981Nm4B6U= github.com/stretchr/testify v1.11.1/go.mod h1:wZwfW3scLgRK+23gO65QZefKpKQRnfz6sD981Nm4B6U=
github.com/vektah/gqlparser/v2 v2.5.31 h1:YhWGA1mfTjID7qJhd1+Vxhpk5HTgydrGU9IgkWBTJ7k= github.com/vektah/gqlparser/v2 v2.5.32 h1:k9QPJd4sEDTL+qB4ncPLflqTJ3MmjB9SrVzJrawpFSc=
github.com/vektah/gqlparser/v2 v2.5.31/go.mod h1:c1I28gSOVNzlfc4WuDlqU7voQnsqI6OG2amkBAFmgts= github.com/vektah/gqlparser/v2 v2.5.32/go.mod h1:c1I28gSOVNzlfc4WuDlqU7voQnsqI6OG2amkBAFmgts=
gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405 h1:yhCVgyC4o1eVCa2tZl7eS0r+SDo693bJlVdllGtEeKM= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405 h1:yhCVgyC4o1eVCa2tZl7eS0r+SDo693bJlVdllGtEeKM=
gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA= gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA=