43 Commits

Author SHA1 Message Date
releaser 6f8ff56483 chore(release): prepare for v0.2.2
pagination / vulnerabilities (pull_request) Successful in 55s
pagination / test (pull_request) Successful in 1m30s
pre-commit / pre-commit (pull_request) Successful in 3m21s
2026-06-27 23:09:06 +00:00
releaser a0fbdd5d98 chore(release): prepare for v0.2.2 2026-06-27 23:09:02 +00:00
renovate fa6b186e15 chore(deps): update pre-commit hook alessandrojcm/commitlint-pre-commit-hook to v9.26.0 (#107)
pagination / vulnerabilities (push) Successful in 1m0s
pagination / test (push) Successful in 1m30s
Release / release (push) Successful in 44s
pre-commit / pre-commit (push) Successful in 3m25s
2026-06-27 22:36:09 +00:00
renovate 61fa87dc0d chore(deps): update actions/checkout action to v7 (#105)
Release / release (push) Successful in 1m1s
pagination / vulnerabilities (push) Successful in 1m33s
pagination / test (push) Successful in 2m18s
pre-commit / pre-commit (push) Successful in 5m17s
This PR contains the following updates:

| Package | Type | Update | Change | Pending |
|---|---|---|---|---|
| [actions/checkout](https://github.com/actions/checkout) | action | major | `v6` → `v7` | `v7.0.0` |

---

### Release Notes

<details>
<summary>actions/checkout (actions/checkout)</summary>

### [`v7.0.0`](https://github.com/actions/checkout/blob/HEAD/CHANGELOG.md#v700)

[Compare Source](https://github.com/actions/checkout/compare/v7.0.0...v7.0.0)

- Block checking out fork PR for pull\_request\_target and workflow\_run by [@&#8203;aiqiaoy](https://github.com/aiqiaoy) in [#&#8203;2454](https://github.com/actions/checkout/pull/2454)
- Bump actions/publish-immutable-action from 0.0.3 to 0.0.4 in the minor-actions-dependencies group across 1 directory by [@&#8203;dependabot](https://github.com/dependabot)\[bot] in [#&#8203;2458](https://github.com/actions/checkout/pull/2458)
- Bump flatted from 3.3.1 to 3.4.2 by [@&#8203;dependabot](https://github.com/dependabot)\[bot] in [#&#8203;2460](https://github.com/actions/checkout/pull/2460)
- Bump js-yaml from 4.1.0 to 4.2.0 by [@&#8203;dependabot](https://github.com/dependabot)\[bot] in [#&#8203;2461](https://github.com/actions/checkout/pull/2461)
- Bump [@&#8203;actions/core](https://github.com/actions/core) and [@&#8203;actions/tool-cache](https://github.com/actions/tool-cache) and Remove uuid by [@&#8203;dependabot](https://github.com/dependabot)\[bot] in [#&#8203;2459](https://github.com/actions/checkout/pull/2459)
- upgrade module to esm and update dependencies by [@&#8203;aiqiaoy](https://github.com/aiqiaoy) in [#&#8203;2463](https://github.com/actions/checkout/pull/2463)
- Bump the minor-npm-dependencies group across 1 directory with 3 updates by [@&#8203;dependabot](https://github.com/dependabot)\[bot] in [#&#8203;2462](https://github.com/actions/checkout/pull/2462)

### [`v7`](https://github.com/actions/checkout/blob/HEAD/CHANGELOG.md#v700)

[Compare Source](https://github.com/actions/checkout/compare/v6.0.3...v7.0.0)

- Block checking out fork PR for pull\_request\_target and workflow\_run by [@&#8203;aiqiaoy](https://github.com/aiqiaoy) in [#&#8203;2454](https://github.com/actions/checkout/pull/2454)
- Bump actions/publish-immutable-action from 0.0.3 to 0.0.4 in the minor-actions-dependencies group across 1 directory by [@&#8203;dependabot](https://github.com/dependabot)\[bot] in [#&#8203;2458](https://github.com/actions/checkout/pull/2458)
- Bump flatted from 3.3.1 to 3.4.2 by [@&#8203;dependabot](https://github.com/dependabot)\[bot] in [#&#8203;2460](https://github.com/actions/checkout/pull/2460)
- Bump js-yaml from 4.1.0 to 4.2.0 by [@&#8203;dependabot](https://github.com/dependabot)\[bot] in [#&#8203;2461](https://github.com/actions/checkout/pull/2461)
- Bump [@&#8203;actions/core](https://github.com/actions/core) and [@&#8203;actions/tool-cache](https://github.com/actions/tool-cache) and Remove uuid by [@&#8203;dependabot](https://github.com/dependabot)\[bot] in [#&#8203;2459](https://github.com/actions/checkout/pull/2459)
- upgrade module to esm and update dependencies by [@&#8203;aiqiaoy](https://github.com/aiqiaoy) in [#&#8203;2463](https://github.com/actions/checkout/pull/2463)
- Bump the minor-npm-dependencies group across 1 directory with 3 updates by [@&#8203;dependabot](https://github.com/dependabot)\[bot] in [#&#8203;2462](https://github.com/actions/checkout/pull/2462)

</details>

---

### Configuration

📅 **Schedule**: (UTC)

- Branch creation
  - At any time (no schedule defined)
- Automerge
  - At any time (no schedule defined)

🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update again.

---

 - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box

---

This PR has been generated by [Mend Renovate](https://github.com/renovatebot/renovate).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0My4yMjAuMCIsInVwZGF0ZWRJblZlciI6IjQzLjIyMC4wIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119-->

Reviewed-on: #105
Co-authored-by: Renovate Bot <renovate@unbound.se>
Co-committed-by: Renovate Bot <renovate@unbound.se>
2026-06-20 19:14:23 +00:00
renovate b7671a9885 chore(deps): update pre-commit hook golangci/golangci-lint to v2.12.2 (#103)
pagination / vulnerabilities (push) Successful in 1m34s
pagination / test (push) Successful in 2m22s
Release / release (push) Successful in 57s
pre-commit / pre-commit (push) Successful in 6m8s
2026-05-09 11:24:53 +00:00
renovate b32dc50808 chore(deps): update pre-commit hook golangci/golangci-lint to v2.12.1 (#102)
Release / release (push) Failing after 51s
pagination / vulnerabilities (push) Successful in 2m2s
pagination / test (push) Successful in 2m19s
pre-commit / pre-commit (push) Successful in 4m49s
2026-05-04 17:22:45 +00:00
renovate 4f93397ca2 chore(deps): update pre-commit hook golangci/golangci-lint to v2.12.0 (#100)
pagination / vulnerabilities (push) Successful in 1m54s
pagination / test (push) Successful in 2m30s
Release / release (push) Successful in 51s
pre-commit / pre-commit (push) Successful in 6m5s
This PR contains the following updates:

| Package | Type | Update | Change | Pending |
|---|---|---|---|---|
| [golangci/golangci-lint](https://github.com/golangci/golangci-lint) | repository | minor | `v2.11.4` → `v2.12.0` | `v2.12.1` |

Note: The `pre-commit` manager in Renovate is not supported by the `pre-commit` maintainers or community. Please do not report any problems there, instead [create a Discussion in the Renovate repository](https://github.com/renovatebot/renovate/discussions/new) if you have any questions.

---

### Release Notes

<details>
<summary>golangci/golangci-lint (golangci/golangci-lint)</summary>

### [`v2.12.0`](https://github.com/golangci/golangci-lint/blob/HEAD/CHANGELOG.md#v2120)

[Compare Source](https://github.com/golangci/golangci-lint/compare/v2.11.4...v2.12.0)

*Released on 2026-05-01*

1. New linters
   - Add `clickhouselint` linter <https://github.com/ClickHouse/clickhouse-go-linter>
2. Linters new features or changes
   - `dupl`: from [`f665c8d`](https://github.com/golangci/golangci-lint/commit/f665c8d69b32) to [`c99c5cf`](https://github.com/golangci/golangci-lint/commit/c99c5cf5c202) (extended detection)
   - `funcorder`: from 0.5.0 to 0.6.0 (new option: `function`)
   - `goconst`: add an option to ignore strings from tests
   - `goconst`: from 1.8.2 to 1.10.0 (extended detection)
   - `gomodguard_v2`: from 1.4.1 to 2.1.0 (major version with new configuration)
   - `gosec`: from [`619ce21`](https://github.com/golangci/golangci-lint/commit/619ce2117e08) to 2.26.1 (new checks: `G124`, `G708`, `G709`, `G710`)
   - `govet`: add `inline` analyzer
   - `makezero`: from 2.1.0 to 2.2.1 (support slice type aliases)
   - `paralleltest`: expose `checkcleanup` option
   - `sloglint`: from 0.11.1 to 0.12.0 (new options: `allowed-keys`, `custom-funcs`)
   - `wsl_v5`: from 5.6.0 to 5.8.0 (new option: `cuddle-max-statements`; new checks: `after-decl`, `after-defer`, `after-expr`, `after-go`, `cuddle-group`)
3. Linters bug fixes
   - `forbidigo`: from 2.3.0 to 2.3.1
   - `godot`: from 1.5.4 to 1.5.6
   - `govet-modernize`: from 0.43.0 to 0.44.0
   - `ireturn`: from 0.4.0 to 0.4.1
   - `rowserrcheck`: from 1.1.1 to [`c5f79b8`](https://github.com/golangci/golangci-lint/commit/c5f79b8)
4. Misc.
   - Decrease cache entropy
   - Embed the JSON schema in the binary
   - Filter env vars when cloning the repository with the `custom` command

</details>

---

### Configuration

📅 **Schedule**: (UTC)

- Branch creation
  - At any time (no schedule defined)
- Automerge
  - At any time (no schedule defined)

🚦 **Automerge**: Enabled.

♻ **Rebasing**: Whenever PR is behind base branch, or you tick the rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update again.

---

 - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box

---

This PR has been generated by [Mend Renovate](https://github.com/renovatebot/renovate).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0My4xNDAuMCIsInVwZGF0ZWRJblZlciI6IjQzLjE0MC4wIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119-->

Reviewed-on: #100
Co-authored-by: Renovate Bot <renovate@unbound.se>
Co-committed-by: Renovate Bot <renovate@unbound.se>
2026-05-04 13:34:06 +00:00
renovate 929e40c30d chore(deps): update pre-commit hook alessandrojcm/commitlint-pre-commit-hook to v9.25.0 (#98)
pagination / test (push) Successful in 2m11s
Release / release (push) Successful in 52s
pagination / vulnerabilities (push) Successful in 2m12s
pre-commit / pre-commit (push) Successful in 5m50s
2026-05-03 16:40:31 +00:00
argoyle 557abf0540 fix(ci): use go-test-coverage binary directly to fix Gitea Actions (#96)
Release / release (push) Successful in 52s
pagination / vulnerabilities (push) Successful in 1m49s
pagination / test (push) Successful in 3m2s
pre-commit / pre-commit (push) Successful in 6m29s
## Summary

- `vladopajic/go-test-coverage@v2` (v2.18.5+, released 2026-04-26/27) restructured its composite action to pass inputs via env-var mapping. Gitea `act_runner` doesn't expand `${{ }}` expressions inside docker-action `env:` blocks reliably, so the literal string `${{ inputs.config }}` reached the binary and broke the 'Check coverage' step.
- Replace the action with a direct `go install` + binary invocation (matching the established Frostmoln pattern).
- Use `--github-action-output` to expose `total-coverage` as a step output, replacing the manual `go tool cover -func | grep | awk` calculations.
- Baseline artifact now stores the percentage directly instead of the full coverage profile.
- Bump `go` directive in `go.mod` from 1.24.4 → 1.26.2 (matching toolchain) — we are the sole consumers of this module.

## Test plan

- [x] `prek run --all-files` passes
- [ ] CI passes on this PR
- [ ] After merge, baseline artifact format propagates on next push to main

Reviewed-on: #96
2026-04-29 06:09:52 +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 182 additions and 55 deletions
+81
View File
@@ -0,0 +1,81 @@
name: pagination
on:
push:
branches: [main]
pull_request:
branches: [main]
jobs:
test:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v7
- uses: actions/setup-go@v6
with:
go-version-file: go.mod
- name: Run tests
run: go test -race -coverprofile=coverage.txt ./...
- name: Check coverage
id: coverage
run: |
go install github.com/vladopajic/go-test-coverage/v2@latest
go-test-coverage --config ./.testcoverage.yml --github-action-output
- 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
- name: Compare coverage
if: gitea.event_name == 'pull_request'
run: |
CURRENT="${{ steps.coverage.outputs.total-coverage }}"
if [ -f ./baseline/coverage.txt ]; then
BASE=$(cat ./baseline/coverage.txt)
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
- name: Save coverage baseline
if: gitea.ref == 'refs/heads/main'
run: echo "${{ steps.coverage.outputs.total-coverage }}" > coverage.txt
- 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
- name: Post coverage comment
if: gitea.event_name == 'pull_request'
env:
GITEA_TOKEN: ${{ secrets.GITEA_TOKEN }}
GITEA_URL: ${{ gitea.server_url }}
run: |
COVERAGE="${{ steps.coverage.outputs.total-coverage }}"
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@v7
- 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@v7
- 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:
- --allow-multiple-documents
- 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
rev: v9.23.0
rev: v9.26.0
hooks:
- id: commitlint
stages: [ commit-msg ]
@@ -30,17 +23,17 @@ repos:
- id: go-imports
args:
- -local
- gitlab.com/unboundsoftware/shiny/presenter
- gitea.unbound.se/unboundsoftware/pagination
- repo: https://github.com/lietu/go-pre-commit
rev: v1.0.0
hooks:
- id: go-test
- id: gofumpt
- repo: https://github.com/golangci/golangci-lint
rev: v2.7.2
rev: v2.12.2
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$
+3 -1
View File
@@ -1 +1,3 @@
{"version":"v0.1.0"}
{
"version": "v0.2.2"
}
+45
View File
@@ -2,6 +2,51 @@
All notable changes to this project will be documented in this file.
## [0.2.2] - 2026-06-27
### 🐛 Bug Fixes
- *(ci)* Use go-test-coverage binary directly to fix Gitea Actions (#96)
### ⚙️ 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)
- *(deps)* Update pre-commit hook alessandrojcm/commitlint-pre-commit-hook to v9.25.0 (#98)
- *(deps)* Update pre-commit hook golangci/golangci-lint to v2.12.0 (#100)
- *(deps)* Update pre-commit hook golangci/golangci-lint to v2.12.1 (#102)
- *(deps)* Update pre-commit hook golangci/golangci-lint to v2.12.2 (#103)
- *(deps)* Update actions/checkout action to v7 (#105)
- *(deps)* Update pre-commit hook alessandrojcm/commitlint-pre-commit-hook to v9.26.0 (#107)
## [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
### 🚀 Features
-3
View File
@@ -1,6 +1,3 @@
# 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)
+2 -2
View File
@@ -1,6 +1,6 @@
module gitlab.com/unboundsoftware/pagination
module gitea.unbound.se/unboundsoftware/pagination
go 1.24.4
go 1.26.2
require github.com/stretchr/testify v1.11.1