Skip to content

fix(gomod): pseudo-version digest updates produce no change when module is absent from go proxy#44477

Open
Maydaer wants to merge 1 commit into
renovatebot:mainfrom
Maydaer:issue-44455
Open

fix(gomod): pseudo-version digest updates produce no change when module is absent from go proxy#44477
Maydaer wants to merge 1 commit into
renovatebot:mainfrom
Maydaer:issue-44455

Conversation

@Maydaer

@Maydaer Maydaer commented Jul 10, 2026

Copy link
Copy Markdown

Changes

Since Renovate version 43.167.0 (which includes PR #41588), digest updates for Go modules with pseudo-versions no longer produce file changes, if the repository is unavailable in the goproxy (for example repos on github enterprise instances, private repositories, etc).
The update process detects a newer commit, but only for newDigest.
The lookup for the new commit on proxy.golang.org fails, which causes upgrade.newValue in gomod.update to be equal to the current (old) value.

However, since current value is a pseudo-version, the version starts with v0.0.0-and gomod.update goes into the new code path

  if (upgrade.newValue?.startsWith('v0.0.0-')) {

added by the above PR, but since newVersion is the old version, no file changes occur.

This PR ensures the old behavior is triggered, if newValue and oldValue are identical, which handles the case where goproxy is unavailable.

Context

Please select one of the following:

AI assistance disclosure

Did you use AI tools to create any part of this pull request?

Please select one option and, if yes, briefly describe how AI was used (e.g., code, tests, docs) and which tool(s) you used.

  • No — I did not use AI for this contribution.
  • Yes — minimal assistance (e.g., IDE autocomplete, small code completions, grammar fixes).
  • Yes — substantive assistance (AI-generated non‑trivial portions of code, tests, or documentation).
    I used claude opus for the writing the test and the code change, but did some manual edits.
  • Yes — other (please describe):

Documentation (please check one with an [x])

  • I have updated the documentation, or
  • No documentation update is required

How I've tested my work (please select one)

I have verified these changes via:

  • Code inspection only, or
  • Newly added/modified unit tests, or
  • No unit tests, but ran on a real repository, or
  • Both unit tests + ran on a real repository

The public repository:

@cla-assistant

cla-assistant Bot commented Jul 10, 2026

Copy link
Copy Markdown

CLA assistant check
All committers have signed the CLA.

@RahulGautamSingh RahulGautamSingh left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Else LGTM

packageFile: 'go.mod',
upgrade,
});
// Should fall back to bare hash since newValue === currentValue

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
// Should fall back to bare hash since newValue === currentValue

same as test name

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

fix(gomod): pseudo-version digest updates produce no change when module is absent from go proxy

2 participants