14 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
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 94 additions and 47 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 ./...
+2 -2
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,7 +30,7 @@ repos:
- id: go-test
- id: gofumpt
- repo: https://github.com/golangci/golangci-lint
rev: v2.8.0
rev: v2.10.1
hooks:
- id: golangci-lint-full
- 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.
## [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
+2 -2
View File
@@ -3,9 +3,9 @@ module gitea.unbound.se/shiny/presenter
go 1.24.1
require (
github.com/99designs/gqlgen v0.17.85
github.com/99designs/gqlgen v0.17.86
github.com/stretchr/testify v1.11.1
github.com/vektah/gqlparser/v2 v2.5.31
github.com/vektah/gqlparser/v2 v2.5.32
)
require (
+4 -4
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.86 h1:C8N3UTa5heXX6twl+b0AJyGkTwYL6dNmFrgZNLRcU6w=
github.com/99designs/gqlgen v0.17.86/go.mod h1:KTrPl+vHA1IUzNlh4EYkl7+tcErL3MgKnhHrBcV74Fw=
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=
@@ -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/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=
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=