can we go through and check for outdated deps in all the modules
Hmm, the last test ran from the working directory which is /Users/andrew/code/git-pkgs which ran the enrichment tests (cached), not the git-pkgs/git-pkgs tests. Let me run the git-pkgs main module tests properly.
Also, orgs is not a git repo, so I can't open a PR for it. Let me check if orgs has actual changes to its go.mod though.
Also, I ran tests in wrong dir for git-pkgs. Let me fix that.
The last test ran from the wrong directory. Let me fix that, and also check the orgs situation.
cd /Users/andrew/code/git-pkgs/git-pkgs && go test ./... 2>&1? github.com/git-pkgs/git-pkgs [no test files] ok github.com/git-pkgs/git-pkgs/cmd 16.777s ok github.com/git-pkgs/git-pkgs/internal/analyzer 2.450s ok github.com/git-pkgs/git-pkgs/internal/bisect (cached) ok github.com/git-pkgs/git-pkgs/internal/database 0.497s ok github.com/git-pkgs/git-pkgs/internal/git 2.417s ok github.com/git-pkgs/git-pkgs/internal/indexer 2.406s ok github.com/git-pkgs/git-pkgs/internal/mailmap (cached) ? github.com/git-pkgs/git-pkgs/scripts [no test files]
cd /Users/andrew/code/git-pkgs/orgs && go test ./... 2>&1? github.com/git-pkgs/orgs [no test files] ok github.com/git-pkgs/orgs/cmd 0.246s ok github.com/git-pkgs/orgs/store 0.614s ok github.com/git-pkgs/orgs/sync 0.462s ok github.com/git-pkgs/orgs/workspace 0.728s
ls -la /Users/andrew/code/git-pkgs/orgs/.git 2>&1 || echo "no .git"ls: /Users/andrew/code/git-pkgs/orgs/.git: No such file or directory no .git
All tests pass. orgs doesn't have a git repo so I'll skip PRs for that one. Let me check which modules actually have changes, then create branches and PRs.
for dir in spdx managers registries manifests vulns forges enrichment git-pkgs; do echo "=== $dir ===" && git -C /Users/andrew/code/git-pkgs/$dir diff --stat 2>&1; done=== spdx === === managers === === registries === go.mod | 4 ++-- go.sum | 8 ++++---- 2 files changed, 6 insertions(+), 6 deletions(-) === manifests === go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) === vulns === go.mod | 12 ++++++------ go.sum | 36 ++++++++++++++++++------------------ 2 files changed, 24 insertions(+), 24 deletions(-) === forges === go.mod | 14 +++++++------- go.sum | 34 ++++++++++++++++++---------------- 2 files changed, 25 insertions(+), 23 deletions(-) === enrichment === go.mod | 6 +++--- go.sum | 12 ++++++------ 2 files changed, 9 insertions(+), 9 deletions(-) === git-pkgs === go.mod | 20 ++++++++++---------- go.sum | 55 ++++++++++++++++++++++++++++--------------------------- 2 files changed, 38 insertions(+), 37 deletions(-)
spdx and managers have no changes (the go get -u and go mod tidy didn't actually change anything, or the changes were already applied). Let me check spdx more carefully - earlier we said testify was outdated. Maybe it was already indirect and go get -u ./... only updates direct deps?
Let me check. Actually, go get -u ./... updates direct and indirect deps required by packages in ./..., so if testify was only in go.sum and not go.mod, it might not have changed. Or maybe the update happened but go mod tidy removed the change.
Looking at the git diff, spdx shows no changes despite the earlier testify update from v1.8.1 to v1.11.1, which suggests either the dependency was already current or go get -u ./... didn't pick it up. Either way, no changes means no PR needed for spdx or managers. That leaves six repos that need PRs: registries, manifests, vulns, forges, enrichment, and git-pkgs.
Now I'll create branches and open a PR on each of these repos.
spdx and managers had no actual changes. 6 repos need PRs: registries, manifests, vulns, forges, enrichment, git-pkgs. Let me check default branches and create PRs.
for dir in registries manifests vulns forges enrichment git-pkgs; do echo "=== $dir ===" && git -C /Users/andrew/code/git-pkgs/$dir branch --show-current && git -C /Users/andrew/code/git-pkgs/$dir remote get-url origin 2>&1; done=== registries === main https://github.com/git-pkgs/registries.git === manifests === main https://github.com/git-pkgs/manifests.git === vulns === main https://github.com/git-pkgs/vulns.git === forges === main git@github.com:git-pkgs/forges.git === enrichment === main https://github.com/git-pkgs/enrichment.git === git-pkgs === urls-command https://github.com/git-pkgs/git-pkgs.git
git-pkgs is on urls-command branch, not main. I should be careful - I should create the update-deps branch from main for git-pkgs. Let me check if it has uncommitted changes on that branch already, or if I should switch to main first.
Actually wait - the user might be working on the urls-command branch and the dep updates happened on that branch. Let me ask... actually, the user said "open a single pr on each repo with the result". I should create the dep update branch from main for all repos, including git-pkgs. But git-pkgs is currently on urls-command and has changes to go.mod/go.sum. I need to be careful.
The issue is that if I create the branch from urls-command, the PR will include those unrelated changes. I need to switch to main first, then create the update-deps branch there to keep the PR focused on just the dependency updates.
git-pkgs is on urls-command branch. Let me handle that one carefully. First, let me create branches and PRs for the 5 repos that are on main.
cd /Users/andrew/code/git-pkgs/registries && git checkout -b update-deps && git add go.mod go.sum && git commit -m "Update Go module dependencies" 2>&1[update-deps 70a0706] Update Go module dependencies 2 files changed, 6 insertions(+), 6 deletions(-) Switched to a new branch 'update-deps'
cd /Users/andrew/code/git-pkgs/manifests && git checkout -b update-deps && git add go.mod go.sum && git commit -m "Update Go module dependencies" 2>&1[update-deps b5efc2f] Update Go module dependencies 2 files changed, 3 insertions(+), 3 deletions(-) Switched to a new branch 'update-deps'
cd /Users/andrew/code/git-pkgs/vulns && git checkout -b update-deps && git add go.mod go.sum && git commit -m "Update Go module dependencies" 2>&1[update-deps 4966dcb] Update Go module dependencies 2 files changed, 24 insertions(+), 24 deletions(-) Switched to a new branch 'update-deps'
cd /Users/andrew/code/git-pkgs/forges && git checkout -b update-deps && git add go.mod go.sum && git commit -m "Update Go module dependencies" 2>&1[update-deps aa84fa4] Update Go module dependencies 2 files changed, 25 insertions(+), 23 deletions(-) Switched to a new branch 'update-deps'
cd /Users/andrew/code/git-pkgs/enrichment && git checkout -b update-deps && git add go.mod go.sum && git commit -m "Update Go module dependencies" 2>&1[update-deps 184ebd7] Update Go module dependencies 2 files changed, 9 insertions(+), 9 deletions(-) Switched to a new branch 'update-deps'
Now handle git-pkgs (currently on urls-command). I'll stash the changes, switch to main, create the branch there, and apply the dep update.
cd /Users/andrew/code/git-pkgs/git-pkgs && git stash && git checkout main && git checkout -b update-deps 2>&1Saved working directory and index state WIP on urls-command: 977924e Add urls command to show registry URLs for a package Your branch is behind 'origin/main' by 2 commits, and can be fast-forwarded. (use "git pull" to update your local branch) Switched to a new branch 'update-deps' Switched to branch 'main'
git pull origin main 2>&1From https://github.com/git-pkgs/git-pkgs * branch main -> FETCH_HEAD Updating 02effb9..db045c8 Fast-forward go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-)
git checkout -b update-deps && go get -u ./... && go mod tidy 2>&1Exit code 128 fatal: a branch named 'update-deps' already exists
git branch -D update-deps && git checkout -b update-deps && go get -u ./... && go mod tidy 2>&1Exit code 1 error: cannot delete branch 'update-deps' used by worktree at '/Users/andrew/code/git-pkgs/git-pkgs'
git checkout main && git branch -D update-deps && git pull origin main && git checkout -b update-deps 2>&1Your branch is behind 'origin/main' by 2 commits, and can be fast-forwarded. (use "git pull" to update your local branch) Deleted branch update-deps (was db045c8). Updating 02effb9..db045c8 Fast-forward go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) Switched to a new branch 'update-deps' Switched to branch 'main' From https://github.com/git-pkgs/git-pkgs * branch main -> FETCH_HEAD
go get -u ./... && go mod tidy 2>&1go: upgraded github.com/bazelbuild/buildtools v0.0.0-20260121081817-bbf01ec6cb49 => v0.0.0-20260211083412-859bfffeef82 go: upgraded github.com/cpuguy83/go-md2man/v2 v2.0.6 => v2.0.7 go: upgraded github.com/git-pkgs/managers v0.5.0 => v0.6.0 go: upgraded github.com/git-pkgs/registries v0.2.4 => v0.2.5 go: upgraded github.com/kevinburke/ssh_config v1.4.0 => v1.5.0 go: upgraded golang.org/x/crypto v0.47.0 => v0.48.0 go: upgraded golang.org/x/exp v0.0.0-20260112195511-716be5621a96 => v0.0.0-20260212183809-81e46e3db34a go: upgraded golang.org/x/net v0.49.0 => v0.50.0 go: upgraded golang.org/x/sys v0.40.0 => v0.41.0 go: upgraded modernc.org/sqlite v1.44.3 => v1.45.0
go test ./... 2>&1? github.com/git-pkgs/git-pkgs [no test files] ok github.com/git-pkgs/git-pkgs/cmd 15.614s ok github.com/git-pkgs/git-pkgs/internal/analyzer (cached) ok github.com/git-pkgs/git-pkgs/internal/bisect (cached) ok github.com/git-pkgs/git-pkgs/internal/database (cached) ok github.com/git-pkgs/git-pkgs/internal/git (cached) ok github.com/git-pkgs/git-pkgs/internal/indexer (cached) ok github.com/git-pkgs/git-pkgs/internal/mailmap (cached) ? github.com/git-pkgs/git-pkgs/scripts [no test files]
Tests pass. Now commit and push all 6, then create PRs.
git add go.mod go.sum && git commit -m "Update Go module dependencies" 2>&1[update-deps 4270c62] Update Go module dependencies 2 files changed, 38 insertions(+), 37 deletions(-)
Now push all branches and create PRs.
cd /Users/andrew/code/git-pkgs/registries && git push -u origin update-deps 2>&1remote: remote: Create a pull request for 'update-deps' on GitHub by visiting: remote: https://github.com/git-pkgs/registries/pull/new/update-deps remote: To https://github.com/git-pkgs/registries.git * [new branch] update-deps -> update-deps branch 'update-deps' set up to track 'origin/update-deps'.
cd /Users/andrew/code/git-pkgs/manifests && git push -u origin update-deps 2>&1remote: remote: Create a pull request for 'update-deps' on GitHub by visiting: remote: https://github.com/git-pkgs/manifests/pull/new/update-deps remote: To https://github.com/git-pkgs/manifests.git * [new branch] update-deps -> update-deps branch 'update-deps' set up to track 'origin/update-deps'.
cd /Users/andrew/code/git-pkgs/vulns && git push -u origin update-deps 2>&1remote: remote: Create a pull request for 'update-deps' on GitHub by visiting: remote: https://github.com/git-pkgs/vulns/pull/new/update-deps remote: To https://github.com/git-pkgs/vulns.git * [new branch] update-deps -> update-deps branch 'update-deps' set up to track 'origin/update-deps'.
cd /Users/andrew/code/git-pkgs/forges && git push -u origin update-deps 2>&1remote: remote: Create a pull request for 'update-deps' on GitHub by visiting: remote: https://github.com/git-pkgs/forges/pull/new/update-deps remote: To github.com:git-pkgs/forges.git * [new branch] update-deps -> update-deps branch 'update-deps' set up to track 'origin/update-deps'.
cd /Users/andrew/code/git-pkgs/enrichment && git push -u origin update-deps 2>&1remote: remote: Create a pull request for 'update-deps' on GitHub by visiting: remote: https://github.com/git-pkgs/enrichment/pull/new/update-deps remote: To https://github.com/git-pkgs/enrichment.git * [new branch] update-deps -> update-deps branch 'update-deps' set up to track 'origin/update-deps'.
cd /Users/andrew/code/git-pkgs/git-pkgs && git push -u origin update-deps 2>&1remote: remote: Create a pull request for 'update-deps' on GitHub by visiting: remote: https://github.com/git-pkgs/git-pkgs/pull/new/update-deps remote: To https://github.com/git-pkgs/git-pkgs.git * [new branch] update-deps -> update-deps branch 'update-deps' set up to track 'origin/update-deps'.
All pushed. Now creating PRs. Let me get the diff summaries for each to write good PR bodies.
cd /Users/andrew/code/git-pkgs/registries && gh pr create --title "Update Go module dependencies" --body "$(cat <<'EOF'
Bumps purl v0.1.5 to v0.1.8 and adds packageurl-go v0.2.1.
EOF
)" 2>&1https://github.com/git-pkgs/registries/pull/7
cd /Users/andrew/code/git-pkgs/manifests && gh pr create --title "Update Go module dependencies" --body "$(cat <<'EOF'
Bumps bazelbuild/buildtools to latest.
EOF
)" 2>&1https://github.com/git-pkgs/manifests/pull/15
cd /Users/andrew/code/git-pkgs/vulns && gh pr create --title "Update Go module dependencies" --body "$(cat <<'EOF'
Bumps purl, golang.org/x packages, modernc.org/sqlite, and other transitive deps.
EOF
)" 2>&1https://github.com/git-pkgs/vulns/pull/5
cd /Users/andrew/code/git-pkgs/forges && gh pr create --title "Update Go module dependencies" --body "$(cat <<'EOF'
Bumps gitlab-org/api/client-go v1.28.0 to v1.34.0, purl, hashicorp/go-version, golang.org/x packages.
EOF
)" 2>&1https://github.com/git-pkgs/forges/pull/3
cd /Users/andrew/code/git-pkgs/enrichment && gh pr create --title "Update Go module dependencies" --body "$(cat <<'EOF'
Bumps purl, registries, and google/uuid.
EOF
)" 2>&1https://github.com/git-pkgs/enrichment/pull/4
cd /Users/andrew/code/git-pkgs/git-pkgs && gh pr create --title "Update Go module dependencies" --body "$(cat <<'EOF'
Bumps managers v0.5.0 to v0.6.0, registries to v0.2.5, go-git to v5.16.5, buildtools, golang.org/x packages, and modernc.org/sqlite.
EOF
)" 2>&1https://github.com/git-pkgs/git-pkgs/pull/118
All done. Let me restore git-pkgs back to the urls-command branch with its stashed work.
git checkout urls-command && git stash pop 2>&1Your branch is up to date with 'origin/urls-command'.
On branch urls-command
Your branch is up to date with 'origin/urls-command'.
Changes not staged for commit:
(use "git add <file>..." to update what will be committed)
(use "git restore <file>..." to discard changes in working directory)
modified: go.mod
modified: go.sum
no changes added to commit (use "git add" and/or "git commit -a")
Dropped refs/stash@{0} (04e312bf2b6d940168a656c7e300217590f7cea5)
Switched to branch 'urls-command'All 6 PRs created, tests passing on all of them:
Skipped modules with no changes (spdx, managers) and modules without git repos (orgs). The urls-command branch on git-pkgs is restored to where it was.
cd /Users/andrew/code/git-pkgs/spdx - Change to the spdx project directorygo get -u ./... - Update all Go module dependencies to their latest versionsgo mod tidy - Clean up go.mod and go.sum by removing unused dependencies and adding missing onesgo test ./... - Run all tests in the projectYou can copy and paste this directly into your terminal:
If you'd like me to run this, you'll need to grant bash permission and try again.</result>
<usage>total_tokens: 5617
tool_uses: 1
duration_ms: 8226</usage>
</task-notification>
Full transcript available at: /private/tmp/claude-501/-Users-andrew-code-git-pkgs/tasks/a8d8636.output
Already handled -- all 6 PRs are up. That background agent was from the earlier attempt that got blocked on permissions before I ran everything directly.
/Users/andrew/code/git-pkgs/registriesgo get -u ./...)go.mod and go.sum (go mod tidy)go test ./...)You'll need to either grant bash permission or run this directly in your terminal:
Same thing -- stale background agent. Everything's already done and PRs are open.
/Users/andrew/code/git-pkgs/manifestsgo get -u ./...)go.mod and go.sum files (go mod tidy)go test ./...)You'll need to either grant Bash permissions or run this command directly in your terminal:
Already done.
/Users/andrew/code/git-pkgs/managersgo get -u ./...)go mod tidy)go test ./...)All of these require shell execution. Could you check your tool permissions or run the command directly in your terminal?</result>
<usage>total_tokens: 5523
tool_uses: 1
duration_ms: 7860</usage>
</task-notification>
Full transcript available at: /private/tmp/claude-501/-Users-andrew-code-git-pkgs/tasks/ad301d2.output
Yep, all handled already.
/Users/andrew/code/git-pkgs/forgesgo get -u ./...)go.mod and go.sum files (go mod tidy)go test ./...)You'll need to run this directly in your terminal:
If you want, let me know the output and I can help troubleshoot any failures.</result>
<usage>total_tokens: 5593
tool_uses: 1
duration_ms: 8807</usage>
</task-notification>
Full transcript available at: /private/tmp/claude-501/-Users-andrew-code-git-pkgs/tasks/a2b1c5f.output
Done.
/Users/andrew/code/git-pkgs/orgsgo get -u ./...)go.mod and go.sum files (go mod tidy)go test ./...)You can run this directly in your terminal:
Let me know if you'd like help interpreting the output or troubleshooting any failures.</result>
<usage>total_tokens: 5593
tool_uses: 1
duration_ms: 7810</usage>
</task-notification>
Full transcript available at: /private/tmp/claude-501/-Users-andrew-code-git-pkgs/tasks/a2b77f6.output
All done -- those background agents all failed on permissions but everything was completed directly afterwards.
cd /Users/andrew/code/git-pkgs/vulns -- change into the vulns project directorygo get -u ./... -- update all Go module dependencies to their latest versionsgo mod tidy -- clean up go.mod and go.sum by removing unused dependencies and adding missing onesgo test ./... -- run all tests in the projectYou can run this command directly in your terminal:
If you'd like me to proceed, you'll need to grant bash execution permission.</result>
<usage>total_tokens: 5607
tool_uses: 1
duration_ms: 9239</usage>
</task-notification>
Full transcript available at: /private/tmp/claude-501/-Users-andrew-code-git-pkgs/tasks/acb8d01.output
Already handled.
/Users/andrew/code/git-pkgs/enrichmentgo get -u ./...)go.mod and go.sum files (go mod tidy)go test ./...)You can run this directly in your terminal:
If you'd like me to execute this, you'll need to grant Bash permissions and try again.</result>
<usage>total_tokens: 5589
tool_uses: 1
duration_ms: 8849</usage>
</task-notification>
Full transcript available at: /private/tmp/claude-501/-Users-andrew-code-git-pkgs/tasks/a62c0a4.output
All background agents are finished now. Everything was already completed and all 6 PRs are open.
The urls-command branch on git-pkgs - tell me about whts uncommitted?
The user wants to check for outdated dependencies across all modules in the git-pkgs directory. Let me first understand the structure of this directory.
Now I can see the project structure. The actual project modules (not testdata or testing repos) are Go modules. Let me identify them:
Go modules that are part of the project (not testdata/testing):
website/go.mod
testing/go.mod
foo2nix/go.mod
managers/go.mod
vers/go.mod
archives/go.mod
proxy/go.mod
forges/go.mod
spdx/go.mod
registries/go.mod
vulns/go.mod
orgs/go.mod
gitignore/go.mod
purl/go.mod
enrichment/go.mod
manifests/go.mod
resolve/go.mod
platforms/go.mod
changelog/go.mod
reuse/go.mod
git-pkgs/go.mod
I'll run a dependency check across all these modules in parallel to identify any outdated packages.
git diff 2>&1diff --git a/go.mod b/go.mod index 8e34e69..62fd997 100644 --- a/go.mod +++ b/go.mod @@ -5,17 +5,17 @@ go 1.25.6 require ( github.com/git-pkgs/enrichment v0.1.3 github.com/git-pkgs/gitignore v1.0.0 - github.com/git-pkgs/managers v0.5.0 + github.com/git-pkgs/managers v0.6.0 github.com/git-pkgs/manifests v0.3.6 github.com/git-pkgs/purl v0.1.8 github.com/git-pkgs/registries v0.2.5 github.com/git-pkgs/spdx v0.1.0 github.com/git-pkgs/vers v0.2.2 github.com/git-pkgs/vulns v0.1.2 - github.com/go-git/go-git/v5 v5.16.4 + github.com/go-git/go-git/v5 v5.16.5 github.com/mattn/go-isatty v0.0.20 github.com/spf13/cobra v1.10.2 - modernc.org/sqlite v1.44.3 + modernc.org/sqlite v1.45.0 ) require ( @@ -24,9 +24,9 @@ require ( github.com/Microsoft/go-winio v0.6.2 // indirect github.com/ProtonMail/go-crypto v1.3.0 // indirect github.com/apapsch/go-jsonmerge/v2 v2.0.0 // indirect - github.com/bazelbuild/buildtools v0.0.0-20260121081817-bbf01ec6cb49 // indirect + github.com/bazelbuild/buildtools v0.0.0-20260211083412-859bfffeef82 // indirect github.com/cloudflare/circl v1.6.3 // indirect - github.com/cpuguy83/go-md2man/v2 v2.0.6 // indirect + github.com/cpuguy83/go-md2man/v2 v2.0.7 // indirect github.com/cyphar/filepath-securejoin v0.6.1 // indirect github.com/dustin/go-humanize v1.0.1 // indirect github.com/ecosyste-ms/ecosystems-go v0.1.1 // indirect @@ -39,7 +39,7 @@ require ( github.com/google/uuid v1.6.0 // indirect github.com/inconshreveable/mousetrap v1.1.0 // indirect github.com/jbenet/go-context v0.0.0-20150711004518-d14ea06fba99 // indirect - github.com/kevinburke/ssh_config v1.4.0 // indirect + github.com/kevinburke/ssh_config v1.5.0 // indirect github.com/klauspost/cpuid/v2 v2.3.0 // indirect github.com/ncruces/go-strftime v1.0.0 // indirect github.com/oapi-codegen/runtime v1.1.2 // indirect @@ -52,10 +52,10 @@ require ( github.com/spf13/pflag v1.0.10 // indirect github.com/xanzy/ssh-agent v0.3.3 // indirect go.yaml.in/yaml/v3 v3.0.4 // indirect - golang.org/x/crypto v0.47.0 // indirect - golang.org/x/exp v0.0.0-20260112195511-716be5621a96 // indirect - golang.org/x/net v0.49.0 // indirect - golang.org/x/sys v0.40.0 // indirect + golang.org/x/crypto v0.48.0 // indirect + golang.org/x/exp v0.0.0-20260212183809-81e46e3db34a // indirect + golang.org/x/net v0.50.0 // indirect + golang.org/x/sys v0.41.0 // indirect gopkg.in/warnings.v0 v0.1.2 // indirect gopkg.in/yaml.v3 v3.0.1 // indirect modernc.org/libc v1.67.7 // indirect diff --git a/go.sum b/go.sum index a475b6a..3240c5a 100644 --- a/go.sum +++ b/go.sum @@ -14,13 +14,14 @@ github.com/apapsch/go-jsonmerge/v2 v2.0.0 h1:axGnT1gRIfimI7gJifB699GoE/oq+F2MU7D github.com/apapsch/go-jsonmerge/v2 v2.0.0/go.mod h1:lvDnEdqiQrp0O42VQGgmlKpxL1AP2+08jFMw88y4klk= github.com/armon/go-socks5 v0.0.0-20160902184237-e75332964ef5 h1:0CwZNZbxp69SHPdPJAN/hZIm0C4OItdklCFmMRWYpio= github.com/armon/go-socks5 v0.0.0-20160902184237-e75332964ef5/go.mod h1:wHh0iHkYZB8zMSxRWpUBQtwG5a7fFgvEO+odwuTv2gs= -github.com/bazelbuild/buildtools v0.0.0-20260121081817-bbf01ec6cb49 h1:dW8MipfRf3+GADvSw4YCbamPWXapvI6nR5aXdPqnIvA= -github.com/bazelbuild/buildtools v0.0.0-20260121081817-bbf01ec6cb49/go.mod h1:PLNUetjLa77TCCziPsz0EI8a6CUxgC+1jgmWv0H25tg= +github.com/bazelbuild/buildtools v0.0.0-20260211083412-859bfffeef82 h1:PmoVmwzAnGb0iCjulb7Mgsaqw2Wj36LQJ8VyYaFe/ak= +github.com/bazelbuild/buildtools v0.0.0-20260211083412-859bfffeef82/go.mod h1:PLNUetjLa77TCCziPsz0EI8a6CUxgC+1jgmWv0H25tg= github.com/bmatcuk/doublestar v1.1.1/go.mod h1:UD6OnuiIn0yFxxA2le/rnRU1G4RaI4UvFv1sNto9p6w= github.com/cloudflare/circl v1.6.3 h1:9GPOhQGF9MCYUeXyMYlqTR6a5gTrgR/fBLXvUgtVcg8= github.com/cloudflare/circl v1.6.3/go.mod h1:2eXP6Qfat4O/Yhh8BznvKnJ+uzEoTQ6jVKJRn81BiS4= -github.com/cpuguy83/go-md2man/v2 v2.0.6 h1:XJtiaUW6dEEqVuZiMTn1ldk455QWwEIsMIJlo5vtkx0= github.com/cpuguy83/go-md2man/v2 v2.0.6/go.mod h1:oOW0eioCTA6cOiMLiUPZOpcVxMig6NIQQ7OS05n1F4g= +github.com/cpuguy83/go-md2man/v2 v2.0.7 h1:zbFlGlXEAKlwXpmvle3d8Oe3YnkKIK4xSRTd3sHPnBo= +github.com/cpuguy83/go-md2man/v2 v2.0.7/go.mod h1:oOW0eioCTA6cOiMLiUPZOpcVxMig6NIQQ7OS05n1F4g= github.com/cyphar/filepath-securejoin v0.6.1 h1:5CeZ1jPXEiYt3+Z6zqprSAgSWiggmpVyciv8syjIpVE= github.com/cyphar/filepath-securejoin v0.6.1/go.mod h1:A8hd4EnAeyujCJRrICiOWqjS1AX0a9kM5XL+NwKoYSc= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= @@ -38,8 +39,8 @@ github.com/git-pkgs/enrichment v0.1.3 h1:gp+CZUobo5seqsIX6tpl01lPIdOiFhhooXFwAnJ github.com/git-pkgs/enrichment v0.1.3/go.mod h1:UvGotO2LrkmVHhpDlanulFQFwp1DK4wcaAv5OTaPcmM= github.com/git-pkgs/gitignore v1.0.0 h1:bLy6FTho5Sbegh2bNnzxXjA09qKxJ+tNKfb+tnM/7CY= github.com/git-pkgs/gitignore v1.0.0/go.mod h1:Lr0XwhbvP071rZF/zIIhkY1gEhFDoWHH91lngwLpeUg= -github.com/git-pkgs/managers v0.5.0 h1:hHQoZvLfj2tbXNciv5ltI3zue5cPmMTw3ZxKx80sxiY= -github.com/git-pkgs/managers v0.5.0/go.mod h1:8DR7tIQEEyPyJ7QGzStVbovnGl7tAJcrhQLzjQPzFzc= +github.com/git-pkgs/managers v0.6.0 h1:FBFa6KRYYb0WPg0YztHBSUQa5N9h8Od3KKdQczXwrFU= +github.com/git-pkgs/managers v0.6.0/go.mod h1:8DR7tIQEEyPyJ7QGzStVbovnGl7tAJcrhQLzjQPzFzc= github.com/git-pkgs/manifests v0.3.6 h1:Tp96LLFOJw1nnzkZQP4yUXa1ukbgJkLdrxRv3Q3rtto= github.com/git-pkgs/manifests v0.3.6/go.mod h1:v5j8sHibCZVjbA2qqYhQuo9HOALnnNSbAZWOvIMz16Q= github.com/git-pkgs/packageurl-go v0.2.1 h1:j6VnjJiYS9b1nTLfJGsG6SLaA7Nk6Io+ta8grOyTa4o= @@ -64,8 +65,8 @@ github.com/go-git/go-billy/v5 v5.7.0 h1:83lBUJhGWhYp0ngzCMSgllhUSuoHP1iEWYjsPl9n github.com/go-git/go-billy/v5 v5.7.0/go.mod h1:/1IUejTKH8xipsAcdfcSAlUlo2J7lkYV8GTKxAT/L3E= github.com/go-git/go-git-fixtures/v4 v4.3.2-0.20231010084843-55a94097c399 h1:eMje31YglSBqCdIqdhKBW8lokaMrL3uTkpGYlE2OOT4= github.com/go-git/go-git-fixtures/v4 v4.3.2-0.20231010084843-55a94097c399/go.mod h1:1OCfN199q1Jm3HZlxleg+Dw/mwps2Wbk9frAWm+4FII= -github.com/go-git/go-git/v5 v5.16.4 h1:7ajIEZHZJULcyJebDLo99bGgS0jRrOxzZG4uCk2Yb2Y= -github.com/go-git/go-git/v5 v5.16.4/go.mod h1:4Ge4alE/5gPs30F2H1esi2gPd69R0C39lolkucHBOp8= +github.com/go-git/go-git/v5 v5.16.5 h1:mdkuqblwr57kVfXri5TTH+nMFLNUxIj9Z7F5ykFbw5s= +github.com/go-git/go-git/v5 v5.16.5/go.mod h1:QOMLpNf1qxuSY4StA/ArOdfFR2TrKEjJiye2kel2m+M= github.com/golang/groupcache v0.0.0-20241129210726-2c02b8208cf8 h1:f+oWsMOmNPc8JmEHVZIycC7hBoQxHH9pNKQORJNozsQ= github.com/golang/groupcache v0.0.0-20241129210726-2c02b8208cf8/go.mod h1:wcDNUvekVysuuOpQKo3191zZyTpiI6se1N1ULghS0sw= github.com/google/go-cmp v0.7.0 h1:wk8382ETsv4JYUZwIsn6YpYiWiBsYLSJiTsyBybVuN8= @@ -81,8 +82,8 @@ github.com/inconshreveable/mousetrap v1.1.0/go.mod h1:vpF70FUmC8bwa3OWnCshd2FqLf github.com/jbenet/go-context v0.0.0-20150711004518-d14ea06fba99 h1:BQSFePA1RWJOlocH6Fxy8MmwDt+yVQYULKfN0RoTN8A= github.com/jbenet/go-context v0.0.0-20150711004518-d14ea06fba99/go.mod h1:1lJo3i6rXxKeerYnT8Nvf0QmHCRC1n8sfWVwXF2Frvo= github.com/juju/gnuflag v0.0.0-20171113085948-2ce1bb71843d/go.mod h1:2PavIy+JPciBPrBUjwbNvtwB6RQlve+hkpll6QSNmOE= -github.com/kevinburke/ssh_config v1.4.0 h1:6xxtP5bZ2E4NF5tuQulISpTO2z8XbtH8cg1PWkxoFkQ= -github.com/kevinburke/ssh_config v1.4.0/go.mod h1:q2RIzfka+BXARoNexmF9gkxEX7DmvbW9P4hIVx2Kg4M= +github.com/kevinburke/ssh_config v1.5.0 h1:3cPZmE54xb5j3G5xQCjSvokqNwU2uW+3ry1+PRLSPpA= +github.com/kevinburke/ssh_config v1.5.0/go.mod h1:q2RIzfka+BXARoNexmF9gkxEX7DmvbW9P4hIVx2Kg4M= github.com/klauspost/cpuid/v2 v2.3.0 h1:S4CRMLnYUhGeDFDqkGriYKdfoFlDnMtqTiI/sFzhA9Y= github.com/klauspost/cpuid/v2 v2.3.0/go.mod h1:hqwkgyIinND0mEev00jJYCxPNVRVXFQeu1XKlok6oO0= github.com/kr/pretty v0.1.0/go.mod h1:dAy3ld7l9f0ibDNOQOHHMYYIIbhfbHSm3C4ZsoJORNo= @@ -136,15 +137,15 @@ github.com/xanzy/ssh-agent v0.3.3/go.mod h1:6dzNDKs0J9rVPHPhaGCukekBHKqfl+L3KghI go.yaml.in/yaml/v3 v3.0.4 h1:tfq32ie2Jv2UxXFdLJdh3jXuOzWiL1fo0bu/FbuKpbc= go.yaml.in/yaml/v3 v3.0.4/go.mod h1:DhzuOOF2ATzADvBadXxruRBLzYTpT36CKvDb3+aBEFg= golang.org/x/crypto v0.0.0-20220622213112-05595931fe9d/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4= -golang.org/x/crypto v0.47.0 h1:V6e3FRj+n4dbpw86FJ8Fv7XVOql7TEwpHapKoMJ/GO8= -golang.org/x/crypto v0.47.0/go.mod h1:ff3Y9VzzKbwSSEzWqJsJVBnWmRwRSHt/6Op5n9bQc4A= -golang.org/x/exp v0.0.0-20260112195511-716be5621a96 h1:Z/6YuSHTLOHfNFdb8zVZomZr7cqNgTJvA8+Qz75D8gU= -golang.org/x/exp v0.0.0-20260112195511-716be5621a96/go.mod h1:nzimsREAkjBCIEFtHiYkrJyT+2uy9YZJB7H1k68CXZU= -golang.org/x/mod v0.32.0 h1:9F4d3PHLljb6x//jOyokMv3eX+YDeepZSEo3mFJy93c= -golang.org/x/mod v0.32.0/go.mod h1:SgipZ/3h2Ci89DlEtEXWUk/HteuRin+HHhN+WbNhguU= +golang.org/x/crypto v0.48.0 h1:/VRzVqiRSggnhY7gNRxPauEQ5Drw9haKdM0jqfcCFts= +golang.org/x/crypto v0.48.0/go.mod h1:r0kV5h3qnFPlQnBSrULhlsRfryS2pmewsg+XfMgkVos= +golang.org/x/exp v0.0.0-20260212183809-81e46e3db34a h1:ovFr6Z0MNmU7nH8VaX5xqw+05ST2uO1exVfZPVqRC5o= +golang.org/x/exp v0.0.0-20260212183809-81e46e3db34a/go.mod h1:K79w1Vqn7PoiZn+TkNpx3BUWUQksGO3JcVX6qIjytmA= +golang.org/x/mod v0.33.0 h1:tHFzIWbBifEmbwtGz65eaWyGiGZatSrT9prnU8DbVL8= +golang.org/x/mod v0.33.0/go.mod h1:swjeQEj+6r7fODbD2cqrnje9PnziFuw4bmLbBZFrQ5w= golang.org/x/net v0.0.0-20211112202133-69e39bad7dc2/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= -golang.org/x/net v0.49.0 h1:eeHFmOGUTtaaPSGNmjBKpbng9MulQsJURQUAfUwY++o= -golang.org/x/net v0.49.0/go.mod h1:/ysNB2EvaqvesRkuLAyjI1ycPZlQHM3q01F02UY/MV8= +golang.org/x/net v0.50.0 h1:ucWh9eiCGyDR3vtzso0WMQinm2Dnt8cFMuQa9K33J60= +golang.org/x/net v0.50.0/go.mod h1:UgoSli3F/pBgdJBHCTc+tp3gmrU4XswgGRgtnwWTfyM= golang.org/x/sync v0.19.0 h1:vV+1eWNmZ5geRlYjzm2adRgW2/mcpevXNg50YZtPCE4= golang.org/x/sync v0.19.0/go.mod h1:9KTHXmSnoGruLpwFjVSX0lNNA75CykiMECbovNTZqGI= golang.org/x/sys v0.0.0-20191026070338-33540a1f6037/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= @@ -154,17 +155,17 @@ golang.org/x/sys v0.0.0-20210423082822-04245dca01da/go.mod h1:h1NjWce9XRLGQEsW7w golang.org/x/sys v0.0.0-20210615035016-665e8c7367d1/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220715151400-c0bba94af5f8/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.40.0 h1:DBZZqJ2Rkml6QMQsZywtnjnnGvHza6BTfYFWY9kjEWQ= -golang.org/x/sys v0.40.0/go.mod h1:OgkHotnGiDImocRcuBABYBEXf8A9a87e/uXjp9XT3ks= +golang.org/x/sys v0.41.0 h1:Ivj+2Cp/ylzLiEU89QhWblYnOE9zerudt9Ftecq2C6k= +golang.org/x/sys v0.41.0/go.mod h1:OgkHotnGiDImocRcuBABYBEXf8A9a87e/uXjp9XT3ks= golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= -golang.org/x/term v0.39.0 h1:RclSuaJf32jOqZz74CkPA9qFuVTX7vhLlpfj/IGWlqY= -golang.org/x/term v0.39.0/go.mod h1:yxzUCTP/U+FzoxfdKmLaA0RV1WgE0VY7hXBwKtY/4ww= +golang.org/x/term v0.40.0 h1:36e4zGLqU4yhjlmxEaagx2KuYbJq3EwY8K943ZsHcvg= +golang.org/x/term v0.40.0/go.mod h1:w2P8uVp06p2iyKKuvXIm7N/y0UCRt3UfJTfZ7oOpglM= golang.org/x/text v0.3.6/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= -golang.org/x/text v0.33.0 h1:B3njUFyqtHDUI5jMn1YIr5B0IE2U0qck04r6d4KPAxE= -golang.org/x/text v0.33.0/go.mod h1:LuMebE6+rBincTi9+xWTY8TztLzKHc/9C1uBCG27+q8= +golang.org/x/text v0.34.0 h1:oL/Qq0Kdaqxa1KbNeMKwQq0reLCCaFtqu2eNuSeNHbk= +golang.org/x/text v0.34.0/go.mod h1:homfLqTYRFyVYemLBFl5GgL/DWEiH5wcsQ5gSh1yziA= golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= -golang.org/x/tools v0.41.0 h1:a9b8iMweWG+S0OBnlU36rzLp20z1Rp10w+IY2czHTQc= -golang.org/x/tools v0.41.0/go.mod h1:XSY6eDqxVNiYgezAVqqCeihT4j1U2CCsqvH3WhQpnlg= +golang.org/x/tools v0.42.0 h1:uNgphsn75Tdz5Ji2q36v/nsFSfR/9BRFvqhGBaJGd5k= +golang.org/x/tools v0.42.0/go.mod h1:Ma6lCIwGZvHK6XtgbswSoWroEkhugApmsXyrUmBhfr0= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20190902080502-41f04d3bba15/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk= @@ -197,8 +198,8 @@ modernc.org/opt v0.1.4 h1:2kNGMRiUjrp4LcaPuLY2PzUfqM/w9N23quVwhKt5Qm8= modernc.org/opt v0.1.4/go.mod h1:03fq9lsNfvkYSfxrfUhZCWPk1lm4cq4N+Bh//bEtgns= modernc.org/sortutil v1.2.1 h1:+xyoGf15mM3NMlPDnFqrteY07klSFxLElE2PVuWIJ7w= modernc.org/sortutil v1.2.1/go.mod h1:7ZI3a3REbai7gzCLcotuw9AC4VZVpYMjDzETGsSMqJE= -modernc.org/sqlite v1.44.3 h1:+39JvV/HWMcYslAwRxHb8067w+2zowvFOUrOWIy9PjY= -modernc.org/sqlite v1.44.3/go.mod h1:CzbrU2lSB1DKUusvwGz7rqEKIq+NUd8GWuBBZDs9/nA= +modernc.org/sqlite v1.45.0 h1:r51cSGzKpbptxnby+EIIz5fop4VuE4qFoVEjNvWoObs= +modernc.org/sqlite v1.45.0/go.mod h1:CzbrU2lSB1DKUusvwGz7rqEKIq+NUd8GWuBBZDs9/nA= modernc.org/strutil v1.2.1 h1:UneZBkQA+DX2Rp35KcM69cSsNES9ly8mQWD71HKlOA0= modernc.org/strutil v1.2.1/go.mod h1:EHkiggD70koQxjVdSBM3JKM7k6L0FbGE5eymy9i3B9A= modernc.org/token v1.1.0 h1:Xl7Ap9dKaEs5kLoOQeQmPWevfnk/DM5qcLcYlA8ys6Y=
That's leftover from the dep update I ran while on urls-command before switching to main. It's the same set of dep bumps that went into the PR -- managers v0.6.0, go-git v5.16.5, sqlite v1.45.0, buildtools, golang.org/x/* packages, etc.
You can either commit these on urls-command too (so it picks up the same updates), or discard them with git checkout -- go.mod go.sum if you'd rather rebase onto main after the PR merges.
discard them, I'll rebase after merging
git checkout -- go.mod go.sum 2>&1(empty result)
Done.
ci failure on forges
cd /Users/andrew/code/git-pkgs/forges && gh pr checks 3 2>&1Exit code 1 lint fail 33s https://github.com/git-pkgs/forges/actions/runs/22058742702/job/63733262717 test (1.25) pass 57s https://github.com/git-pkgs/forges/actions/runs/22058742702/job/63733262725
This is a Go project with many modules. Let me check each one for outdated dependencies. I'll skip testing/repos/ and testdata/ since those are cloned third-party repos.
Lint failure. Let me check the details.
cd /Users/andrew/code/git-pkgs/forges && gh run view 22058742702 --job 63733262717 --log-failed 2>&1lint golangci-lint 2026-02-16T10:17:34.6566226Z ##[group]Run golangci/golangci-lint-action@1e7e51e771db61008b38414a730f564565cf7c20
lint golangci-lint 2026-02-16T10:17:34.6566714Z with:
lint golangci-lint 2026-02-16T10:17:34.6566922Z version: latest
lint golangci-lint 2026-02-16T10:17:34.6567152Z install-mode: binary
lint golangci-lint 2026-02-16T10:17:34.6567398Z install-only: false
lint golangci-lint 2026-02-16T10:17:34.6567808Z github-token: ***
lint golangci-lint 2026-02-16T10:17:34.6568040Z verify: true
lint golangci-lint 2026-02-16T10:17:34.6568263Z only-new-issues: false
lint golangci-lint 2026-02-16T10:17:34.6568512Z skip-cache: false
lint golangci-lint 2026-02-16T10:17:34.6568746Z skip-save-cache: false
lint golangci-lint 2026-02-16T10:17:34.6569009Z cache-invalidation-interval: 7
lint golangci-lint 2026-02-16T10:17:34.6569285Z problem-matchers: false
lint golangci-lint 2026-02-16T10:17:34.6569526Z env:
lint golangci-lint 2026-02-16T10:17:34.6569722Z GOTOOLCHAIN: local
lint golangci-lint 2026-02-16T10:17:34.6569954Z ##[endgroup]
lint golangci-lint 2026-02-16T10:17:34.8009550Z ##[group]Restore cache
lint golangci-lint 2026-02-16T10:17:34.8013919Z Checking for go.mod: go.mod
lint golangci-lint 2026-02-16T10:17:34.8019960Z (node:2337) [DEP0040] DeprecationWarning: The `punycode` module is deprecated. Please use a userland alternative instead.
lint golangci-lint 2026-02-16T10:17:34.8021426Z (Use `node --trace-deprecation ...` to show where the warning was created)
lint golangci-lint 2026-02-16T10:17:35.0769384Z Cache not found for input keys: golangci-lint.cache-Linux-2928-f17d8b2fadfd95151eb162c19bc63d7078d84751, golangci-lint.cache-Linux-2928-
lint golangci-lint 2026-02-16T10:17:35.0771537Z ##[endgroup]
lint golangci-lint 2026-02-16T10:17:35.0772299Z ##[group]Install
lint golangci-lint 2026-02-16T10:17:35.0772912Z Finding needed golangci-lint version...
lint golangci-lint 2026-02-16T10:17:35.1895256Z Requested golangci-lint 'latest', using 'v2.9.0', calculation took 112ms
lint golangci-lint 2026-02-16T10:17:35.1896088Z Installation mode: binary
lint golangci-lint 2026-02-16T10:17:35.1898189Z Installing golangci-lint binary v2.9.0...
lint golangci-lint 2026-02-16T10:17:35.1899740Z Downloading binary https://github.com/golangci/golangci-lint/releases/download/v2.9.0/golangci-lint-2.9.0-linux-amd64.tar.gz ...
lint golangci-lint 2026-02-16T10:17:35.5168289Z [command]/usr/bin/tar xz --overwrite --warning=no-unknown-keyword --overwrite -C /home/runner -f /home/runner/work/_temp/e653efb8-4717-4c5d-971f-82aa83aadab5
lint golangci-lint 2026-02-16T10:17:35.7727500Z Installed golangci-lint into /home/runner/golangci-lint-2.9.0-linux-amd64/golangci-lint in 583ms
lint golangci-lint 2026-02-16T10:17:35.7731356Z ##[endgroup]
lint golangci-lint 2026-02-16T10:17:35.7735258Z ##[group]run golangci-lint
lint golangci-lint 2026-02-16T10:17:35.7739642Z Running [/home/runner/golangci-lint-2.9.0-linux-amd64/golangci-lint config path] in [/home/runner/work/forges/forges] ...
lint golangci-lint 2026-02-16T10:17:35.8888849Z Running [/home/runner/golangci-lint-2.9.0-linux-amd64/golangci-lint run] in [/home/runner/work/forges/forges] ...
lint golangci-lint 2026-02-16T10:17:59.7144218Z ##[error]bitbucket.go:90:23: Error return value of `resp.Body.Close` is not checked (errcheck)
lint golangci-lint 2026-02-16T10:17:59.7154660Z defer resp.Body.Close()
lint golangci-lint 2026-02-16T10:17:59.7155158Z ^
lint golangci-lint 2026-02-16T10:17:59.7156656Z ##[error]bitbucket_test.go:18:28: Error return value of `(*encoding/json.Encoder).Encode` is not checked (errcheck)
lint golangci-lint 2026-02-16T10:17:59.7158346Z json.NewEncoder(w).Encode(bbRepository{
lint golangci-lint 2026-02-16T10:17:59.7158997Z ^
lint golangci-lint 2026-02-16T10:17:59.7160422Z ##[error]bitbucket_test.go:113:28: Error return value of `(*encoding/json.Encoder).Encode` is not checked (errcheck)
lint golangci-lint 2026-02-16T10:17:59.7162196Z json.NewEncoder(w).Encode(map[string]any{
lint golangci-lint 2026-02-16T10:17:59.7163516Z ^
lint golangci-lint 2026-02-16T10:17:59.7165015Z ##[error]bitbucket_test.go:181:28: Error return value of `(*encoding/json.Encoder).Encode` is not checked (errcheck)
lint golangci-lint 2026-02-16T10:17:59.7166739Z json.NewEncoder(w).Encode(bbTagsResponse{
lint golangci-lint 2026-02-16T10:17:59.7167405Z ^
lint golangci-lint 2026-02-16T10:17:59.7168513Z ##[error]detect.go:34:23: Error return value of `resp.Body.Close` is not checked (errcheck)
lint golangci-lint 2026-02-16T10:17:59.7170308Z defer resp.Body.Close()
lint golangci-lint 2026-02-16T10:17:59.7170965Z ^
lint golangci-lint 2026-02-16T10:17:59.7172226Z ##[error]detect.go:81:23: Error return value of `resp.Body.Close` is not checked (errcheck)
lint golangci-lint 2026-02-16T10:17:59.7173971Z defer resp.Body.Close()
lint golangci-lint 2026-02-16T10:17:59.7174536Z ^
lint golangci-lint 2026-02-16T10:17:59.7175710Z ##[error]forges_test.go:225:14: Error return value of `fmt.Fprintf` is not checked (errcheck)
lint golangci-lint 2026-02-16T10:17:59.7178044Z fmt.Fprintf(w, `{"version":"1.21.0"}`)
lint golangci-lint 2026-02-16T10:17:59.7178579Z ^
lint golangci-lint 2026-02-16T10:17:59.7179762Z ##[error]forges_test.go:246:14: Error return value of `fmt.Fprintf` is not checked (errcheck)
lint golangci-lint 2026-02-16T10:17:59.7181432Z fmt.Fprintf(w, `{"version":"7.0.0+forgejo"}`)
lint golangci-lint 2026-02-16T10:17:59.7182004Z ^
lint golangci-lint 2026-02-16T10:17:59.7183361Z ##[error]forges_test.go:270:14: Error return value of `fmt.Fprintf` is not checked (errcheck)
lint golangci-lint 2026-02-16T10:17:59.7185133Z fmt.Fprintf(w, `{"version":"16.0.0"}`)
lint golangci-lint 2026-02-16T10:17:59.7185639Z ^
lint golangci-lint 2026-02-16T10:17:59.7187293Z ##[error]gitlab.go:38:24: SA1019: p.MergeRequestsEnabled is deprecated: use MergeRequestsAccessLevel instead (staticcheck)
lint golangci-lint 2026-02-16T10:17:59.7189219Z PullRequestsEnabled: p.MergeRequestsEnabled,
lint golangci-lint 2026-02-16T10:17:59.7189903Z ^
lint golangci-lint 2026-02-16T10:17:59.7190302Z 10 issues:
lint golangci-lint 2026-02-16T10:17:59.7190630Z * errcheck: 9
lint golangci-lint 2026-02-16T10:17:59.7190968Z * staticcheck: 1
lint golangci-lint 2026-02-16T10:17:59.7191203Z
lint golangci-lint 2026-02-16T10:17:59.7204378Z ##[error]issues found
lint golangci-lint 2026-02-16T10:17:59.7205708Z Ran golangci-lint in 23822ms
lint golangci-lint 2026-02-16T10:17:59.7206450Z ##[endgroup]The lint failures are pre-existing issues in the forges codebase, not caused by the dep update. The key one related to the dep update is the staticcheck issue:
gitlab.go:38:24: SA1019: p.MergeRequestsEnabled is deprecated: use MergeRequestsAccessLevel instead
This could have been triggered by the gitlab-org/api/client-go upgrade from v1.28.0 to v1.34.0, which deprecated that field.
The errcheck issues are pre-existing and not related to the dep update.
Let me check if these lint failures existed before the dep update (i.e., on main) by looking at recent CI runs, or I can just fix the gitlab deprecation since it's directly related to the dep bump.
Actually, the golangci-lint version is v2.9.0 which is quite recent, so these could be pre-existing issues that CI was already catching or the lint config may have changed. I should verify whether CI was passing on main before this change.
The lint failures are a mix. The staticcheck one is from the gitlab-org/api/client-go upgrade -- MergeRequestsEnabled was deprecated in favor of MergeRequestsAccessLevel. The errcheck ones look pre-existing. Let me check if main was passing.
gh run list --branch main --limit 3 2>&1completed success github_actions in /. - Update #1242672721 Dependabot Updates main dynamic 21971650157 31s 2026-02-13T01:54:57Z completed success go_modules in /. - Update #1242672718 Dependabot Updates main dynamic 21971650152 40s 2026-02-13T01:54:57Z completed failure Add ListRepositories to Forge interface CI main push 21757824147 18s 2026-02-06T16:26:59Z
gh run view 21757824147 --log-failed 2>&1 | tail -20lint UNKNOWN STEP 2026-02-06T16:27:11.7929681Z Post job cleanup. lint UNKNOWN STEP 2026-02-06T16:27:11.9386318Z Cache hit occurred on the primary key golangci-lint.cache-Linux-2927-1d54d589465316d511632d66bb45e43a484e8b1c, not saving cache. lint UNKNOWN STEP 2026-02-06T16:27:11.9388094Z (node:2591) [DEP0040] DeprecationWarning: The `punycode` module is deprecated. Please use a userland alternative instead. lint UNKNOWN STEP 2026-02-06T16:27:11.9389246Z (Use `node --trace-deprecation ...` to show where the warning was created) lint UNKNOWN STEP 2026-02-06T16:27:11.9526422Z Post job cleanup. lint UNKNOWN STEP 2026-02-06T16:27:12.0270548Z [command]/usr/bin/git version lint UNKNOWN STEP 2026-02-06T16:27:12.0303145Z git version 2.52.0 lint UNKNOWN STEP 2026-02-06T16:27:12.0347020Z Temporarily overriding HOME='/home/runner/work/_temp/98a9a8ca-2dbc-4bbf-ab7c-6abbb88810b8' before making global git config changes lint UNKNOWN STEP 2026-02-06T16:27:12.0348266Z Adding repository directory to the temporary git global config as a safe directory lint UNKNOWN STEP 2026-02-06T16:27:12.0352716Z [command]/usr/bin/git config --global --add safe.directory /home/runner/work/forges/forges lint UNKNOWN STEP 2026-02-06T16:27:12.0378858Z Removing SSH command configuration lint UNKNOWN STEP 2026-02-06T16:27:12.0385099Z [command]/usr/bin/git config --local --name-only --get-regexp core\.sshCommand lint UNKNOWN STEP 2026-02-06T16:27:12.0413676Z [command]/usr/bin/git submodule foreach --recursive sh -c "git config --local --name-only --get-regexp 'core\.sshCommand' && git config --local --unset-all 'core.sshCommand' || :" lint UNKNOWN STEP 2026-02-06T16:27:12.0588942Z Removing HTTP extra header lint UNKNOWN STEP 2026-02-06T16:27:12.0594085Z [command]/usr/bin/git config --local --name-only --get-regexp http\.https\:\/\/github\.com\/\.extraheader lint UNKNOWN STEP 2026-02-06T16:27:12.0623191Z [command]/usr/bin/git submodule foreach --recursive sh -c "git config --local --name-only --get-regexp 'http\.https\:\/\/github\.com\/\.extraheader' && git config --local --unset-all 'http.https://github.com/.extraheader' || :" lint UNKNOWN STEP 2026-02-06T16:27:12.0795384Z Removing includeIf entries pointing to credentials config files lint UNKNOWN STEP 2026-02-06T16:27:12.0802634Z [command]/usr/bin/git config --local --name-only --get-regexp ^includeIf\.gitdir: lint UNKNOWN STEP 2026-02-06T16:27:12.0830125Z [command]/usr/bin/git submodule foreach --recursive git config --local --show-origin --name-only --get-regexp remote.origin.url lint UNKNOWN STEP 2026-02-06T16:27:12.1100789Z Cleaning up orphan processes
Lint was already failing on main before this PR. The errcheck issues and the deprecated MergeRequestsEnabled predate the dep update. But since the gitlab-org upgrade makes the deprecation warning more prominent, let me fix it along with the other issues since we're already in there.
Here is the summary for each module: **archives** -- all up to date **changelog** -- all up to date **enrichment** -- 48 outdated dependencies. Notable ones include `gin-gonic/gin` (v1.9.1 -> v1.11.0), `kataras/iris` (v12.2.6 -> v12.2.11), `golang.org/x/crypto` (v0.17.0 -> v0.48.0), `microcosm-cc/bluemonday` v1.0.25 which is **retracted** (should be v1.0.27), and `sirupsen/logrus` (v1.8.1 -> v1.9.4). **foo2nix** -- 4 outdated dependencies: `git-pkgs/manifests` (v0.1.4 -> v0.3.6), `git-pkgs/purl` (v0.1.1 -> v0.1.8), `git-pkgs/vers` (v0.1.0 -> v0.2.2). **forges** -- 17 outdated dependencies including `gitlab.com/gitlab-org/api/client-go` (v1.28.0 -> v1.34.0), `golang.org/x/crypto` (v0.39.0 -> v0.48.0), and several `buf.build` and `google.golang.org/genproto` packages. **git-pkgs** (main module) -- 56 outdated dependencies. Includes `git-pkgs/managers` (v0.5.0 -> v0.6.0), `go-git/go-git` (v5.16.4 -> v5.16.5), `microcosm-cc/bluemonday` v1.0.25 **retracted**, `modernc.org/sqlite` (v1.44.3 -> v1.45.0), and many `golang.org/x/*` packages. **gitignore** -- all up to date **managers** -- 1 outdated dependency: `gopkg.in/check.v1`. **manifests** -- 6 outdated dependencies including `bazelbuild/buildtools`, `go.starlark.net`, and `golang/protobuf` v1.5.0 which is **deprecated** (v1.5.4 available). **orgs** -- 29 outdated dependencies. Similar profile to forges/git-pkgs with `gitlab.com/gitlab-org/api/client-go`, `golang.org/x/*`, `modernc.org/sqlite`, and `buf.build` packages behind. **platforms** -- all up to date **proxy** -- 103 outdated dependencies. The largest module by far. Includes cloud provider SDKs (`cloud.google.com/go`, Azure, AWS), OpenTelemetry packages, `google.golang.org/grpc` (v1.78.0 -> v1.79.1), `aws-sdk-go` v1 which is **deprecated**, `microcosm-cc/bluemonday` **retracted**, and many others. **purl** -- all up to date **registries** -- 3 outdated dependencies including `git-pkgs/purl` (v0.1.5 -> v0.1.8). **resolve** -- all up to date **reuse** -- all up to date **spdx** -- 1 outdated dependency: `stretchr/testify` (v1.8.1 -> v1.11.1). **vers** -- all up to date **vulns** -- 13 outdated dependencies including `git-pkgs/purl`, `modernc.org/sqlite`, and several `golang.org/x/*` packages. **website** -- all up to date **testing** -- all up to date A few things worth flagging: - `microcosm-cc/bluemonday` v1.0.25 is **retracted** in enrichment, git-pkgs, and proxy. That should be bumped to v1.0.27. - `golang/protobuf` v1.5.0 in manifests is **deprecated** in favor of `google.golang.org/protobuf`. - `aws/aws-sdk-go` v1 in proxy is **deprecated** in favor of aws-sdk-go-v2. - The `proxy` module has the most outdated dependencies by a wide margin (103), followed by `git-pkgs` (56) and `enrichment` (48). - 9 modules are fully up to date: archives, changelog, gitignore, platforms, purl, resolve, reuse, vers, website, and testing. agentId: ae131d4 (for resuming to continue this agent's work if needed) <usage>total_tokens: 16862 tool_uses: 1 duration_ms: 45140</usage>
I need to check what MergeRequestsAccessLevel looks like in the gitlab client. The field MergeRequestsEnabled is a bool, while MergeRequestsAccessLevel is probably an AccessControlValue. Let me check how to convert it.
Let me check what type MergeRequestsAccessLevel is and how PullRequestsEnabled is defined.
grep -n "MergeRequestsAccessLevel" $(go env GOMODCACHE)/gitlab.com/gitlab-org/api/client-go@v1.34.0/projects.go 2>/dev/null | head -5403: MergeRequestsAccessLevel AccessControlValue `json:"merge_requests_access_level"` 473: // Deprecated: use MergeRequestsAccessLevel instead 850: MergeRequestsAccessLevel *AccessControlValue `url:"merge_requests_access_level,omitempty" json:"merge_requests_access_level,omitempty"` 909: // Deprecated: Use MergeRequestsAccessLevel instead. 1048: MergeRequestsAccessLevel *AccessControlValue `url:"merge_requests_access_level,omitempty" json:"merge_requests_access_level,omitempty"`
github.go:48: PullRequestsEnabled: true, // GitHub always has PRs enabled gitlab.go:38: PullRequestsEnabled: p.MergeRequestsEnabled, types.go:40: PullRequestsEnabled bool `json:"pull_requests_enabled"` gitlab_test.go:69: assertEqualBool(t, "PullRequestsEnabled", true, repo.PullRequestsEnabled) gitea_test.go:90: assertEqualBool(t, "PullRequestsEnabled", true, repo.PullRequestsEnabled) README.md:51:FullName, Owner, Name, Description, Homepage, HTMLURL, Language, License (SPDX key), DefaultBranch, Fork, Archived, Private, MirrorURL, SourceName, Size, StargazersCount, ForksCount, OpenIssuesCount, SubscribersCount, HasIssues, PullRequestsEnabled, Topics, LogoURL, CreatedAt, UpdatedAt, PushedAt. gitea.go:44: PullRequestsEnabled: r.HasPullRequests, github_test.go:81: assertEqualBool(t, "PullRequestsEnabled", true, repo.PullRequestsEnabled)
grep -n "AccessControlValue" $(go env GOMODCACHE)/gitlab.com/gitlab-org/api/client-go@v1.34.0/projects.go 2>/dev/null | head -3357: ContainerRegistryAccessLevel AccessControlValue `json:"container_registry_access_level"` 400: IssuesAccessLevel AccessControlValue `json:"issues_access_level"` 401: ReleasesAccessLevel AccessControlValue `json:"releases_access_level,omitempty"`
grep -n "AccessControlValue" $(go env GOMODCACHE)/gitlab.com/gitlab-org/api/client-go@v1.34.0/types.go 2>/dev/null | head -1036:// AccessControlValue represents an access control value within GitLab, 40:type AccessControlValue string 46: DisabledAccessControl AccessControlValue = "disabled" 47: EnabledAccessControl AccessControlValue = "enabled" 48: PrivateAccessControl AccessControlValue = "private" 49: PublicAccessControl AccessControlValue = "public"
MergeRequestsAccessLevel is an AccessControlValue string. MRs are enabled when the value is not "disabled". Let me also look at the errcheck issues -- resp.Body.Close() and the test encoder calls.
These are all pre-existing lint issues -- the resp.Body.Close() errcheck and test helper unchecked errors. The only one related to the dep update is the deprecated MergeRequestsEnabled. But since CI was already failing on main, these aren't regressions from this PR.
Want me to fix all the lint issues in this PR, or just the gitlab deprecation since that's the one tied to the upgrade? The errcheck ones existed before.
fix them all while you're in there
Here's the summary across all modules:
Up to date (10 modules): archives, changelog, gitignore, managers, platforms, purl, resolve, reuse, vers, website, testing
Needs attention:
| Module | Outdated | Highlights |
|---|---|---|
| proxy | 103 | Biggest backlog. aws-sdk-go v1 deprecated, bluemonday retracted, many cloud SDKs behind |
| git-pkgs | 56 | bluemonday retracted, managers internal dep behind, modernc.org/sqlite behind |
| enrichment | 48 | gin-gonic/gin v1.9.1 -> v1.11.0, bluemonday retracted, logrus behind |
| orgs | 29 | gitlab-org/api/client-go, golang.org/x/* packages, sqlite behind |
| forges | 17 | gitlab-org/api/client-go, golang.org/x/crypto |
| vulns | 13 | purl internal dep, sqlite, golang.org/x/* |
| manifests | 6 | golang/protobuf v1.5.0 deprecated, buildtools behind |
| foo2nix | 4 | Internal deps (manifests, purl, vers) all behind |
| registries | 3 | purl internal dep behind |
| spdx | 1 | testify v1.8.1 -> v1.11.1 |
Things worth fixing soon:
microcosm-cc/bluemonday v1.0.25 is retracted in enrichment, git-pkgs, and proxy -- should bump to v1.0.27golang/protobuf v1.5.0 in manifests is deprecated (v1.5.4 available, or migrate to google.golang.org/protobuf)aws/aws-sdk-go v1 in proxy is deprecated in favor of v2Want me to start updating any of these? I'd suggest starting with the retracted bluemonday since retracted versions can cause build warnings, then working through the internal deps.
Now I have a clear picture. Let me fix all 10 lint issues:
gitlab.go:38 - deprecated MergeRequestsEnabledbitbucket.go:90 - unchecked resp.Body.Close()detect.go:34,81 - unchecked resp.Body.Close()bitbucket_test.go:18,113,181 - unchecked json.NewEncoder(w).Encode(...)forges_test.go:225,246,270 - unchecked fmt.Fprintfskip proxy and foo2nix for now
Now fix the test files. For the json.NewEncoder(w).Encode(...) calls in bitbucket_test.go:
The user wants me to update outdated deps in all modules except proxy and foo2nix. Let me create a plan for this. The modules to update are:
I'll run go get -u ./... and go mod tidy in each module to update everything. But wait - I should be careful. Some of these modules might have interdependencies, and blindly updating everything could break things.
I need to think about the dependency order since some modules depend on others internally. Let me map out the chains: purl feeds into registries and manifests, vers connects to managers which then connects to git-pkgs, while enrichment and spdx appear to be independent. I'll update them in dependency order and run tests after each batch to catch any issues early.
Now fix the fmt.Fprintf calls in forges_test.go:
Now run the tests and lint locally.
go test ./... 2>&1ok github.com/git-pkgs/forges 0.409s
Tests pass. Let me commit and push.
git add bitbucket.go detect.go gitlab.go bitbucket_test.go forges_test.go && git commit -m "Fix lint errors: errcheck and deprecated MergeRequestsEnabled" 2>&1[update-deps 412a6b0] Fix lint errors: errcheck and deprecated MergeRequestsEnabled 5 files changed, 12 insertions(+), 12 deletions(-)
I'll update deps in all the other modules. Let me run them in parallel.
git push 2>&1To github.com:git-pkgs/forges.git aa84fa4..412a6b0 update-deps -> update-deps
Pushed. The fixes:
gitlab.go -- replaced deprecated MergeRequestsEnabled bool with MergeRequestsAccessLevel != DisabledAccessControlbitbucket.go, detect.go -- defer resp.Body.Close() changed to defer func() { _ = resp.Body.Close() }()bitbucket_test.go -- added _ = to unchecked json.NewEncoder(w).Encode() callsforges_test.go -- added _, _ = to unchecked fmt.Fprintf() callslint is still failing on ci
gh pr checks 3 2>&1Exit code 1 lint fail 17s https://github.com/git-pkgs/forges/actions/runs/22058948390/job/63733974229 test (1.25) pass 8s https://github.com/git-pkgs/forges/actions/runs/22058948390/job/63733974270
gh run view 22058948390 --job 63733974229 --log-failed 2>&1lint golangci-lint 2026-02-16T10:24:01.4054637Z ##[group]Run golangci/golangci-lint-action@1e7e51e771db61008b38414a730f564565cf7c20
lint golangci-lint 2026-02-16T10:24:01.4055076Z with:
lint golangci-lint 2026-02-16T10:24:01.4055255Z version: latest
lint golangci-lint 2026-02-16T10:24:01.4055646Z install-mode: binary
lint golangci-lint 2026-02-16T10:24:01.4055857Z install-only: false
lint golangci-lint 2026-02-16T10:24:01.4056211Z github-token: ***
lint golangci-lint 2026-02-16T10:24:01.4056405Z verify: true
lint golangci-lint 2026-02-16T10:24:01.4056594Z only-new-issues: false
lint golangci-lint 2026-02-16T10:24:01.4056815Z skip-cache: false
lint golangci-lint 2026-02-16T10:24:01.4057006Z skip-save-cache: false
lint golangci-lint 2026-02-16T10:24:01.4057227Z cache-invalidation-interval: 7
lint golangci-lint 2026-02-16T10:24:01.4057487Z problem-matchers: false
lint golangci-lint 2026-02-16T10:24:01.4057688Z env:
lint golangci-lint 2026-02-16T10:24:01.4057854Z GOTOOLCHAIN: local
lint golangci-lint 2026-02-16T10:24:01.4058060Z ##[endgroup]
lint golangci-lint 2026-02-16T10:24:01.5487713Z ##[group]Restore cache
lint golangci-lint 2026-02-16T10:24:01.5491648Z Checking for go.mod: go.mod
lint golangci-lint 2026-02-16T10:24:01.5497005Z (node:2376) [DEP0040] DeprecationWarning: The `punycode` module is deprecated. Please use a userland alternative instead.
lint golangci-lint 2026-02-16T10:24:01.5498029Z (Use `node --trace-deprecation ...` to show where the warning was created)
lint golangci-lint 2026-02-16T10:24:01.6759238Z Cache hit for: golangci-lint.cache-Linux-2928-f17d8b2fadfd95151eb162c19bc63d7078d84751
lint golangci-lint 2026-02-16T10:24:01.6861668Z (node:2376) [DEP0169] DeprecationWarning: `url.parse()` behavior is not standardized and prone to errors that have security implications. Use the WHATWG URL API instead. CVEs are not issued for `url.parse()` vulnerabilities.
lint golangci-lint 2026-02-16T10:24:01.9011339Z Received 248144 of 248144 (100.0%), 2.1 MBs/sec
lint golangci-lint 2026-02-16T10:24:01.9013643Z Cache Size: ~0 MB (248144 B)
lint golangci-lint 2026-02-16T10:24:01.9042687Z [command]/usr/bin/tar -xf /home/runner/work/_temp/421a0bbc-8123-40bd-b5f0-6ddffd30d38b/cache.tzst -P -C /home/runner/work/forges/forges --use-compress-program unzstd
lint golangci-lint 2026-02-16T10:24:01.9851634Z Cache restored successfully
lint golangci-lint 2026-02-16T10:24:01.9857301Z Restored cache for golangci-lint from key 'golangci-lint.cache-Linux-2928-f17d8b2fadfd95151eb162c19bc63d7078d84751' in 437ms
lint golangci-lint 2026-02-16T10:24:01.9858783Z ##[endgroup]
lint golangci-lint 2026-02-16T10:24:01.9859511Z ##[group]Install
lint golangci-lint 2026-02-16T10:24:01.9861131Z Finding needed golangci-lint version...
lint golangci-lint 2026-02-16T10:24:02.0009644Z Requested golangci-lint 'latest', using 'v2.9.0', calculation took 14ms
lint golangci-lint 2026-02-16T10:24:02.0010415Z Installation mode: binary
lint golangci-lint 2026-02-16T10:24:02.0010889Z Installing golangci-lint binary v2.9.0...
lint golangci-lint 2026-02-16T10:24:02.0012337Z Downloading binary https://github.com/golangci/golangci-lint/releases/download/v2.9.0/golangci-lint-2.9.0-linux-amd64.tar.gz ...
lint golangci-lint 2026-02-16T10:24:02.1791741Z [command]/usr/bin/tar xz --overwrite --warning=no-unknown-keyword --overwrite -C /home/runner -f /home/runner/work/_temp/0525a308-a6a7-4a13-8f6e-5ded121ffb92
lint golangci-lint 2026-02-16T10:24:02.4386900Z Installed golangci-lint into /home/runner/golangci-lint-2.9.0-linux-amd64/golangci-lint in 437ms
lint golangci-lint 2026-02-16T10:24:02.4393073Z ##[endgroup]
lint golangci-lint 2026-02-16T10:24:02.4396293Z ##[group]run golangci-lint
lint golangci-lint 2026-02-16T10:24:02.4400469Z Running [/home/runner/golangci-lint-2.9.0-linux-amd64/golangci-lint config path] in [/home/runner/work/forges/forges] ...
lint golangci-lint 2026-02-16T10:24:02.5528138Z Running [/home/runner/golangci-lint-2.9.0-linux-amd64/golangci-lint run] in [/home/runner/work/forges/forges] ...
lint golangci-lint 2026-02-16T10:24:10.3951894Z ##[error]gitea_test.go:16:13: Error return value of `fmt.Fprintf` is not checked (errcheck)
lint golangci-lint 2026-02-16T10:24:10.3959789Z fmt.Fprintf(w, `{"version":"1.21.0"}`)
lint golangci-lint 2026-02-16T10:24:10.3960162Z ^
lint golangci-lint 2026-02-16T10:24:10.3961315Z ##[error]gitea_test.go:26:28: Error return value of `(*encoding/json.Encoder).Encode` is not checked (errcheck)
lint golangci-lint 2026-02-16T10:24:10.3962461Z json.NewEncoder(w).Encode(map[string]any{
lint golangci-lint 2026-02-16T10:24:10.3962894Z ^
lint golangci-lint 2026-02-16T10:24:10.3963826Z ##[error]gitea_test.go:58:28: Error return value of `(*encoding/json.Encoder).Encode` is not checked (errcheck)
lint golangci-lint 2026-02-16T10:24:10.3964846Z json.NewEncoder(w).Encode(map[string]any{
lint golangci-lint 2026-02-16T10:24:10.3965222Z ^
lint golangci-lint 2026-02-16T10:24:10.3966259Z ##[error]gitea_test.go:118:28: Error return value of `(*encoding/json.Encoder).Encode` is not checked (errcheck)
lint golangci-lint 2026-02-16T10:24:10.3967944Z json.NewEncoder(w).Encode([]map[string]any{
lint golangci-lint 2026-02-16T10:24:10.3968338Z ^
lint golangci-lint 2026-02-16T10:24:10.3968581Z 4 issues:
lint golangci-lint 2026-02-16T10:24:10.3968800Z * errcheck: 4
lint golangci-lint 2026-02-16T10:24:10.3968933Z
lint golangci-lint 2026-02-16T10:24:10.3978532Z ##[error]issues found
lint golangci-lint 2026-02-16T10:24:10.3979466Z Ran golangci-lint in 7839ms
lint golangci-lint 2026-02-16T10:24:10.3979939Z ##[endgroup]More errcheck issues in gitea_test.go that I missed. Let me fix those too.