36 Commits

Author SHA1 Message Date
releaser bb46f252bb chore(release): prepare for v0.2.2
pagination / test (pull_request) Successful in 2m12s
pagination / vulnerabilities (pull_request) Successful in 1m35s
pre-commit / pre-commit (pull_request) Successful in 6m14s
2026-03-22 19:36:23 +00:00
releaser 5b7695c175 chore(release): prepare for v0.2.2 2026-03-22 19:36:21 +00:00
renovate 7be94f8628 chore(deps): update pre-commit hook golangci/golangci-lint to v2.11.4 (#93)
pagination / vulnerabilities (push) Successful in 1m45s
pagination / test (push) Successful in 2m54s
Release / release (push) Successful in 56s
pre-commit / pre-commit (push) Successful in 6m27s
2026-03-22 19:23:59 +00:00
renovate e2c8734975 chore(deps): update pre-commit hook gitleaks/gitleaks to v8.30.1 (#91)
Release / release (push) Successful in 1m6s
pagination / vulnerabilities (push) Successful in 2m7s
pagination / test (push) Successful in 3m7s
pre-commit / pre-commit (push) Successful in 7m43s
2026-03-12 16:24:39 +00:00
renovate 2e9eae73d2 chore(deps): update pre-commit hook golangci/golangci-lint to v2.11.3 (#89)
Release / release (push) Successful in 1m31s
pagination / vulnerabilities (push) Successful in 2m26s
pagination / test (push) Successful in 3m35s
pre-commit / pre-commit (push) Successful in 7m35s
2026-03-10 11:22:32 +00:00
renovate d53db1d334 chore(deps): update pre-commit hook golangci/golangci-lint to v2.11.2 (#87)
Release / release (push) Successful in 51s
pagination / vulnerabilities (push) Successful in 1m16s
pagination / test (push) Successful in 1m44s
pre-commit / pre-commit (push) Successful in 4m7s
2026-03-07 22:42:56 +00:00
renovate eb7eaae42b chore(deps): update pre-commit hook golangci/golangci-lint to v2.11.1 (#85)
pagination / vulnerabilities (push) Successful in 1m35s
pagination / test (push) Successful in 2m30s
Release / release (push) Successful in 1m15s
pre-commit / pre-commit (push) Successful in 8m6s
2026-03-06 16:09:16 +00:00
renovate c4e665ebc7 chore(deps): update pre-commit hook golangci/golangci-lint to v2.10.1 (#82)
pagination / vulnerabilities (push) Successful in 1m45s
pagination / test (push) Successful in 6m42s
Release / release (push) Successful in 3m30s
pre-commit / pre-commit (push) Successful in 12m48s
2026-02-17 17:34:59 +00:00
renovate 6325a514b6 chore(deps): update pre-commit hook golangci/golangci-lint to v2.9.0 (#81)
Release / release (push) Failing after 2m4s
pagination / test (push) Successful in 4m16s
pagination / vulnerabilities (push) Successful in 6m30s
pre-commit / pre-commit (push) Successful in 9m13s
2026-02-11 13:24:05 +00:00
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
argoyle f41c7de3ac Merge pull request 'chore(release): prepare for v0.2.0' (#73) from next-release into main
Release / release (push) Successful in 1m39s
pagination / test (push) Successful in 3m45s
pagination / vulnerabilities (push) Successful in 3m41s
pre-commit / pre-commit (push) Successful in 10m49s
Reviewed-on: #73
2026-01-09 08:13:21 +00:00
releaser aead750db4 chore(release): prepare for v0.2.0
pagination / vulnerabilities (pull_request) Successful in 1m48s
pagination / test (pull_request) Successful in 5m43s
pre-commit / pre-commit (pull_request) Successful in 9m42s
2026-01-09 08:02:31 +00:00
releaser 1c1770f068 chore(release): prepare for v0.2.0 2026-01-09 08:02:28 +00:00
argoyle 8a11a52ea1 Merge pull request 'ci: add pre-commit and release workflows for Gitea Actions' (#72) from ci/gitea-workflows into main
Release / release (push) Successful in 1m16s
pagination / test (push) Successful in 6m24s
pagination / vulnerabilities (push) Successful in 6m54s
pre-commit / pre-commit (push) Successful in 10m33s
Reviewed-on: #72
2026-01-09 08:01:14 +00:00
argoyle d484be8e15 ci: add pre-commit and release workflows for Gitea Actions
pagination / test (pull_request) Successful in 5m24s
pagination / vulnerabilities (pull_request) Successful in 5m39s
pre-commit / pre-commit (pull_request) Successful in 8m1s
2026-01-09 08:50:36 +01:00
argoyle 3e62319fad Merge pull request 'chore: migrate module path from GitLab to Gitea' (#71) from chore/gitea-migration into main
pagination / test (push) Successful in 1m46s
pagination / vulnerabilities (push) Successful in 1m35s
Reviewed-on: #71
2026-01-09 07:02:16 +00:00
argoyle ea0595f8cb chore: migrate module path from GitLab to Gitea
pagination / test (pull_request) Successful in 2m0s
pagination / vulnerabilities (pull_request) Successful in 1m59s
- Update go.mod module path to git.unbound.se/unboundsoftware/pagination
- Remove GitLab CI linter from pre-commit config
- Update go-imports local path for new domain
- Remove GitLab badges from README
- Delete .gitlab-ci.yml (Gitea Actions workflow already exists)
2026-01-09 07:58:49 +01:00
argoyle 26d3136eaa Merge pull request 'chore(deps): update pre-commit hook golangci/golangci-lint to v2.8.0' (#70) from renovate/golangci-golangci-lint-2.x into main
pagination / vulnerabilities (push) Successful in 2m19s
pagination / test (push) Successful in 4m55s
Reviewed-on: #70
2026-01-09 04:12:59 +00:00
renovate 70308cb006 chore(deps): update pre-commit hook golangci/golangci-lint to v2.8.0
pagination / test (pull_request) Successful in 5m14s
pagination / vulnerabilities (pull_request) Successful in 6m2s
2026-01-08 21:23:12 +00:00
argoyle feeae4d43c Merge pull request 'chore(deps): update actions/setup-go action to v6' (#69) from renovate/actions-setup-go-6.x into main
pagination / test (push) Successful in 2m47s
pagination / vulnerabilities (push) Successful in 2m51s
Reviewed-on: #69
2026-01-08 15:15:52 +00:00
renovate 6976dec872 chore(deps): update actions/setup-go action to v6
pagination / test (pull_request) Successful in 1m57s
pagination / vulnerabilities (pull_request) Successful in 2m21s
2026-01-08 15:12:29 +00:00
argoyle 259610599d Merge pull request 'chore(deps): update actions/checkout action to v6' (#68) from renovate/actions-checkout-6.x into main
pagination / vulnerabilities (push) Successful in 57s
pagination / test (push) Successful in 6m0s
Reviewed-on: #68
2026-01-08 14:10:20 +00:00
renovate 67dc073454 chore(deps): update actions/checkout action to v6
pagination / vulnerabilities (pull_request) Successful in 3m18s
pagination / test (pull_request) Successful in 3m39s
2026-01-08 14:04:58 +00:00
argoyle 496539b836 Merge pull request 'feat: add Gitea Actions workflow' (#67) from feat/gitea-migration into main
pagination / test (push) Successful in 1m36s
pagination / vulnerabilities (push) Successful in 1m36s
Reviewed-on: #67
2026-01-08 13:32:35 +00:00
argoyle 583eaae203 feat: add Gitea Actions workflow
pagination / test (pull_request) Successful in 1m15s
pagination / vulnerabilities (pull_request) Successful in 1m16s
2026-01-08 14:04:07 +01:00
10 changed files with 175 additions and 54 deletions
+85
View File
@@ -0,0 +1,85 @@
name: pagination
on:
push:
branches: [main]
pull_request:
branches: [main]
jobs:
test:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v6
- uses: actions/setup-go@v6
with:
go-version-file: go.mod
- 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:
- uses: actions/checkout@v6
- uses: actions/setup-go@v6
with:
go-version-file: go.mod
- name: Check vulnerabilities
run: |
go install golang.org/x/vuln/cmd/govulncheck@latest
govulncheck ./...
+25
View File
@@ -0,0 +1,25 @@
name: pre-commit
permissions: read-all
on:
pull_request:
push:
branches:
- main
jobs:
pre-commit:
runs-on: ubuntu-latest
env:
SKIP: no-commit-to-branch
steps:
- uses: actions/checkout@v6
- uses: actions/setup-go@v6
with:
go-version: stable
- uses: actions/setup-python@v6
with:
python-version: '3.14'
- name: Install goimports
run: go install golang.org/x/tools/cmd/goimports@latest
- uses: pre-commit/action@v3.0.1
+9
View File
@@ -0,0 +1,9 @@
name: Release
on:
push:
branches: [main]
jobs:
release:
uses: unboundsoftware/shared-workflows/.gitea/workflows/Release.yml@main
-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 ./...
+4 -11
View File
@@ -10,15 +10,8 @@ repos:
args: args:
- --allow-multiple-documents - --allow-multiple-documents
- id: check-added-large-files - id: check-added-large-files
- repo: https://gitlab.com/devopshq/gitlab-ci-linter
rev: v1.0.6
hooks:
- id: gitlab-ci-linter
args:
- --project
- unboundsoftware/pagination
- repo: https://github.com/alessandrojcm/commitlint-pre-commit-hook - repo: https://github.com/alessandrojcm/commitlint-pre-commit-hook
rev: v9.23.0 rev: v9.24.0
hooks: hooks:
- id: commitlint - id: commitlint
stages: [ commit-msg ] stages: [ commit-msg ]
@@ -30,17 +23,17 @@ repos:
- id: go-imports - id: go-imports
args: args:
- -local - -local
- gitlab.com/unboundsoftware/shiny/presenter - gitea.unbound.se/unboundsoftware/pagination
- repo: https://github.com/lietu/go-pre-commit - repo: https://github.com/lietu/go-pre-commit
rev: v1.0.0 rev: v1.0.0
hooks: hooks:
- 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.7.2 rev: v2.11.4
hooks: hooks:
- id: golangci-lint-full - id: golangci-lint-full
- repo: https://github.com/gitleaks/gitleaks - repo: https://github.com/gitleaks/gitleaks
rev: v8.30.0 rev: v8.30.1
hooks: hooks:
- id: gitleaks - 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$
+3 -1
View File
@@ -1 +1,3 @@
{"version":"v0.1.0"} {
"version": "v0.2.2"
}
+35
View File
@@ -2,6 +2,41 @@
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.2.2] - 2026-03-22
### ⚙️ Miscellaneous Tasks
- *(deps)* Update pre-commit hook alessandrojcm/commitlint-pre-commit-hook to v9.24.0 (#77)
- Add code coverage integration
- *(deps)* Update pre-commit hook golangci/golangci-lint to v2.9.0 (#81)
- *(deps)* Update pre-commit hook golangci/golangci-lint to v2.10.1 (#82)
- *(deps)* Update pre-commit hook golangci/golangci-lint to v2.11.1 (#85)
- *(deps)* Update pre-commit hook golangci/golangci-lint to v2.11.2 (#87)
- *(deps)* Update pre-commit hook golangci/golangci-lint to v2.11.3 (#89)
- *(deps)* Update pre-commit hook gitleaks/gitleaks to v8.30.1 (#91)
- *(deps)* Update pre-commit hook golangci/golangci-lint to v2.11.4 (#93)
## [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
- Add Gitea Actions workflow
### ⚙️ Miscellaneous Tasks
- *(deps)* Update actions/checkout action to v6
- *(deps)* Update actions/setup-go action to v6
- *(deps)* Update pre-commit hook golangci/golangci-lint to v2.8.0
- Migrate module path from GitLab to Gitea
- Add pre-commit and release workflows for Gitea Actions
## [0.1.0] - 2026-01-01 ## [0.1.0] - 2026-01-01
### 🚀 Features ### 🚀 Features
-3
View File
@@ -1,6 +1,3 @@
# Pagination helper # Pagination helper
Pagination helper Pagination helper
[![Build Status](https://gitlab.com/unboundsoftware/pagination/badges/main/pipeline.svg)](https://gitlab.com/unboundsoftware/pagination/commits/main)
[![codecov](https://codecov.io/gl/unboundsoftware/pagination/branch/main/graph/badge.svg?token=AZ3AHHF0FS)](https://codecov.io/gl/unboundsoftware/pagination)
+1 -1
View File
@@ -1,4 +1,4 @@
module gitlab.com/unboundsoftware/pagination module gitea.unbound.se/unboundsoftware/pagination
go 1.24.4 go 1.24.4