feat: update go1.25.8 toolchain pin for tiflow/ticdc unit jobs#4376
Conversation
Signed-off-by: lyb <yebin.li@pingcap.com>
There was a problem hiding this comment.
I have already done a preliminary review for you, and I hope to help you do a better job.
Summary:
This PR updates the pinned Go 1.25 toolchain versions used in the tiflow/ticdc unit test jobs by bumping container image tags to newer builds that include Go 1.25. The changes are straightforward and limited to YAML configuration files for CI job definitions, focusing on specifying updated Docker images. The PR is well-targeted with no code logic changes, minimizing risk of introducing bugs. Overall, the changes appear appropriate and small in scope.
Code Improvements
-
File:
pipelines/pingcap/tiflow/latest/pod-ghpr_verify.yaml(line 7) and all prow job YAMLs
Issue: The updated image tags are hardcoded without referencing a centralized version or variable. This can lead to maintenance overhead and inconsistencies when updating versions in the future.
Suggestion: Consider defining a single variable or config map for the Go toolchain version or base image tag that can be reused across multiple job definitions to reduce duplication and improve maintainability. For example:# Define at the top or in a common config: go_base_image_tag: v2026.3.15-1-g5625431-go1.25 # Then reference it: image: "ghcr.io/pingcap-qe/ci/base:{{ .Values.go_base_image_tag }}"
-
File: All prow job YAMLs
Issue: No fallback or version validation is present if the specified image version is unavailable or broken, which might cause CI failures.
Suggestion: Add comments or documentation about how to roll back to previous stable image versions or implement a validation step in the CI pipeline to test image availability before fully switching.
Best Practices
-
Files: All YAML files updated
Issue: The PR description lacks explicit mention of which files were modified or why the specific new image tags were chosen (e.g., what changed between old and new tags). This can make future reviews less clear.
Suggestion: Improve PR description with a summary like:"Updated Go 1.25 toolchain images from
v2025.12.7-3-g1c0b8cf-go1.25tov2026.3.15-1-g5625431-go1.25to include latest patches and fixes. Verified via replay tests linked below." -
Files:
prow-jobs/pingcap/ticdc/latest-presubmits.yamland others
Issue: No testing or verification steps are documented within the YAML or PR about ensuring these image updates do not break the pipeline.
Suggestion: Add comments in the YAML files or PR notes about any smoke tests or integration tests performed to verify the new images work as expected.
Critical Issues
No critical issues found. The PR involves only config updates to pinned image tags and does not affect business logic or code paths. The replay tests linked in the PR description seem to confirm the changes are safe.
Summary:
The PR cleanly updates Go toolchain image versions for tiflow/ticdc unit test jobs. Consider centralizing image version references and improving documentation in the PR description and YAML comments to aid maintainability and clarity.
Summary of ChangesHello, I'm Gemini Code Assist1! I'm currently reviewing this pull request and will post my feedback shortly. In the meantime, here's a summary to help you and other reviewers quickly get up to speed! This pull request updates the Go toolchain image versions used across various CI/CD pipelines for the Highlights
Using Gemini Code AssistThe full guide for Gemini Code Assist can be found on our documentation page, here are some quick tips. Invoking Gemini You can request assistance from Gemini at any point by creating a comment using either
Customization To customize Gemini Code Assist for GitHub experience, repository maintainers can create a configuration file and/or provide a custom code review style guide (such as PEP-8 for Python) by creating and adding files to a Limitations & Feedback Gemini Code Assist may make mistakes. Please leave feedback on any instances where its feedback is incorrect or counter productive. You can react with 👍 and 👎 on @gemini-code-assist comments. If you're interested in giving your feedback about your experience with Gemini Code Assist for GitHub and other Google products, sign up here. Footnotes
|
There was a problem hiding this comment.
Code Review
This pull request updates the Go toolchain to version 1.25.8 by bumping the Docker image versions in several CI configuration files for tiflow and ticdc. The changes are generally correct and consistent. However, I've noted one area for improvement in prow-jobs/pingcap/tiflow/latest-presubmits.yaml where not all jobs were updated to the new image version. Updating them all and using YAML anchors would improve consistency and maintainability.
|
[APPROVALNOTIFIER] This PR is APPROVED This pull-request has been approved by: dillon-zheng The full list of commands accepted by this bot can be found here. The pull request process is described here DetailsNeeds approval from an approver in each of these files:
Approvers can indicate their approval by writing |
[LGTM Timeline notifier]Timeline:
|
Summary
This PR update image to mix Go patch toolchain artifacts (
go1.25.8vs oldergo tool) that cause compile failures in PR jobs.Why
Some jobs are still running in environments/images that are not fully aligned to Go
1.25.8, while repo-side changes already pull1.25.8artifacts. This can trigger errors like:replay test
pingcap/ticdc#4467
pingcap/tiflow#12560