Java Quality Outreach #290
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Java Quality Outreach | |
on: | |
push: | |
paths: | |
- '.github/workflows/jdk-outreach-workflow.yml' | |
pull_request: | |
paths: | |
- '.github/workflows/jdk-outreach-workflow.yml' | |
schedule: | |
- cron: 0 22 * * * | |
env: | |
MAVEN_FULL_BUILD_PROJECTS: "\\!debezium-microbenchmark-oracle" | |
jobs: | |
sqlserver: | |
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: SQL Server - Java ${{ matrix.feature.release }} | |
steps: | |
- uses: actions/checkout@v4 | |
with: | |
submodules: recursive | |
- name: Setup OpenJDK | |
uses: oracle-actions/setup-java@v1 | |
with: | |
website: jdk.java.net | |
release: ${{ matrix.feature.release }} | |
- name: Maven Build | |
run: > | |
./mvnw clean install -B -pl debezium-bom,debezium-connector-sqlserver -am | |
-Passembly ${{ matrix.feature.args }} | |
-Dformat.formatter.goal=validate | |
-Dformat.imports.goal=check | |
-Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn | |
-Dhttp.keepAlive=false | |
-Dmaven.wagon.http.pool=false | |
-Dmaven.wagon.httpconnectionManager.ttlSeconds=120 | |
-DfailFlakyTests=false | |
${{ matrix.feature.extra }} | |
mysql: | |
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: MySQL - Java ${{ matrix.feature.release }} | |
steps: | |
- uses: actions/checkout@v4 | |
with: | |
submodules: recursive | |
- name: Setup OpenJDK | |
uses: oracle-actions/setup-java@v1 | |
with: | |
website: jdk.java.net | |
release: ${{ matrix.feature.release }} | |
- name: Maven Build | |
run: > | |
./mvnw clean install -B -pl debezium-bom,debezium-connector-mysql -am | |
-Passembly ${{ matrix.feature.args }} | |
-Dformat.formatter.goal=validate | |
-Dformat.imports.goal=check | |
-Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn | |
-Dhttp.keepAlive=false | |
-Dmaven.wagon.http.pool=false | |
-Dmaven.wagon.httpconnectionManager.ttlSeconds=120 | |
-DfailFlakyTests=false | |
${{ matrix.feature.extra }} | |
postgres-pgoutput: | |
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: PostgreSQL Pgoutput - Java ${{ matrix.feature.release }} | |
steps: | |
- uses: actions/checkout@v4 | |
with: | |
submodules: recursive | |
- name: Setup OpenJDK | |
uses: oracle-actions/setup-java@v1 | |
with: | |
website: jdk.java.net | |
release: ${{ matrix.feature.release }} | |
- name: Maven Build | |
run: > | |
./mvnw clean install -B -pl debezium-bom,debezium-connector-postgres -am | |
-Passembly,pgoutput-decoder,postgres-16 ${{ matrix.feature.args }} | |
-Ddebezium.test.records.waittime=5 | |
-Dformat.formatter.goal=validate | |
-Dformat.imports.goal=check | |
-Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn | |
-Dhttp.keepAlive=false | |
-Dmaven.wagon.http.pool=false | |
-Dmaven.wagon.httpconnectionManager.ttlSeconds=120 | |
-DfailFlakyTests=false | |
${{ matrix.feature.extra }} | |
mongodb: | |
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: MongoDB 7.0 - Java ${{ matrix.feature.release }} | |
steps: | |
- uses: actions/checkout@v4 | |
with: | |
submodules: recursive | |
- name: Setup OpenJDK | |
uses: oracle-actions/setup-java@v1 | |
with: | |
website: jdk.java.net | |
release: ${{ matrix.feature.release }} | |
- name: Maven Build | |
run: > | |
./mvnw clean install -B -pl debezium-bom,debezium-connector-mongodb -am | |
-Passembly ${{ matrix.feature.args }} | |
-Dformat.formatter.goal=validate | |
-Dformat.imports.goal=check | |
-Dversion.mongo.server=7.0 | |
-Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn | |
-Dhttp.keepAlive=false | |
-Dmaven.wagon.http.pool=false | |
-Dmaven.wagon.httpconnectionManager.ttlSeconds=120 | |
-DfailFlakyTests=false | |
${{ matrix.feature.extra }} | |
oracle: | |
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: Oracle - Java ${{ matrix.feature.release }} | |
steps: | |
- uses: actions/checkout@v4 | |
with: | |
submodules: recursive | |
- name: Setup OpenJDK | |
uses: oracle-actions/setup-java@v1 | |
with: | |
website: jdk.java.net | |
release: ${{ matrix.feature.release }} | |
- name: Maven Build | |
run: > | |
./mvnw clean install -B -pl debezium-bom,debezium-connector-oracle -am | |
-DskipITs=true | |
-Dformat.formatter.goal=validate | |
-Dformat.imports.goal=check | |
-Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn | |
-Dmaven.wagon.http.pool=false | |
-Dmaven.wagon.httpconnectionManager.ttlSeconds=120 | |
-DfailFlakyTests=false | |
${{ matrix.feature.extra }} | |
cassandra: | |
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: Cassandra - Java ${{ matrix.feature.release }} | |
steps: | |
- name: Checkout Core | |
uses: actions/checkout@v4 | |
with: | |
path: core | |
- name: Checkout Cassandra | |
uses: actions/checkout@v4 | |
with: | |
repository: debezium/debezium-connector-cassandra | |
path: cassandra | |
- 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: Install dse dependency artifacts (for Debezium Connector Cassandra) | |
working-directory: cassandra | |
run: sh ./install-artifacts.sh | |
- name: Build Debezium Connectors Cassandra | |
run: > | |
./core/mvnw clean install -f cassandra/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 | |
${{ matrix.feature.extra }} | |
db2: | |
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: Db2 - Java ${{ matrix.feature.release }} | |
steps: | |
- name: Checkout Core | |
uses: actions/checkout@v4 | |
with: | |
path: core | |
- name: Checkout Db2 | |
uses: actions/checkout@v4 | |
with: | |
repository: debezium/debezium-connector-db2 | |
path: db2 | |
- 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 Db2 | |
run: > | |
./core/mvnw clean install -f db2/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 | |
-DfailFlakyTests=false | |
${{ matrix.feature.extra }} | |
spanner: | |
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: Spanner - Java ${{ matrix.feature.release }} | |
steps: | |
- name: Checkout Core | |
uses: actions/checkout@v4 | |
with: | |
path: core | |
- name: Checkout Spanner | |
uses: actions/checkout@v4 | |
with: | |
repository: debezium/debezium-connector-spanner | |
path: spanner | |
- 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 Spanner | |
run: > | |
./core/mvnw clean install -f spanner/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 | |
${{ matrix.feature.extra }} | |
vitess: | |
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: Vitess - Java ${{ matrix.feature.release }} | |
steps: | |
- name: Checkout Core | |
uses: actions/checkout@v4 | |
with: | |
path: core | |
- name: Checkout Vitess | |
uses: actions/checkout@v4 | |
with: | |
repository: debezium/debezium-connector-vitess | |
path: vitess | |
- 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 Vitess | |
run: > | |
./core/mvnw clean install -f vitess/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 | |
${{ matrix.feature.extra }} | |
informix: | |
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: Informix - Java ${{ matrix.feature.release }} | |
steps: | |
- name: Checkout Core | |
uses: actions/checkout@v4 | |
with: | |
path: core | |
- name: Checkout Informix | |
uses: actions/checkout@v4 | |
with: | |
repository: debezium/debezium-connector-informix | |
path: informix | |
- 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 Informix | |
run: > | |
./core/mvnw clean install -f informix/pom.xml | |
-Passembly,informix14 ${{ 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 | |
${{ 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: | |
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: Quarkus Outbox Extension - Java ${{ matrix.feature.release }} | |
steps: | |
- uses: actions/checkout@v4 | |
with: | |
submodules: recursive | |
- name: Setup OpenJDK | |
uses: oracle-actions/setup-java@v1 | |
with: | |
website: jdk.java.net | |
release: ${{ matrix.feature.release }} | |
- name: Build (core) | |
run: > | |
./mvnw -B -ntp clean install | |
-pl ${{ env.MAVEN_FULL_BUILD_PROJECTS }} | |
-Dformat.skip=true | |
-Dcheckstyle.skip=true | |
-Dorg.slf4j.simpleLogger.showDateTime=true | |
-Dorg.slf4j.simpleLogger.dateTimeFormat="YYYY-MM-dd HH:mm:ss,SSS" | |
-DskipTests=true | |
-DskipITs=true | |
${{ matrix.feature.extra }} | |
- name: Maven Build | |
run: > | |
./mvnw clean install -B -pl :debezium-quarkus-outbox -am -amd | |
-Passembly ${{ matrix.feature.args }} | |
-Dformat.formatter.goal=validate | |
-Dformat.imports.goal=check | |
-Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn | |
-Dhttp.keepAlive=false | |
-Dmaven.wagon.http.pool=false | |
-Dmaven.wagon.httpconnectionManager.ttlSeconds=120 | |
${{ matrix.feature.extra }} | |
rest-extension: | |
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: Rest Extension - Java ${{ matrix.feature.release }} | |
steps: | |
- uses: actions/checkout@v4 | |
with: | |
submodules: recursive | |
- name: Setup OpenJDK | |
uses: oracle-actions/setup-java@v1 | |
with: | |
website: jdk.java.net | |
release: ${{ matrix.feature.release }} | |
- name: Maven Build | |
run: > | |
./mvnw clean install -B -pl debezium-bom,debezium-connect-rest-extension -am | |
-Passembly ${{ matrix.feature.args }} | |
-Dformat.formatter.goal=validate | |
-Dformat.imports.goal=check | |
-Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn | |
-Dmaven.wagon.http.pool=false | |
-Dmaven.wagon.httpconnectionManager.ttlSeconds=120 | |
${{ matrix.feature.extra }} | |
testing: | |
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: Testing - Java ${{ matrix.feature.release }} | |
steps: | |
- uses: actions/checkout@v4 | |
with: | |
submodules: recursive | |
- name: Setup OpenJDK | |
uses: oracle-actions/setup-java@v1 | |
with: | |
website: jdk.java.net | |
release: ${{ matrix.feature.release }} | |
- name: Maven Build | |
run: > | |
./mvnw clean install -B -pl debezium-bom,debezium-testing -am | |
-Passembly ${{ matrix.feature.args }} | |
-Dformat.formatter.goal=validate | |
-Dformat.imports.goal=check | |
-Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn | |
-Dhttp.keepAlive=false | |
-Dmaven.wagon.http.pool=false | |
-Dmaven.wagon.httpconnectionManager.ttlSeconds=120 | |
-DfailFlakyTests=false | |
${{ matrix.feature.extra }} | |
server: | |
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: Server - Java ${{ matrix.feature.release }} | |
steps: | |
- name: Checkout Core | |
uses: actions/checkout@v4 | |
with: | |
path: core | |
- name: Checkout Server | |
uses: actions/checkout@v4 | |
with: | |
repository: debezium/debezium-server | |
path: server | |
- 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 Server | |
run: > | |
./core/mvnw clean install -fae -f server/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 | |
-DskipNonCore | |
${{ matrix.feature.extra }} |