Skip to content

Commit 4ef663e

Browse files
authored
Merge branch 'apache:master' into master
2 parents edf07ec + 8b55445 commit 4ef663e

File tree

616 files changed

+42643
-12350
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

616 files changed

+42643
-12350
lines changed

.dlc.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@
1010
"pattern": "^{"
1111
},
1212
{
13-
"pattern": "^https://repo1.maven.org/maven2/org/apache/flink.*SNAPSHOT.*"
13+
"pattern": "^https://repo1.maven.org/maven2/org/apache/flink.*"
1414
},
1515
{
1616
"pattern": "^https://mvnrepository.com"

.github/workflows/close_stale.yml

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -53,4 +53,7 @@ jobs:
5353
# Auto-remove stale has conflicts with existing approve label workflows
5454
# and will result in Stale label missing.
5555
remove-pr-stale-when-updated: false
56-
remove-issue-stale-when-updated: false
56+
remove-issue-stale-when-updated: false
57+
# Allow pinning issues and PRs that is not meant to be closed automatically
58+
exempt-issue-labels: "pinned"
59+
exempt-pr-labels: "pinned"

.github/workflows/flink_cdc_base.yml

Lines changed: 22 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -19,18 +19,24 @@ on:
1919
workflow_call:
2020
inputs:
2121
java-version:
22-
description: "Jdk version to test against."
22+
description: "Jdk versions to test against."
2323
required: false
2424
type: string
25-
default: "8"
25+
default: "['8']"
2626
flink-version:
27-
description: "Flink version to test against."
27+
description: "Flink versions to test against."
2828
required: false
2929
type: string
30+
default: "['generic']"
3031
module:
3132
description: "Flink CDC module to test against."
3233
required: true
3334
type: string
35+
parallelism:
36+
description: "Flink parallelism."
37+
required: false
38+
type: number
39+
default: 4
3440
custom-maven-parameter:
3541
description: "Custom maven parameter."
3642
required: false
@@ -41,7 +47,8 @@ env:
4147
flink-cdc-cli,\
4248
flink-cdc-common,\
4349
flink-cdc-composer,\
44-
flink-cdc-runtime"
50+
flink-cdc-runtime,\
51+
flink-cdc-connect/flink-cdc-source-connectors/flink-cdc-base"
4552

4653
MODULES_PIPELINE_CONNECTORS: "\
4754
flink-cdc-connect/flink-cdc-pipeline-connectors/flink-cdc-pipeline-connector-values,\
@@ -50,7 +57,8 @@ env:
5057
flink-cdc-connect/flink-cdc-pipeline-connectors/flink-cdc-pipeline-connector-starrocks,\
5158
flink-cdc-connect/flink-cdc-pipeline-connectors/flink-cdc-pipeline-connector-kafka,\
5259
flink-cdc-connect/flink-cdc-pipeline-connectors/flink-cdc-pipeline-connector-paimon,\
53-
flink-cdc-connect/flink-cdc-pipeline-connectors/flink-cdc-pipeline-connector-elasticsearch"
60+
flink-cdc-connect/flink-cdc-pipeline-connectors/flink-cdc-pipeline-connector-elasticsearch,\
61+
flink-cdc-connect/flink-cdc-pipeline-connectors/flink-cdc-pipeline-connector-oceanbase"
5462

5563
MODULES_MYSQL: "\
5664
flink-cdc-connect/flink-cdc-source-connectors/flink-connector-mysql-cdc,\
@@ -98,9 +106,12 @@ jobs:
98106
compile_and_test:
99107
runs-on: ubuntu-latest
100108
timeout-minutes: 120
109+
strategy:
110+
matrix:
111+
java-version: ${{ fromJSON(inputs.java-version) }}
112+
flink-version: ${{ fromJSON(inputs.flink-version) }}
101113
steps:
102-
- run: echo "Running CI pipeline for JDK version ${{ inputs.java-version }}"
103-
114+
- run: echo "Running CI pipeline for JDK version ${{ matrix.java-version }}"
104115
- name: Clean up disk space
105116
run: |
106117
set -euo pipefail
@@ -126,7 +137,7 @@ jobs:
126137
- name: Set JDK
127138
uses: actions/setup-java@v4
128139
with:
129-
java-version: ${{ inputs.java-version }}
140+
java-version: ${{ matrix.java-version }}
130141
distribution: 'temurin'
131142
cache: 'maven'
132143

@@ -199,13 +210,13 @@ jobs:
199210
build_maven_parameter="-DspecifiedMongoVersion=7.0.12"
200211
fi
201212
202-
if [ ! -z "${{ inputs.flink-version }}" ]; then
203-
build_maven_parameter="${build_maven_parameter:+$build_maven_parameter }-DspecifiedFlinkVersion=${{ inputs.flink-version }}"
213+
if [ ! -z "${{ matrix.flink-version }}" ]; then
214+
build_maven_parameter="${build_maven_parameter:+$build_maven_parameter }-DspecifiedFlinkVersion=${{ matrix.flink-version }}"
204215
fi
205216
206217
build_maven_parameter="${build_maven_parameter:+$build_maven_parameter }${{ inputs.custom-maven-parameter }}"
207218
208-
mvn --no-snapshot-updates -B -DskipTests -pl $compile_modules -am install && mvn --no-snapshot-updates -B $build_maven_parameter -pl $modules verify
219+
mvn --no-snapshot-updates -B -DskipTests -pl $compile_modules -am install && mvn --no-snapshot-updates -B $build_maven_parameter -pl $modules -DspecifiedParallelism=${{ inputs.parallelism }} verify
209220
210221
- name: Print JVM thread dumps when cancelled
211222
if: ${{ failure() }}

.github/workflows/flink_cdc.yml renamed to .github/workflows/flink_cdc_ci.yml

Lines changed: 14 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -60,37 +60,33 @@ jobs:
6060
ut:
6161
strategy:
6262
matrix:
63-
java-version: [ '8' ]
6463
module: [ 'core', 'pipeline_connectors', 'mysql', 'postgres', 'oracle', 'mongodb6', 'mongodb7', 'sqlserver', 'tidb', 'oceanbase', 'db2', 'vitess' ]
6564
name: Unit Tests
6665
uses: ./.github/workflows/flink_cdc_base.yml
6766
with:
68-
java-version: ${{ matrix.java-version }}
67+
java-version: "[8]"
6968
module: ${{ matrix.module }}
7069
pipeline_e2e:
7170
strategy:
7271
matrix:
73-
java-version: [ '8' ]
74-
flink-version: ['1.17.2', '1.18.1', '1.19.1', '1.20.0']
75-
module: [ 'pipeline_e2e' ]
76-
name: Pipeline E2E Tests
72+
parallelism: [ 1, 4 ]
73+
name: Pipeline E2E Tests (${{ matrix.parallelism }}-Parallelism)
7774
uses: ./.github/workflows/flink_cdc_base.yml
7875
with:
79-
java-version: ${{ matrix.java-version }}
80-
flink-version: ${{ matrix.flink-version }}
81-
module: ${{ matrix.module }}
76+
java-version: "[8]"
77+
flink-version: "['1.19.1', '1.20.0']"
78+
module: pipeline_e2e
79+
parallelism: ${{ matrix.parallelism }}
8280
source_e2e:
83-
strategy:
84-
matrix:
85-
java-version: [ '8' ]
86-
flink-version: ['1.16.3', '1.17.2', '1.18.1', '1.19.1', '1.20.0']
87-
module: [ 'source_e2e' ]
8881
name: Source E2E Tests
8982
uses: ./.github/workflows/flink_cdc_base.yml
9083
with:
91-
java-version: ${{ matrix.java-version }}
92-
flink-version: ${{ matrix.flink-version }}
93-
module: ${{ matrix.module }}
84+
java-version: "[8]"
85+
flink-version: "['1.19.1', '1.20.0']"
86+
module: source_e2e
9487
migration_test:
9588
name: Migration Tests
96-
uses: ./.github/workflows/flink_cdc_migration_test.yml
89+
uses: ./.github/workflows/flink_cdc_migration_test_base.yml
90+
with:
91+
java-version: "[8]"
92+
flink-version: "['1.19.1', '1.20.0']"
Lines changed: 81 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,81 @@
1+
# Licensed to the Apache Software Foundation (ASF) under one or more
2+
# contributor license agreements. See the NOTICE file distributed with
3+
# this work for additional information regarding copyright ownership.
4+
# The ASF licenses this file to You under the Apache License, Version 2.0
5+
# (the "License"); you may not use this file except in compliance with
6+
# the License. You may obtain a copy of the License at
7+
#
8+
# http://www.apache.org/licenses/LICENSE-2.0
9+
#
10+
# Unless required by applicable law or agreed to in writing, software
11+
# distributed under the License is distributed on an "AS IS" BASIS,
12+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13+
# See the License for the specific language governing permissions and
14+
# limitations under the License.
15+
16+
name: Flink CDC CI Nightly
17+
on:
18+
schedule:
19+
- cron: '0 0 * * *' # Deploy every day
20+
workflow_dispatch:
21+
22+
concurrency:
23+
group: ${{ github.workflow }}-${{ github.event_name }}-${{ github.event.number || github.run_id }}
24+
cancel-in-progress: true
25+
26+
jobs:
27+
license_check:
28+
name: License Check
29+
runs-on: ubuntu-latest
30+
steps:
31+
- name: Check out repository code
32+
uses: actions/checkout@v4
33+
with:
34+
submodules: true
35+
- name: Set up Ruby environment
36+
uses: ruby/setup-ruby@v1
37+
with:
38+
ruby-version: '3.3'
39+
- name: Set JDK
40+
uses: actions/setup-java@v4
41+
with:
42+
java-version: '11'
43+
distribution: 'temurin'
44+
cache: 'maven'
45+
- name: Compiling jar packages
46+
run: mvn --no-snapshot-updates -B package -DskipTests
47+
- name: Run license check
48+
run: gem install rubyzip -v 2.3.0 && ./tools/ci/license_check.rb
49+
ut:
50+
strategy:
51+
matrix:
52+
module: [ 'core', 'pipeline_connectors', 'mysql', 'postgres', 'oracle', 'mongodb6', 'mongodb7', 'sqlserver', 'tidb', 'oceanbase', 'db2', 'vitess' ]
53+
name: Unit Tests
54+
uses: ./.github/workflows/flink_cdc_base.yml
55+
with:
56+
java-version: "[11]"
57+
module: ${{ matrix.module }}
58+
pipeline_e2e:
59+
strategy:
60+
matrix:
61+
parallelism: [ 1, 4 ]
62+
name: Pipeline E2E Tests (${{ matrix.parallelism }} Parallelism)
63+
uses: ./.github/workflows/flink_cdc_base.yml
64+
with:
65+
java-version: "[11]"
66+
flink-version: "['1.19.1', '1.20.0']"
67+
module: pipeline_e2e
68+
parallelism: ${{ matrix.parallelism }}
69+
source_e2e:
70+
name: Source E2E Tests
71+
uses: ./.github/workflows/flink_cdc_base.yml
72+
with:
73+
java-version: "[11]"
74+
flink-version: "['1.19.1', '1.20.0']"
75+
module: source_e2e
76+
migration_test:
77+
name: Migration Tests
78+
uses: ./.github/workflows/flink_cdc_migration_test_base.yml
79+
with:
80+
java-version: "[11]"
81+
flink-version: "['1.19.1', '1.20.0']"

.github/workflows/flink_cdc_migration_test.yml renamed to .github/workflows/flink_cdc_migration_test_base.yml

Lines changed: 21 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -17,18 +17,32 @@ name: Migration Tests
1717

1818
on:
1919
workflow_call:
20+
inputs:
21+
java-version:
22+
description: "Jdk versions to test against, passed as a JSON array string."
23+
required: false
24+
type: string
25+
default: "['8']"
26+
flink-version:
27+
description: "Flink versions to test against, passed as a JSON array string."
28+
required: true
29+
type: string
2030

2131
jobs:
2232
migration_test_ut:
2333
runs-on: ubuntu-latest
34+
strategy:
35+
matrix:
36+
java-version: ${{ fromJSON(inputs.java-version) }}
37+
flink-version: ${{ fromJSON(inputs.flink-version) }}
2438
steps:
2539
- name: Check out repository code
2640
uses: actions/checkout@v4
2741
with:
2842
submodules: true
2943
- uses: actions/setup-java@v4
3044
with:
31-
java-version: 8
45+
java-version: ${{ matrix.java-version }}
3246
distribution: temurin
3347
- name: Compile snapshot CDC version
3448
run: mvn --no-snapshot-updates -B install -DskipTests
@@ -39,9 +53,8 @@ jobs:
3953
runs-on: ubuntu-latest
4054
strategy:
4155
matrix:
42-
# '1.20.0' is excluded since FLINK-36105 has not been merged.
43-
flink-version: [ '1.18.1', '1.19.1' ]
44-
56+
java-version: ${{ fromJSON(inputs.java-version) }}
57+
flink-version: ${{ fromJSON(inputs.flink-version) }}
4558
steps:
4659
- uses: actions/checkout@v4
4760
- name: Set up Ruby
@@ -51,7 +64,7 @@ jobs:
5164
bundler-cache: true # runs 'bundle install' and caches installed gems automatically
5265
- uses: actions/setup-java@v4
5366
with:
54-
java-version: 8
67+
java-version: ${{ matrix.java-version }}
5568
distribution: temurin
5669
cache: maven
5770
- name: Install dependencies
@@ -79,7 +92,8 @@ jobs:
7992
runs-on: ubuntu-latest
8093
strategy:
8194
matrix:
82-
flink-version: [ '1.18.1', '1.19.1', '1.20.0' ]
95+
java-version: ${{ fromJSON(inputs.java-version) }}
96+
flink-version: [ '1.19.1', '1.20.0' ]
8397

8498
steps:
8599
- uses: actions/checkout@v4
@@ -90,7 +104,7 @@ jobs:
90104
bundler-cache: true # runs 'bundle install' and caches installed gems automatically
91105
- uses: actions/setup-java@v4
92106
with:
93-
java-version: 8
107+
java-version: ${{ matrix.java-version }}
94108
distribution: temurin
95109
cache: maven
96110
- name: Install dependencies

0 commit comments

Comments
 (0)