Conversation
Update major Go dependencies: go-github v74→v84, gocron v1→v2, pam v1→v2, jsonschema v5→v6, enmime v1→v2, go-gitlab and ntlmssp with their API changes. Update GHA actions to latest versions. Bump JS dependencies including katex, vue, webpack, swagger-ui-dist. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
There was a problem hiding this comment.
Pull request overview
This PR performs a broad set of dependency upgrades across Go and JavaScript ecosystems, including several major version bumps. The main code changes are adaptations to breaking API changes in updated libraries.
Changes:
- Bump major Go dependencies: go-github v74→v84, gocron v1→v2, PAM v1→v2, jsonschema v5→v6, enmime v1→v2, go-gitlab, ntlmssp, and go-ap, with corresponding API adaptation code
- Update minor/patch Go and JS dependencies across the board
- Update GitHub Actions workflow actions (actions/checkout v5→v6, aws-actions/configure-aws-credentials v5→v6)
Reviewed changes
Copilot reviewed 24 out of 27 changed files in this pull request and generated 2 comments.
Show a summary per file
| File | Description |
|---|---|
| services/migrations/github.go | Adapts to go-github v84: removes ListReviewers pagination loop; updates import path |
| services/migrations/gitlab.go | Adapts to new go-gitlab API: int→int64 for IDs, restructured pagination options |
| services/migrations/gitlab_test.go | Updates test types to match int64 ID fields; uses new gitlab.NoteAuthor type |
| services/mailer/sender/smtp_auth.go | Adapts NTLM auth to go-ntlmssp v0.1.0 (drops GetDomain/ProcessChallenge) |
| services/mailer/incoming/incoming.go, incoming_test.go | Updates enmime import path to v2 |
| services/cron/cron.go | Adapts to gocron v2: Scheduler interface, non-blocking Start, error-returning Shutdown |
| services/cron/tasks.go | Adapts job registration to gocron v2 NewJob/CronJob/NewTask API |
| services/cron/tasks_test.go | Replaces removed scheduler.Clear() with manual job removal in test teardown |
| routers/api/v1/activitypub/person.go | Adapts to new go-ap API: uses ap.MakeRef([]byte("en")) for language keys |
| modules/auth/pam/pam.go | Updates PAM import to v2; adds defer t.End() for proper resource cleanup |
| modules/migration/file_format.go | Adapts jsonschema v6: implements URLLoader interface via schemaLoader struct |
| modules/migration/schemas_bindata.go, schemas_dynamic.go | Adapts schema loading to return pre-unmarshaled JSON (any) instead of io.ReadCloser |
| modules/migration/file_format_test.go | Updates jsonschema import to v6 |
| web_src/js/globals.d.ts | Updates jQuery Window type to use JQueryStatic directly (for @types/jquery v4) |
| package.json | Bumps various JS dependencies |
| go.mod / go.sum | Updates all Go dependency versions |
| .github/workflows/*.yml | Updates GitHub Actions versions |
| assets/go-licenses.json | Adds/updates license entries for new/renamed dependencies |
| contrib/backport/backport.go | Updates go-github import path to v84 |
| services/migrations/error.go | Updates go-github import path to v84 |
Files not reviewed (1)
- pnpm-lock.yaml: Language not supported
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
|
Failures are related. How pam upgrade migration was tested because I know it doesn't run in CI? I really don't think grouping minor updates and ones that require a rewrite - see migration code especially - is a good idea but I won't object on this since you did the work. |
|
You should really learn from this:
|
|
Summary of CI failures:
we can make it run in CI, it is Linux after all
We will see, I prefer avoid using |
It's not hack. It is the official correct approach, even you ask AI. I will block non-official hacks for the go dependency management. |
- Fix isValidDefaultSubCommand for urfave/cli v3.6.2: use cmd.Args() instead of cmd.Root().Args() since v3.6.2 prepends default command name into root args - Remove test cases for `help -c` flag ordering no longer supported by urfave/cli v3.6.2 (help subcommand now skips flag parsing) - Update YAML test fixture for go.yaml.in/yaml/v4 rc.4 block scalar serialization change (|2- → |-, both are valid YAML) - Pin Azure SDK (azblob v1.6.2, azcore v1.19.0) to avoid Azurite incompatibility with API version 2026-02-06 Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
As I see it |
Add a CI step that installs PAM dev headers, creates a mock PAM service using pam_deny.so, and runs the PAM unit test to validate the pam v1 to v2 migration. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@wxiaoguang so what changes do you want? What should be |
Your "updates" also does so, https://github.com/go-gitea/gitea/blob/main/updates.config.ts . If you say this, then you mean you are also "too lazy".
I have said clearly I won't waste time on this topic for you. Don't ask more, just do it right. |
|
All tests including the new pam tests are passing, but I guess I will just revert all the "controversial" updates, thought I'm still not sure which ones are controversial as no one wants to tell me. Regarding |
it can, question is are you willing port it and not break anything, while keeping a sane interface? And generate shell completions? I'm not sure what the issue with bumping versions in |
* main: Fix dbfs error handling (go-gitea#36844) Fix OAuth2 authorization code expiry and reuse handling (go-gitea#36797) Fix org permission API visibility checks for hidden members and private orgs (go-gitea#36798) Fix non-admins unable to automerge PRs from forks (go-gitea#36833) upgrade to github.com/cloudflare/circl 1.6.3, svgo 4.0.1, markdownlint-cli 0.48.0 (go-gitea#36837) # Conflicts: # go.mod # go.sum
Co-Authored-By: Claude (Opus 4.6) <noreply@anthropic.com>
|
All go dependencies updated again and ready for review. |
Co-Authored-By: Claude (Opus 4.6) <noreply@anthropic.com>
azblob v1.6.4 uses API version 2026-02-06 which is not supported by the Azurite emulator in CI, causing test-unit and test-mssql failures. Co-Authored-By: Claude (Opus 4.6) <noreply@anthropic.com>
* origin/main: Optimize Docker build with dependency layer caching (go-gitea#36864) Fix URLJoin, markup render link reoslving, sign-in/up/linkaccount page common data (go-gitea#36861) Fix CodeQL code scanning alerts (go-gitea#36858) Refactor auth middleware (go-gitea#36848) Update Nix flake (go-gitea#36857) Update JS deps (go-gitea#36850) Load `mentionValues` asynchronously (go-gitea#36739) [skip ci] Updated translations via Crowdin
Prevents future dependency updates from pulling in azblob v1.6.4+ which uses API version 2026-02-06 unsupported by Azurite in CI. Co-Authored-By: Claude (Opus 4.6) <noreply@anthropic.com>
|
Had to pin these as well because of the
Should come out green now. |
|
@wxiaoguang any other concerns? want me to revert more changes? Would like to get this topic off the table. |
# Conflicts: # go.mod # go.sum
wxiaoguang
left a comment
There was a problem hiding this comment.
Didn't spend time on the changed logic
* origin/main: Update JS dependencies and misc tweaks (go-gitea#37064) Redirect to the only OAuth2 provider when no other login methods and fix various problems (go-gitea#36901) Show workflow link (go-gitea#37070) Remove leftover `webpackChunkName` comments from codeeditor (go-gitea#37062) Update Go dependencies (go-gitea#36781) Add webhook name field to improve webhook identification (go-gitea#37025) (go-gitea#37040) Upgrade `go-git` to v5.17.2 (go-gitea#37060) Replace Monaco with CodeMirror (go-gitea#36764) Update Combine method to treat warnings as failures and adjust tests (go-gitea#37048) Raise minimum Node.js version to 22.18.0 (go-gitea#37058) Update golangci-lint to v2.11.4 (go-gitea#37059) Upgrade `golang.org/x/image` to v0.38.0 (go-gitea#37054) # Conflicts: # web_src/css/themes/theme-gitea-dark.css
* main: Fix NuGet package upload error handling (go-gitea#37074) Desaturate dark theme background colors (go-gitea#37056) Update JS dependencies and misc tweaks (go-gitea#37064) Redirect to the only OAuth2 provider when no other login methods and fix various problems (go-gitea#36901) Show workflow link (go-gitea#37070) Remove leftover `webpackChunkName` comments from codeeditor (go-gitea#37062) Update Go dependencies (go-gitea#36781) Add webhook name field to improve webhook identification (go-gitea#37025) (go-gitea#37040) Upgrade `go-git` to v5.17.2 (go-gitea#37060) Replace Monaco with CodeMirror (go-gitea#36764) Update Combine method to treat warnings as failures and adjust tests (go-gitea#37048) Raise minimum Node.js version to 22.18.0 (go-gitea#37058) Update golangci-lint to v2.11.4 (go-gitea#37059) Upgrade `golang.org/x/image` to v0.38.0 (go-gitea#37054) Increase e2e test timeouts on CI to fix flaky tests (go-gitea#37053) Refactor "org teams" page and help new users to "add member" to an org (go-gitea#37051)
* origin/main: (192 commits) Fix NuGet package upload error handling (go-gitea#37074) Desaturate dark theme background colors (go-gitea#37056) Update JS dependencies and misc tweaks (go-gitea#37064) Redirect to the only OAuth2 provider when no other login methods and fix various problems (go-gitea#36901) Show workflow link (go-gitea#37070) Remove leftover `webpackChunkName` comments from codeeditor (go-gitea#37062) Update Go dependencies (go-gitea#36781) Add webhook name field to improve webhook identification (go-gitea#37025) (go-gitea#37040) Upgrade `go-git` to v5.17.2 (go-gitea#37060) Replace Monaco with CodeMirror (go-gitea#36764) Update Combine method to treat warnings as failures and adjust tests (go-gitea#37048) Raise minimum Node.js version to 22.18.0 (go-gitea#37058) Update golangci-lint to v2.11.4 (go-gitea#37059) Upgrade `golang.org/x/image` to v0.38.0 (go-gitea#37054) Increase e2e test timeouts on CI to fix flaky tests (go-gitea#37053) Refactor "org teams" page and help new users to "add member" to an org (go-gitea#37051) Refactor issue sidebar and fix various problems (go-gitea#37045) Add tests for pull request's content_version in API (go-gitea#37044) Enable concurrent vitest execution (go-gitea#36998) Fix theme discovery and Vite dev server in dev mode (go-gitea#37033) ... # Conflicts: # templates/user/dashboard/feeds.tmpl
Update all non-locked Go dependencies and pin incompatible ones.
replace(v3.6.2 breaks-cflag parsing)replace(rc.4 changes block scalar serialization)🤖 Generated with Claude Code