DBZ-2002 Add IBMI connector to CI and release
This commit is contained in:
parent
d0f0761ca7
commit
dbb2434465
47
.github/actions/build-debezium-ibmi/action.yml
vendored
Normal file
47
.github/actions/build-debezium-ibmi/action.yml
vendored
Normal file
@ -0,0 +1,47 @@
|
|||||||
|
name: "Build IBMi"
|
||||||
|
description: "Builds the Debezium IBMi connector"
|
||||||
|
|
||||||
|
inputs:
|
||||||
|
path-core:
|
||||||
|
description: "Debezium core repository checkout path"
|
||||||
|
required: true
|
||||||
|
path-ibmi:
|
||||||
|
description: "Debezium IBMi repository checkout path"
|
||||||
|
required: true
|
||||||
|
shell:
|
||||||
|
description: "The shell to use"
|
||||||
|
required: false
|
||||||
|
default: bash
|
||||||
|
|
||||||
|
runs:
|
||||||
|
using: "composite"
|
||||||
|
steps:
|
||||||
|
- name: Build Debezium (Core)
|
||||||
|
shell: ${{ inputs.shell }}
|
||||||
|
run: >
|
||||||
|
./${{ inputs.path-core }}/mvnw clean install -B -ntp -f ${{ inputs.path-core }}/pom.xml
|
||||||
|
-pl debezium-assembly-descriptors,debezium-bom,debezium-core,debezium-embedded,:debezium-ide-configs,:debezium-checkstyle,:debezium-revapi
|
||||||
|
-am
|
||||||
|
-DskipTests=true
|
||||||
|
-DskipITs=true
|
||||||
|
-Dcheckstyle.skip=true
|
||||||
|
-Dformat.skip=true
|
||||||
|
-Drevapi.skip
|
||||||
|
-Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn
|
||||||
|
-Dmaven.wagon.http.pool=false
|
||||||
|
-Dmaven.wagon.httpconnectionManager.ttlSeconds=120
|
||||||
|
|
||||||
|
- name: Build IBMi
|
||||||
|
shell: ${{ inputs.shell }}
|
||||||
|
run: >
|
||||||
|
./${{ inputs.path-core }}/mvnw clean install -B -ntp -f ${{ inputs.path-ibmi }}/pom.xml
|
||||||
|
-Passembly
|
||||||
|
-Dcheckstyle.skip=true
|
||||||
|
-Dformat.skip=true
|
||||||
|
-Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn
|
||||||
|
-Dmaven.wagon.http.pool=false
|
||||||
|
-Dmaven.wagon.httpconnectionManager.ttlSeconds=120
|
||||||
|
-Ddebezium.test.records.waittime=5
|
||||||
|
-Ddebezium.test.records.waittime.after.nulls=5
|
||||||
|
-DfailFlakyTests=false
|
||||||
|
-DskipITs
|
31
.github/workflows/debezium-workflow-pr.yml
vendored
31
.github/workflows/debezium-workflow-pr.yml
vendored
@ -480,6 +480,35 @@ jobs:
|
|||||||
path-core: core
|
path-core: core
|
||||||
path-db2: db2
|
path-db2: db2
|
||||||
|
|
||||||
|
build_ibmi:
|
||||||
|
name: "IBMi"
|
||||||
|
needs: [ check_style, file_changes ]
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
if: ${{ needs.file_changes.outputs.common-changed == 'true' }}
|
||||||
|
steps:
|
||||||
|
- name: Checkout Action (Debezium Core)
|
||||||
|
uses: actions/checkout@v4
|
||||||
|
with:
|
||||||
|
path: core
|
||||||
|
|
||||||
|
- name: Checkout Action (IBMi)
|
||||||
|
uses: actions/checkout@v4
|
||||||
|
with:
|
||||||
|
repository: debezium/debezium-connector-ibmi
|
||||||
|
path: ibmi
|
||||||
|
|
||||||
|
- uses: ./core/.github/actions/setup-java
|
||||||
|
|
||||||
|
- uses: ./core/.github/actions/maven-cache
|
||||||
|
with:
|
||||||
|
# We specifically only use the hash of the pom files from the core repository
|
||||||
|
key: maven-debezium-test-build-${{ hashFiles('core/**/pom.xml') }}
|
||||||
|
|
||||||
|
- uses: ./core/.github/actions/build-debezium-ibmi
|
||||||
|
with:
|
||||||
|
path-core: core
|
||||||
|
path-ibmi: ibmi
|
||||||
|
|
||||||
# Approx 45m
|
# Approx 45m
|
||||||
build_informix:
|
build_informix:
|
||||||
name: "Informix"
|
name: "Informix"
|
||||||
@ -627,4 +656,4 @@ jobs:
|
|||||||
- uses: ./core/.github/actions/build-debezium-server
|
- uses: ./core/.github/actions/build-debezium-server
|
||||||
with:
|
with:
|
||||||
path-core: core
|
path-core: core
|
||||||
path-server: server
|
path-server: server
|
||||||
|
28
.github/workflows/debezium-workflow-push.yml
vendored
28
.github/workflows/debezium-workflow-push.yml
vendored
@ -355,6 +355,34 @@ jobs:
|
|||||||
path-core: core
|
path-core: core
|
||||||
path-informix: informix
|
path-informix: informix
|
||||||
|
|
||||||
|
build_ibmi:
|
||||||
|
name: "IBMi"
|
||||||
|
needs: [ check_style ]
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
steps:
|
||||||
|
- name: Checkout Action (Debezium Core)
|
||||||
|
uses: actions/checkout@v4
|
||||||
|
with:
|
||||||
|
path: core
|
||||||
|
|
||||||
|
- name: Checkout Action (IBMi)
|
||||||
|
uses: actions/checkout@v4
|
||||||
|
with:
|
||||||
|
repository: debezium/debezium-connector-ibmi
|
||||||
|
path: ibmi
|
||||||
|
|
||||||
|
- uses: ./core/.github/actions/setup-java
|
||||||
|
|
||||||
|
- uses: ./core/.github/actions/maven-cache
|
||||||
|
with:
|
||||||
|
# We specifically only use the hash of the pom files from the core repository
|
||||||
|
key: maven-debezium-test-push-build-${{ hashFiles('core/**/pom.xml') }}
|
||||||
|
|
||||||
|
- uses: ./core/.github/actions/build-debezium-ibmi
|
||||||
|
with:
|
||||||
|
path-core: core
|
||||||
|
path-ibmi: ibmi
|
||||||
|
|
||||||
# Approx 20m
|
# Approx 20m
|
||||||
build_vitess:
|
build_vitess:
|
||||||
name: "Vitess"
|
name: "Vitess"
|
||||||
|
46
.github/workflows/jdk-outreach-workflow.yml
vendored
46
.github/workflows/jdk-outreach-workflow.yml
vendored
@ -371,6 +371,52 @@ jobs:
|
|||||||
-Ddebezium.test.records.waittime.after.nulls=5
|
-Ddebezium.test.records.waittime.after.nulls=5
|
||||||
-DfailFlakyTests=false
|
-DfailFlakyTests=false
|
||||||
${{ matrix.feature.extra }}
|
${{ matrix.feature.extra }}
|
||||||
|
ibmi:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
strategy:
|
||||||
|
matrix:
|
||||||
|
feature: [ { release: ga, args: '-DskipITs=true -DskipTests=true', extra: '' }, { release: ea, args: '', extra: '-Dnet.bytebuddy.experimental=true' } ]
|
||||||
|
fail-fast: false
|
||||||
|
name: IBMi - Java ${{ matrix.feature.release }}
|
||||||
|
steps:
|
||||||
|
- name: Checkout Core
|
||||||
|
uses: actions/checkout@v4
|
||||||
|
with:
|
||||||
|
path: core
|
||||||
|
- name: Checkout IBMi
|
||||||
|
uses: actions/checkout@v4
|
||||||
|
with:
|
||||||
|
repository: debezium/debezium-connector-ibmi
|
||||||
|
path: ibmi
|
||||||
|
- name: Setup OpenJDK
|
||||||
|
uses: oracle-actions/setup-java@v1
|
||||||
|
with:
|
||||||
|
website: jdk.java.net
|
||||||
|
release: ${{ matrix.feature.release }}
|
||||||
|
- name: Build Debezium Core
|
||||||
|
run: >
|
||||||
|
./core/mvnw clean install -f core/pom.xml
|
||||||
|
-DskipTests
|
||||||
|
-DskipITs
|
||||||
|
-Dformat.formatter.goal=validate
|
||||||
|
-Dformat.imports.goal=check
|
||||||
|
-Dhttp.keepAlive=false -Dmaven.wagon.http.pool=false
|
||||||
|
-Dmaven.wagon.httpconnectionManager.ttlSeconds=120
|
||||||
|
${{ matrix.feature.extra }}
|
||||||
|
- name: Build Debezium Connector IBMi
|
||||||
|
run: >
|
||||||
|
./core/mvnw clean install -f ibmi/pom.xml
|
||||||
|
-Passembly ${{ matrix.feature.args }}
|
||||||
|
-Dformat.formatter.goal=validate
|
||||||
|
-Dformat.imports.goal=check
|
||||||
|
-Dhttp.keepAlive=false
|
||||||
|
-Dmaven.wagon.http.pool=false
|
||||||
|
-Dmaven.wagon.httpconnectionManager.ttlSeconds=120
|
||||||
|
-Ddebezium.test.records.waittime=5
|
||||||
|
-Ddebezium.test.records.waittime.after.nulls=5
|
||||||
|
-DfailFlakyTests=false
|
||||||
|
-DskipITs
|
||||||
|
${{ matrix.feature.extra }}
|
||||||
quarkus-outbox:
|
quarkus-outbox:
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
strategy:
|
strategy:
|
||||||
|
@ -27,7 +27,7 @@ pipelineJob('release/release-deploy_snapshots_pipeline') {
|
|||||||
stringParam('DEBEZIUM_BRANCH', 'main', 'A branch from which Debezium is built')
|
stringParam('DEBEZIUM_BRANCH', 'main', 'A branch from which Debezium is built')
|
||||||
stringParam(
|
stringParam(
|
||||||
'DEBEZIUM_ADDITIONAL_REPOSITORIES',
|
'DEBEZIUM_ADDITIONAL_REPOSITORIES',
|
||||||
'db2#github.com/debezium/debezium-connector-db2.git#main vitess#github.com/debezium/debezium-connector-vitess.git#main cassandra#github.com/debezium/debezium-connector-cassandra.git#main spanner#github.com/debezium/debezium-connector-spanner.git#main jdbc#github.com/debezium/debezium-connector-jdbc.git#main informix#github.com/debezium/debezium-connector-informix.git#main server#github.com/debezium/debezium-server.git#main operator#github.com/debezium/debezium-operator.git#main',
|
'db2#github.com/debezium/debezium-connector-db2.git#main vitess#github.com/debezium/debezium-connector-vitess.git#main cassandra#github.com/debezium/debezium-connector-cassandra.git#main spanner#github.com/debezium/debezium-connector-spanner.git#main jdbc#github.com/debezium/debezium-connector-jdbc.git#main informix#github.com/debezium/debezium-connector-informix.git#main ibmi#github.com/debezium/debezium-connector-ibmi.git#main server#github.com/debezium/debezium-server.git#main operator#github.com/debezium/debezium-operator.git#main',
|
||||||
'A space separated list of additional repositories from which Debezium connectors are built (id#repo#branch)'
|
'A space separated list of additional repositories from which Debezium connectors are built (id#repo#branch)'
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
@ -24,7 +24,7 @@ pipelineJob('release/release-debezium-upstream') {
|
|||||||
stringParam('DEBEZIUM_BRANCH', 'main', 'A branch from which Debezium is built')
|
stringParam('DEBEZIUM_BRANCH', 'main', 'A branch from which Debezium is built')
|
||||||
stringParam(
|
stringParam(
|
||||||
'DEBEZIUM_ADDITIONAL_REPOSITORIES',
|
'DEBEZIUM_ADDITIONAL_REPOSITORIES',
|
||||||
'jdbc#github.com/debezium/debezium-connector-jdbc.git#main spanner#github.com/debezium/debezium-connector-spanner.git#main db2#github.com/debezium/debezium-connector-db2.git#main vitess#github.com/debezium/debezium-connector-vitess.git#main cassandra#github.com/debezium/debezium-connector-cassandra.git#main informix#github.com/debezium/debezium-connector-informix.git#main server#github.com/debezium/debezium-server.git#main operator#github.com/debezium/debezium-operator.git#main',
|
'jdbc#github.com/debezium/debezium-connector-jdbc.git#main spanner#github.com/debezium/debezium-connector-spanner.git#main db2#github.com/debezium/debezium-connector-db2.git#main vitess#github.com/debezium/debezium-connector-vitess.git#main cassandra#github.com/debezium/debezium-connector-cassandra.git#main informix#github.com/debezium/debezium-connector-informix.git#main ibmi#github.com/debezium/debezium-connector-ibmi.git#main server#github.com/debezium/debezium-server.git#main operator#github.com/debezium/debezium-operator.git#main',
|
||||||
'A space separated list of additional repositories from which Debezium incubating components are built (id#repo#branch)'
|
'A space separated list of additional repositories from which Debezium incubating components are built (id#repo#branch)'
|
||||||
)
|
)
|
||||||
stringParam('IMAGES_REPOSITORY', 'github.com/debezium/container-images.git', 'Repository from which Debezium images are built')
|
stringParam('IMAGES_REPOSITORY', 'github.com/debezium/container-images.git', 'Repository from which Debezium images are built')
|
||||||
|
@ -82,7 +82,7 @@ CONNECTORS_PER_VERSION = [
|
|||||||
'2.3' : ['mongodb', 'mysql', 'postgres', 'sqlserver', 'oracle', 'cassandra-3', 'cassandra-4', 'db2', 'vitess', 'spanner', 'jdbc'],
|
'2.3' : ['mongodb', 'mysql', 'postgres', 'sqlserver', 'oracle', 'cassandra-3', 'cassandra-4', 'db2', 'vitess', 'spanner', 'jdbc'],
|
||||||
'2.4' : ['mongodb', 'mysql', 'postgres', 'sqlserver', 'oracle', 'cassandra-3', 'cassandra-4', 'db2', 'vitess', 'spanner', 'jdbc'],
|
'2.4' : ['mongodb', 'mysql', 'postgres', 'sqlserver', 'oracle', 'cassandra-3', 'cassandra-4', 'db2', 'vitess', 'spanner', 'jdbc'],
|
||||||
'2.5' : ['mongodb', 'mysql', 'postgres', 'sqlserver', 'oracle', 'cassandra-3', 'cassandra-4', 'db2', 'vitess', 'spanner', 'jdbc', 'informix'],
|
'2.5' : ['mongodb', 'mysql', 'postgres', 'sqlserver', 'oracle', 'cassandra-3', 'cassandra-4', 'db2', 'vitess', 'spanner', 'jdbc', 'informix'],
|
||||||
'2.6' : ['mongodb', 'mysql', 'postgres', 'sqlserver', 'oracle', 'cassandra-3', 'cassandra-4', 'db2', 'vitess', 'spanner', 'jdbc', 'informix']
|
'2.6' : ['mongodb', 'mysql', 'postgres', 'sqlserver', 'oracle', 'cassandra-3', 'cassandra-4', 'db2', 'vitess', 'spanner', 'jdbc', 'informix', 'ibmi']
|
||||||
]
|
]
|
||||||
|
|
||||||
CONNECTORS = CONNECTORS_PER_VERSION[VERSION_MAJOR_MINOR]
|
CONNECTORS = CONNECTORS_PER_VERSION[VERSION_MAJOR_MINOR]
|
||||||
|
@ -10,7 +10,7 @@ ALIASES="jenkins-jobs/scripts/config/Aliases.txt"
|
|||||||
|
|
||||||
declare -a DEBEZIUM_REPOS
|
declare -a DEBEZIUM_REPOS
|
||||||
if [ $# -eq 0 ];then
|
if [ $# -eq 0 ];then
|
||||||
DEBEZIUM_REPOS=("debezium" "debezium-connector-db2" "debezium-connector-cassandra" "debezium-connector-vitess" "debezium-connector-spanner" "debezium-connector-jdbc" "debezium-connector-informix" "container-images" "debezium-server")
|
DEBEZIUM_REPOS=("debezium" "debezium-connector-db2" "debezium-connector-cassandra" "debezium-connector-vitess" "debezium-connector-spanner" "debezium-connector-jdbc" "debezium-connector-informix" "debezium-connector-ibmi" "container-images" "debezium-server")
|
||||||
else
|
else
|
||||||
DEBEZIUM_REPOS=( "$@" )
|
DEBEZIUM_REPOS=( "$@" )
|
||||||
fi
|
fi
|
||||||
|
Loading…
Reference in New Issue
Block a user