Skip to content

[build] Split Flink CI stages by major version#3714

Open
luoyuxia wants to merge 7 commits into
apache:mainfrom
luoyuxia:agent/split-flink-ci
Open

[build] Split Flink CI stages by major version#3714
luoyuxia wants to merge 7 commits into
apache:mainfrom
luoyuxia:agent/split-flink-ci

Conversation

@luoyuxia

@luoyuxia luoyuxia commented Jul 21, 2026

Copy link
Copy Markdown
Contributor

Generated-by: Codex following the repository AGENTS.md guidelines.

Purpose

Linked issue: N/A

The lake CI stage frequently approaches or exceeds its timeout because it also runs legacy Flink tests. Split the Flink tests by major version so the lake stage only runs lake modules and each group can execute independently.

Brief change log

  • Add separate flink1 and flink2 CI matrix jobs using the existing test-flink profile.
  • Run Flink 1.18 and 1.20 in flink1; skip Flink 1.19 in PR CI to reduce runtime, with daily CI coverage considered as follow-up work.
  • Run Flink common and 2.2 modules in flink2.
  • Remove Flink modules from the lake stage.
  • Scope JaCoCo class collection to each Flink stage and exclude cross-version Flink compatibility placeholders.
  • Move HudiBucketingFunctionTest to fluss-common so coverage for the common Hudi classes is collected by the core stage.

Tests

  • bash -n .github/workflows/stage.sh
  • Verified the generated Maven module selections for core, flink1, flink2, and lake.
  • git diff --check
  • Validated test-flink1 and test-flink2 profile activation with Maven.
  • ./mvnw -o -B -pl fluss-common -Dtest=HudiBucketingFunctionTest test (21 tests passed)
  • ./mvnw spotless:check was started and passed the first ten reactor modules, but was stopped after Maven stalled while accessing a configured internal repository.

API and Format

No API or storage format changes.

Documentation

No documentation changes.

@luoyuxia
luoyuxia marked this pull request as ready for review July 21, 2026 01:49
@luoyuxia
luoyuxia requested a review from Copilot July 21, 2026 01:49

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Pull request overview

Splits the Flink test execution in GitHub Actions into separate CI stages by Flink major version to reduce pressure on the lake stage and allow Flink test groups to run independently.

Changes:

  • Introduces flink-1.x and flink-2.x CI matrix entries, both using the existing test-flink Maven profile.
  • Updates stage module selection so Flink 1.18/1.19/1.20 run in flink-1.x, while Flink common + 2.2 run in flink-2.x.
  • Removes Flink 1.18/1.19 modules from the lake stage module list.

Reviewed changes

Copilot reviewed 2 out of 2 changed files in this pull request and generated 2 comments.

File Description
.github/workflows/stage.sh Splits Flink module selection into flink-1.x and flink-2.x stages and removes Flink modules from lake.
.github/workflows/ci-template.yaml Expands the CI matrix to include new flink-1.x and flink-2.x jobs mapped to the test-flink profile.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment on lines +33 to 37
MODULES_FLINK2="\
fluss-flink,\
fluss-flink/fluss-flink-common,\
fluss-flink/fluss-flink-2.2,\
fluss-flink/fluss-flink-1.20,\
fluss-flink/fluss-flink-2.2\
"
Comment thread .github/workflows/stage.sh
@luoyuxia

Copy link
Copy Markdown
Contributor Author

cc @loserwang1024 @wuchong

Comment thread .github/workflows/ci-template.yaml Outdated
fail-fast: false
matrix:
module: [ core, flink, spark3, spark3-scala213, lake ]
module: [ core, flink-1.x, flink-2.x, spark3, spark3-scala213, lake ]

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.

flink1 and flink2 for a shorter name, like spark3 and spark4

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.

3 participants