Skip to content

feat: update go1.25.8 toolchain pin for tiflow/ticdc unit jobs#4376

Merged
ti-chi-bot[bot] merged 1 commit intoPingCAP-QE:mainfrom
lybcodes:feature/update-image-for-tiflow-ticdc
Mar 20, 2026
Merged

feat: update go1.25.8 toolchain pin for tiflow/ticdc unit jobs#4376
ti-chi-bot[bot] merged 1 commit intoPingCAP-QE:mainfrom
lybcodes:feature/update-image-for-tiflow-ticdc

Conversation

@lybcodes
Copy link
Copy Markdown
Contributor

@lybcodes lybcodes commented Mar 20, 2026

Summary

This PR update image to mix Go patch toolchain artifacts (go1.25.8 vs older go 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 pull 1.25.8 artifacts. This can trigger errors like:

compile: version "go1.25.8" does not match go tool version "go1.25.x"

replay test

pingcap/ticdc#4467

pingcap/tiflow#12560

Signed-off-by: lyb <yebin.li@pingcap.com>
Copy link
Copy Markdown

@ti-chi-bot ti-chi-bot bot left a comment

Choose a reason for hiding this comment

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

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.25 to v2026.3.15-1-g5625431-go1.25 to include latest patches and fixes. Verified via replay tests linked below."

  • Files: prow-jobs/pingcap/ticdc/latest-presubmits.yaml and 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.

@ti-chi-bot ti-chi-bot bot added the size/XS label Mar 20, 2026
@gemini-code-assist
Copy link
Copy Markdown
Contributor

Summary of Changes

Hello, 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 tiflow and ticdc projects. The change ensures that unit tests and other checks are executed with a consistent and up-to-date Go environment, promoting stability and compatibility across the development workflow.

Highlights

  • CI/CD Toolchain Update: Updated the Go toolchain image version for tiflow unit test jobs, specifically in pod-ghpr_verify.yaml and latest-presubmits.yaml.
  • CI/CD Toolchain Update: Updated the Go toolchain image version for ticdc unit test jobs, specifically in latest-presubmits-next-gen.yaml and latest-presubmits.yaml.
Using Gemini Code Assist

The 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 /gemini <command> or @gemini-code-assist <command>. Below is a summary of the supported commands on the current page.

Feature Command Description
Code Review /gemini review Performs a code review for the current pull request in its current state.
Pull Request Summary /gemini summary Provides a summary of the current pull request in its current state.
Comment @gemini-code-assist Responds in comments when explicitly tagged, both in pull request comments and review comments.
Help /gemini help Displays a list of available commands.

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 .gemini/ folder in the base of the repository. Detailed instructions can be found here.

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

  1. Review the Privacy Notices, Generative AI Prohibited Use Policy, Terms of Service, and learn how to configure Gemini Code Assist in GitHub here. Gemini can make mistakes, so double check it and use code with caution.

Copy link
Copy Markdown
Contributor

@gemini-code-assist gemini-code-assist bot left a comment

Choose a reason for hiding this comment

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

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.

Copy link
Copy Markdown
Contributor

@dillon-zheng dillon-zheng left a comment

Choose a reason for hiding this comment

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

lgtm

@ti-chi-bot ti-chi-bot bot added the lgtm label Mar 20, 2026
@ti-chi-bot
Copy link
Copy Markdown

ti-chi-bot bot commented Mar 20, 2026

[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

Details Needs approval from an approver in each of these files:

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@ti-chi-bot
Copy link
Copy Markdown

ti-chi-bot bot commented Mar 20, 2026

[LGTM Timeline notifier]

Timeline:

  • 2026-03-20 06:14:23.36110362 +0000 UTC m=+510390.448761157: ☑️ agreed by dillon-zheng.

@ti-chi-bot ti-chi-bot bot added the approved label Mar 20, 2026
@ti-chi-bot ti-chi-bot bot merged commit 2572069 into PingCAP-QE:main Mar 20, 2026
4 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

Status: ✅ Done

Development

Successfully merging this pull request may close these issues.

2 participants