12 Commits

Author SHA1 Message Date
argoyle ba1fe9694e Merge pull request 'ci: add code coverage integration' (#79) from ci-coverage-integration into main
pagination / test (push) Successful in 5m26s
Release / release (push) Successful in 4m48s
pagination / vulnerabilities (push) Successful in 7m51s
pre-commit / pre-commit (push) Successful in 14m30s
Reviewed-on: #79
2026-01-28 12:38:05 +00:00
argoyle 768dbed8f3 ci: add code coverage integration
pagination / test (pull_request) Successful in 6m26s
pagination / vulnerabilities (pull_request) Successful in 6m27s
pre-commit / pre-commit (pull_request) Successful in 11m3s
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:30 +01:00
renovate 8f09b252f5 chore(deps): update pre-commit hook alessandrojcm/commitlint-pre-commit-hook to v9.24.0 (#77)
pagination / vulnerabilities (push) Successful in 56s
Release / release (push) Successful in 1m3s
pagination / test (push) Successful in 1m32s
pre-commit / pre-commit (push) Successful in 7m11s
2026-01-14 06:28:05 +00:00
argoyle 235cfb3dfc Merge pull request 'chore(release): prepare for v0.2.1' (#76) from next-release into main
Release / release (push) Successful in 3m49s
pagination / test (push) Successful in 7m52s
pagination / vulnerabilities (push) Successful in 8m8s
pre-commit / pre-commit (push) Successful in 13m51s
Reviewed-on: #76
2026-01-09 13:50:13 +00:00
releaser 40410f3d78 chore(release): prepare for v0.2.1
pagination / test (pull_request) Successful in 3m4s
pagination / vulnerabilities (pull_request) Successful in 6m9s
pre-commit / pre-commit (pull_request) Successful in 12m37s
2026-01-09 13:26:56 +00:00
releaser fbbc7d0890 chore(release): prepare for v0.2.1 2026-01-09 13:26:53 +00:00
argoyle ab0af6c5a4 Merge pull request 'chore: migrate module path to gitea.unbound.se' (#75) from migrate-to-gitea into main
Release / release (push) Failing after 2m7s
pagination / test (push) Successful in 3m34s
pagination / vulnerabilities (push) Successful in 5m21s
pre-commit / pre-commit (push) Successful in 11m8s
Reviewed-on: #75
2026-01-09 13:24:39 +00:00
argoyle 88b4ab1467 chore: migrate module path to gitea.unbound.se
pagination / test (pull_request) Successful in 5m23s
pagination / vulnerabilities (pull_request) Successful in 6m20s
pre-commit / pre-commit (pull_request) Successful in 13m35s
Update module path from git.unbound.se to gitea.unbound.se for Go module
discovery over HTTPS.
2026-01-09 14:09:11 +01:00
releaser 95af59c075 chore(release): prepare for v0.2.1 2026-01-09 09:06:56 +00:00
releaser ebc94d4223 chore(release): prepare for v0.2.1 2026-01-09 09:06:53 +00:00
argoyle a1052d3708 Merge pull request 'chore(deps): update actions/setup-python action to v6' (#74) from renovate/actions-setup-python-6.x into main
Release / release (push) Failing after 1m27s
pre-commit / pre-commit (push) Successful in 6m46s
pagination / test (push) Successful in 7m8s
pagination / vulnerabilities (push) Successful in 7m32s
Reviewed-on: #74
2026-01-09 09:04:51 +00:00
renovate 555affe9bc chore(deps): update actions/setup-python action to v6
pagination / test (pull_request) Successful in 1m7s
pagination / vulnerabilities (pull_request) Successful in 4m38s
pre-commit / pre-commit (pull_request) Successful in 11m5s
2026-01-09 08:22:02 +00:00
7 changed files with 80 additions and 5 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:
+1 -1
View File
@@ -17,7 +17,7 @@ jobs:
- uses: actions/setup-go@v6
with:
go-version: stable
- uses: actions/setup-python@v5
- uses: actions/setup-python@v6
with:
python-version: '3.14'
- name: Install goimports
+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 ]
@@ -23,7 +23,7 @@ repos:
- id: go-imports
args:
- -local
- git.unbound.se/unboundsoftware
- gitea.unbound.se/unboundsoftware/pagination
- repo: https://github.com/lietu/go-pre-commit
rev: v1.0.0
hooks:
+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.2.0"
"version": "v0.2.1"
}
+7
View File
@@ -2,6 +2,13 @@
All notable changes to this project will be documented in this file.
## [0.2.1] - 2026-01-09
### ⚙️ Miscellaneous Tasks
- *(deps)* Update actions/setup-python action to v6
- Migrate module path to gitea.unbound.se
## [0.2.0] - 2026-01-09
### 🚀 Features
+1 -1
View File
@@ -1,4 +1,4 @@
module git.unbound.se/unboundsoftware/pagination
module gitea.unbound.se/unboundsoftware/pagination
go 1.24.4