Skip to content

Pin go-mysql digest as well#4547

Merged
ilidemi merged 1 commit into
mainfrom
renovate-no-mysql-digest
Jul 7, 2026
Merged

Pin go-mysql digest as well#4547
ilidemi merged 1 commit into
mainfrom
renovate-no-mysql-digest

Conversation

@ilidemi

@ilidemi ilidemi commented Jul 7, 2026

Copy link
Copy Markdown
Contributor

go-mysql was pinned as we're using a pseudoversion from main and don't want to follow the rest of main. Turns out just version is not enough for renovate (#4546), adding digest as well

@ilidemi
ilidemi requested a review from a team as a code owner July 7, 2026 04:00
@ilidemi
ilidemi enabled auto-merge (squash) July 7, 2026 04:00
@claude

claude Bot commented Jul 7, 2026

Copy link
Copy Markdown

Code review

No issues found. Checked for bugs and CLAUDE.md compliance.

@pfcoperez pfcoperez left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Pin LGTM,

Shouldn't we also include it at:

var pinnedVersions = map[string]string{
"github.com/aws/aws-sdk-go-v2/feature/s3/manager": "v1.21.0",
"github.com/tikv/pd/client": "v0.0.0-20251229071808-6173d50c004c",
}

?

@pfcoperez pfcoperez left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Prior to the changes in this PR (main branch), a Renovate simulation:

LOG_LEVEL=debug npx renovate --platform=local --require-config=ignored --repository-cache=reset | sed '1,/packageFiles with updates/d' | sed 's/"config": {/{/' | sed '/DEBUG/,$d' | jq '.gomod[].deps[] | select(.depName == "github.com/go-mysql-org/go-mysql")'                                                                           

Still proposed the digest bump:

{
  "datasource": "go",
  "depType": "require",
  "depName": "github.com/go-mysql-org/go-mysql",
  "currentValue": "v1.15.1-0.20260701093637-35ca5c6ee8c8",
  "currentDigest": "35ca5c6ee8c8",
  "digestOneAndOnly": true,
  "versioning": "loose",
  "managerData": {
    "multiLine": true,
    "lineNumber": 37
  },
  "updates": [
    {
      "updateType": "digest",
      "newValue": "v1.15.1-0.20260701093637-35ca5c6ee8c8",
      "newDigest": "a57884f25cf0008867559df9012a6498bb17df70",
      "branchName": "renovate/github.com-go-mysql-org-go-mysql-digest"
    }
  ],
  "packageName": "github.com/go-mysql-org/go-mysql",
  "warnings": [],
  "sourceUrl": "https://github.com/go-mysql-org/go-mysql",
  "mostRecentTimestamp": "2026-05-06T12:41:30.000Z",
  "currentVersion": "v1.15.1-0.20260701093637-35ca5c6ee8c8",
  "fixedVersion": "v1.15.1-0.20260701093637-35ca5c6ee8c8"
}
{
  "datasource": "go",
  "depType": "require",
  "depName": "github.com/go-mysql-org/go-mysql",
  "currentValue": "v1.15.0",
  "managerData": {
    "multiLine": true,
    "lineNumber": 11
  },
  "updates": [],
  "packageName": "github.com/go-mysql-org/go-mysql",
  "versioning": "semver",
  "warnings": [],
  "sourceUrl": "https://github.com/go-mysql-org/go-mysql",
  "mostRecentTimestamp": "2026-05-06T12:41:30.000Z",
  "currentVersion": "v1.15.0",
  "currentVersionTimestamp": "2026-05-06T12:41:30.000Z",
  "currentVersionAgeInDays": 61,
  "fixedVersion": "v1.15.0"
}

With these changes, the output is:

{
  "datasource": "go",
  "depType": "require",
  "depName": "github.com/go-mysql-org/go-mysql",
  "currentValue": "v1.15.1-0.20260701093637-35ca5c6ee8c8",
  "currentDigest": "35ca5c6ee8c8",
  "digestOneAndOnly": true,
  "versioning": "loose",
  "managerData": {
    "multiLine": true,
    "lineNumber": 37
  },
  "updates": [
    {
      "updateType": "digest",
      "newValue": "v1.15.1-0.20260701093637-35ca5c6ee8c8",
      "newDigest": "a57884f25cf0008867559df9012a6498bb17df70",
      "branchName": "renovate/github.com-go-mysql-org-go-mysql-digest"
    }
  ],
  "packageName": "github.com/go-mysql-org/go-mysql",
  "warnings": [],
  "sourceUrl": "https://github.com/go-mysql-org/go-mysql",
  "mostRecentTimestamp": "2026-05-06T12:41:30.000Z",
  "currentVersion": "v1.15.1-0.20260701093637-35ca5c6ee8c8",
  "fixedVersion": "v1.15.1-0.20260701093637-35ca5c6ee8c8"
}
{
  "datasource": "go",
  "depType": "require",
  "depName": "github.com/go-mysql-org/go-mysql",
  "currentValue": "v1.15.0",
  "managerData": {
    "multiLine": true,
    "lineNumber": 11
  },
  "updates": [],
  "packageName": "github.com/go-mysql-org/go-mysql",
  "versioning": "semver",
  "warnings": [],
  "sourceUrl": "https://github.com/go-mysql-org/go-mysql",
  "mostRecentTimestamp": "2026-05-06T12:41:30.000Z",
  "currentVersion": "v1.15.0",
  "currentVersionTimestamp": "2026-05-06T12:41:30.000Z",
  "currentVersionAgeInDays": 61,
  "fixedVersion": "v1.15.0"
}

Which is identical so this PR is not taking the desired effect.

@pfcoperez pfcoperez left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

In my previous test I was not loading the configuration properly and the selected JSON in the logs included disabled rules. Confirmed again:


➜  peerdb git:(renovate-no-mysql-digest) ✗ LOG_LEVEL=debug npx renovate --platform=local --require-config=optional --repository-cache=reset  | grep 'flattened updates found' | tr ',' '\n' | grep mysql

 github.com/go-mysql-org/go-mysql
➜  peerdb git:(renovate-no-mysql-digest) ✗ LOG_LEVEL=debug npx renovate --platform=local --require-config=optional --repository-cache=reset  | grep 'flattened updates found' | tr ',' '\n' | grep mysql

These changes work, I wonder if you want to add the pin to the go checker but I am not blocking the PR.

@ilidemi
ilidemi merged commit 3793706 into main Jul 7, 2026
19 checks passed
@ilidemi
ilidemi deleted the renovate-no-mysql-digest branch July 7, 2026 10:10
pfcoperez added a commit that referenced this pull request Jul 14, 2026
Our dependencies updates come:
- Mostly from Renovate through automatic updates.
- When we want to remove a pinned version, through a manual PR removing
the pin (less frequently with two remaining).

We aim to not having pinned versions and if we do instruct Renovate to
stop updating them.
We also have some precedents of pinned packages that are just declared
in Renovate: #4547

After this PR, will trust Renovate and go.mod as unique sources of truth
for pins with tests as barriers.

This also removes the not longer used deps updates skill.
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.

2 participants