28 Commits

Author SHA1 Message Date
releaser 93bbcada5d chore(release): prepare for v0.3.4 (#146)
Release / release (push) Successful in 51s
presenter / vulnerabilities (push) Successful in 1m36s
presenter / test (push) Successful in 3m25s
pre-commit / pre-commit (push) Successful in 6m5s
## [0.3.4] - 2026-03-24

### 🐛 Bug Fixes

- *(deps)* Update module github.com/99designs/gqlgen to v0.17.88 (#138)
- *(deps)* Update module github.com/99designs/gqlgen to v0.17.89 (#145)

### ⚙️ Miscellaneous Tasks

- *(deps)* Update pre-commit hook golangci/golangci-lint to v2.11.0 (#132)
- *(deps)* Update pre-commit hook golangci/golangci-lint to v2.11.1 (#134)
- *(deps)* Update pre-commit hook golangci/golangci-lint to v2.11.2 (#136)
- *(deps)* Update pre-commit hook golangci/golangci-lint to v2.11.3 (#139)
- *(deps)* Update pre-commit hook gitleaks/gitleaks to v8.30.1 (#141)
- *(deps)* Update pre-commit hook golangci/golangci-lint to v2.11.4 (#143)

<!-- generated by git-cliff -->

---

**Note:** Please use **Squash Merge** when merging this PR.

Reviewed-on: #146
Co-authored-by: Unbound Releaser <releaser@unbound.se>
Co-committed-by: Unbound Releaser <releaser@unbound.se>
2026-04-02 09:14:42 +00:00
renovate 542830fc5d fix(deps): update module github.com/99designs/gqlgen to v0.17.89 (#145)
presenter / test (push) Successful in 2m11s
presenter / vulnerabilities (push) Successful in 1m47s
Release / release (push) Successful in 1m15s
pre-commit / pre-commit (push) Successful in 5m48s
2026-03-24 19:18:59 +00:00
renovate 8065c26baa chore(deps): update pre-commit hook golangci/golangci-lint to v2.11.4 (#143)
presenter / test (push) Successful in 2m12s
presenter / vulnerabilities (push) Successful in 1m37s
Release / release (push) Successful in 58s
pre-commit / pre-commit (push) Successful in 6m15s
2026-03-22 19:27:17 +00:00
renovate 357396a134 chore(deps): update pre-commit hook gitleaks/gitleaks to v8.30.1 (#141)
presenter / vulnerabilities (push) Successful in 1m40s
Release / release (push) Successful in 1m21s
presenter / test (push) Successful in 2m50s
pre-commit / pre-commit (push) Successful in 6m16s
2026-03-12 16:24:51 +00:00
renovate ff13d824a7 chore(deps): update pre-commit hook golangci/golangci-lint to v2.11.3 (#139)
Release / release (push) Successful in 1m1s
presenter / vulnerabilities (push) Successful in 2m34s
presenter / test (push) Successful in 3m4s
pre-commit / pre-commit (push) Successful in 7m25s
2026-03-10 11:28:27 +00:00
renovate 2be6ebe6a5 fix(deps): update module github.com/99designs/gqlgen to v0.17.88 (#138)
Release / release (push) Failing after 1m9s
presenter / vulnerabilities (push) Successful in 1m57s
presenter / test (push) Successful in 2m38s
pre-commit / pre-commit (push) Successful in 4m49s
2026-03-09 01:40:27 +00:00
renovate a3e5a710c2 chore(deps): update pre-commit hook golangci/golangci-lint to v2.11.2 (#136)
Release / release (push) Successful in 1m0s
presenter / vulnerabilities (push) Successful in 1m27s
presenter / test (push) Successful in 2m2s
pre-commit / pre-commit (push) Successful in 6m4s
2026-03-07 22:41:33 +00:00
renovate 9316724b23 chore(deps): update pre-commit hook golangci/golangci-lint to v2.11.1 (#134)
Release / release (push) Successful in 1m5s
presenter / test (push) Successful in 2m26s
presenter / vulnerabilities (push) Successful in 1m50s
pre-commit / pre-commit (push) Successful in 6m27s
2026-03-06 15:43:43 +00:00
renovate 58aa0d583c chore(deps): update pre-commit hook golangci/golangci-lint to v2.11.0 (#132)
presenter / vulnerabilities (push) Successful in 2m18s
Release / release (push) Successful in 1m41s
presenter / test (push) Successful in 3m45s
pre-commit / pre-commit (push) Successful in 6m17s
2026-03-06 14:18:25 +00:00
argoyle ff78b7d6b3 Merge pull request 'chore(release): prepare for v0.3.3' (#130) from next-release into main
presenter / vulnerabilities (push) Successful in 2m36s
presenter / test (push) Successful in 3m27s
Release / release (push) Successful in 45s
pre-commit / pre-commit (push) Successful in 5m28s
Reviewed-on: #130
2026-02-20 15:00:08 +00:00
releaser 5e182c2e80 chore(release): prepare for v0.3.3
presenter / vulnerabilities (pull_request) Successful in 2m36s
presenter / test (pull_request) Successful in 4m1s
pre-commit / pre-commit (pull_request) Successful in 7m13s
2026-02-20 14:50:39 +00:00
releaser 29f9f24c48 chore(release): prepare for v0.3.3 2026-02-20 14:50:36 +00:00
argoyle 1216372365 Merge pull request 'fix(deps): update module github.com/99designs/gqlgen to v0.17.87' (#129) from renovate/github.com-99designs-gqlgen-0.x into main
Release / release (push) Successful in 2m31s
presenter / vulnerabilities (push) Successful in 5m6s
pre-commit / pre-commit (push) Successful in 7m51s
presenter / test (push) Successful in 6m12s
Reviewed-on: #129
2026-02-20 14:48:53 +00:00
renovate 0454c26db9 fix(deps): update module github.com/99designs/gqlgen to v0.17.87
presenter / vulnerabilities (pull_request) Successful in 6m57s
presenter / test (pull_request) Successful in 8m9s
pre-commit / pre-commit (pull_request) Successful in 11m7s
2026-02-19 19:39:17 +01:00
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
argoyle ac19c57724 Merge pull request 'chore: remove GitLab CI configuration' (#122) from remove-gitlab-ci into main
Release / release (push) Successful in 1m21s
presenter / test (push) Successful in 1m32s
presenter / vulnerabilities (push) Successful in 5m1s
pre-commit / pre-commit (push) Successful in 16m9s
Reviewed-on: #122
2026-01-19 06:52:41 +00:00
argoyle fb4a1b53c5 chore: remove GitLab CI configuration
presenter / test (pull_request) Successful in 2m26s
pre-commit / pre-commit (pull_request) Successful in 5m5s
presenter / vulnerabilities (pull_request) Successful in 6m27s
2026-01-18 20:36:15 +01:00
renovate f6924a3d10 chore(deps): update golang docker tag to v1.25.6 (#121)
presenter / test (push) Successful in 2m7s
presenter / vulnerabilities (push) Successful in 2m8s
pre-commit / pre-commit (push) Successful in 5m1s
Release / release (push) Successful in 7m13s
2026-01-15 23:44:04 +00:00
renovate 1f6675f619 chore(deps): update pre-commit hook alessandrojcm/commitlint-pre-commit-hook to v9.24.0 (#120)
presenter / vulnerabilities (push) Successful in 2m28s
Release / release (push) Successful in 2m3s
presenter / test (push) Successful in 3m22s
pre-commit / pre-commit (push) Successful in 10m33s
2026-01-13 21:30:52 +00:00
renovate d7c9a791d5 chore(deps): update golang:1.25.5 docker digest to 3a01526 (#119)
presenter / test (push) Successful in 3m7s
presenter / vulnerabilities (push) Successful in 3m9s
Release / release (push) Successful in 2m56s
pre-commit / pre-commit (push) Successful in 7m54s
2026-01-13 06:21:47 +00:00
renovate e33987441a fix(deps): update module github.com/99designs/gqlgen to v0.17.86 (#117)
Release / release (push) Successful in 2m2s
presenter / vulnerabilities (push) Successful in 5m26s
presenter / test (push) Successful in 5m8s
pre-commit / pre-commit (push) Successful in 7m19s
2026-01-12 02:20:26 +00:00
8 changed files with 124 additions and 52 deletions
+55
View File
@@ -17,6 +17,61 @@ jobs:
- name: Run tests
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:
runs-on: ubuntu-latest
steps:
-38
View File
@@ -1,38 +0,0 @@
include:
- template: 'Workflows/MergeRequest-Pipelines.gitlab-ci.yml'
- project: unboundsoftware/ci-templates
file: Defaults.gitlab-ci.yml
- project: unboundsoftware/ci-templates
file: Release.gitlab-ci.yml
- project: unboundsoftware/ci-templates
file: Pre-Commit-Go.gitlab-ci.yml
image: amd64/golang:1.25.5@sha256:ad03ba93327b8a6143b49373790b5d92c28067bdb814418509466122ee9c9e63
stages:
- deps
- test
deps:
stage: deps
script:
- go mod download
test:
stage: test
dependencies:
- deps
script:
- CGO_ENABLED=1 go test -mod=readonly -race -coverprofile=coverage.txt -covermode=atomic -coverpkg=$(go list ./... | tr '\n' , | sed 's/,$//') ./...
- go tool cover -html=coverage.txt -o coverage.html
- go tool cover -func=coverage.txt
- curl -Os https://uploader.codecov.io/latest/linux/codecov
- chmod +x codecov
- ./codecov -t ${CODECOV_TOKEN} -R $CI_PROJECT_DIR -C $CI_COMMIT_SHA -r $CI_PROJECT_PATH
vulnerabilities:
stage: test
image: amd64/golang:1.25.5@sha256:ad03ba93327b8a6143b49373790b5d92c28067bdb814418509466122ee9c9e63
script:
- go install golang.org/x/vuln/cmd/govulncheck@latest
- govulncheck ./...
+3 -3
View File
@@ -11,7 +11,7 @@ repos:
- --allow-multiple-documents
- id: check-added-large-files
- repo: https://github.com/alessandrojcm/commitlint-pre-commit-hook
rev: v9.23.0
rev: v9.24.0
hooks:
- id: commitlint
stages: [ commit-msg ]
@@ -30,10 +30,10 @@ repos:
- id: go-test
- id: gofumpt
- repo: https://github.com/golangci/golangci-lint
rev: v2.8.0
rev: v2.11.4
hooks:
- id: golangci-lint-full
- repo: https://github.com/gitleaks/gitleaks
rev: v8.30.0
rev: v8.30.1
hooks:
- id: 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.4"
}
+39
View File
@@ -2,6 +2,45 @@
All notable changes to this project will be documented in this file.
## [0.3.4] - 2026-03-24
### 🐛 Bug Fixes
- *(deps)* Update module github.com/99designs/gqlgen to v0.17.88 (#138)
- *(deps)* Update module github.com/99designs/gqlgen to v0.17.89 (#145)
### ⚙️ Miscellaneous Tasks
- *(deps)* Update pre-commit hook golangci/golangci-lint to v2.11.0 (#132)
- *(deps)* Update pre-commit hook golangci/golangci-lint to v2.11.1 (#134)
- *(deps)* Update pre-commit hook golangci/golangci-lint to v2.11.2 (#136)
- *(deps)* Update pre-commit hook golangci/golangci-lint to v2.11.3 (#139)
- *(deps)* Update pre-commit hook gitleaks/gitleaks to v8.30.1 (#141)
- *(deps)* Update pre-commit hook golangci/golangci-lint to v2.11.4 (#143)
## [0.3.3] - 2026-02-20
### 🐛 Bug Fixes
- *(deps)* Update module github.com/99designs/gqlgen to v0.17.87
## [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
### ⚙️ Miscellaneous Tasks
+5 -4
View File
@@ -1,17 +1,18 @@
module gitea.unbound.se/shiny/presenter
go 1.24.1
go 1.25.0
require (
github.com/99designs/gqlgen v0.17.85
github.com/99designs/gqlgen v0.17.89
github.com/stretchr/testify v1.11.1
github.com/vektah/gqlparser/v2 v2.5.31
github.com/vektah/gqlparser/v2 v2.5.32
)
require (
github.com/davecgh/go-spew v1.1.1 // indirect
github.com/google/uuid v1.6.0 // indirect
github.com/pmezard/go-difflib v1.0.0 // indirect
github.com/sosodev/duration v1.3.1 // indirect
github.com/sosodev/duration v1.4.0 // indirect
golang.org/x/sync v0.20.0 // indirect
gopkg.in/yaml.v3 v3.0.1 // indirect
)
+8 -6
View File
@@ -1,5 +1,5 @@
github.com/99designs/gqlgen v0.17.85 h1:EkGx3U2FDcxQm8YDLQSpXIAVmpDyZ3IcBMOJi2nH1S0=
github.com/99designs/gqlgen v0.17.85/go.mod h1:yvs8s0bkQlRfqg03YXr3eR4OQUowVhODT/tHzCXnbOU=
github.com/99designs/gqlgen v0.17.89 h1:KzEcxPiMgQoMw3m/E85atUEHyZyt0PbAflMia5Kw8z8=
github.com/99designs/gqlgen v0.17.89/go.mod h1:GFqruTVGB7ZTdrf1uzOagpXbY7DrEt1pIxnTdhIbWvQ=
github.com/agnivade/levenshtein v1.2.1 h1:EHBY3UOn1gwdy/VbFwgo4cxecRznFk7fKWN1KOX7eoM=
github.com/agnivade/levenshtein v1.2.1/go.mod h1:QVVI16kDrtSuwcpd0p1+xMC6Z/VfhtCyDIjcwga4/DU=
github.com/andreyvit/diff v0.0.0-20170406064948-c7f18ee00883 h1:bvNMNQO63//z+xNgfBlViaCIJKLlCJ6/fmUseuG0wVQ=
@@ -12,12 +12,14 @@ github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZb
github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4=
github.com/sergi/go-diff v1.3.1 h1:xkr+Oxo4BOQKmkn/B9eMK0g5Kg/983T9DqqPHwYqD+8=
github.com/sergi/go-diff v1.3.1/go.mod h1:aMJSSKb2lpPvRNec0+w3fl7LP9IOFzdc9Pa4NFbPK1I=
github.com/sosodev/duration v1.3.1 h1:qtHBDMQ6lvMQsL15g4aopM4HEfOaYuhWBw3NPTtlqq4=
github.com/sosodev/duration v1.3.1/go.mod h1:RQIBBX0+fMLc/D9+Jb/fwvVmo0eZvDDEERAikUR6SDg=
github.com/sosodev/duration v1.4.0 h1:35ed0KiVFriGHHzZZJaZLgmTEEICIyt8Sx0RQfj9IjE=
github.com/sosodev/duration v1.4.0/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/go.mod h1:wZwfW3scLgRK+23gO65QZefKpKQRnfz6sD981Nm4B6U=
github.com/vektah/gqlparser/v2 v2.5.31 h1:YhWGA1mfTjID7qJhd1+Vxhpk5HTgydrGU9IgkWBTJ7k=
github.com/vektah/gqlparser/v2 v2.5.31/go.mod h1:c1I28gSOVNzlfc4WuDlqU7voQnsqI6OG2amkBAFmgts=
github.com/vektah/gqlparser/v2 v2.5.32 h1:k9QPJd4sEDTL+qB4ncPLflqTJ3MmjB9SrVzJrawpFSc=
github.com/vektah/gqlparser/v2 v2.5.32/go.mod h1:c1I28gSOVNzlfc4WuDlqU7voQnsqI6OG2amkBAFmgts=
golang.org/x/sync v0.20.0 h1:e0PTpb7pjO8GAtTs2dQ6jYa5BWYlMuX047Dco/pItO4=
golang.org/x/sync v0.20.0/go.mod h1:9xrNwdLfx4jkKbNva9FpL6vEN7evnE43NNNJQ2LF3+0=
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/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA=