Skip to content

[release] New parent 3.5.2-SNAPSHOT for development #56

[release] New parent 3.5.2-SNAPSHOT for development

[release] New parent 3.5.2-SNAPSHOT for development #56

Workflow file for this run

#
# Copyright Debezium Authors
#
# Licensed under the Apache Software License version 2.0, available at http://www.apache.org/licenses/LICENSE-2.0
#
name: Debezium Quarkus CI
on:
push:
branches:
- main
- 1.*
- 2.*
- 3.*
- 4.*
paths-ignore:
- '*.md'
env:
MAVEN_FULL_BUILD_PROJECTS: ":debezium-quarkus-extensions-parent,:debezium-quarkus-outbox-common-parent,:debezium-quarkus-outbox-common,:debezium-quarkus-outbox-deployment-common,:debezium-quarkus-outbox-parent,:debezium-quarkus-outbox,:debezium-quarkus-outbox-deployment,:debezium-quarkus-outbox-integration-tests,:debezium-quarkus-outbox-reactive-parent,:debezium-quarkus-outbox-reactive,:debezium-quarkus-outbox-reactive-deployment,:debezium-quarkus-outbox-reactive-integration-tests,:debezium-quarkus-parent,:debezium-quarkus-engine-spi-parent,:debezium-quarkus-engine-spi,:debezium-quarkus-engine-deployment-spi,:debezium-quarkus-engine-parent,:debezium-quarkus-engine,:debezium-quarkus-engine-deployment,:debezium-quarkus-agroal-parent,:debezium-quarkus-agroal,:debezium-quarkus-agroal-deployment,:debezium-quarkus-testsuite-parent,:debezium-quarkus-testsuite-deployment,:debezium-quarkus-testsuite-integration-tests,:debezium-quarkus-postgres-parent,:debezium-quarkus-postgres,:debezium-quarkus-postgres-deployment,:debezium-quarkus-postgres-integration-tests,:debezium-quarkus-mongodb-parent,:debezium-quarkus-mongodb,:debezium-quarkus-mongodb-deployment,:debezium-quarkus-mongodb-integration-tests,:debezium-quarkus-sqlserver-parent,:debezium-quarkus-sqlserver,:debezium-quarkus-sqlserver-deployment,:debezium-quarkus-sqlserver-integration-tests,:debezium-quarkus-mysql-parent,:debezium-quarkus-mysql,:debezium-quarkus-mysql-deployment,:debezium-quarkus-mysql-integration-tests,:debezium-quarkus-mariadb-parent,:debezium-quarkus-mariadb,:debezium-quarkus-mariadb-deployment,:debezium-quarkus-mariadb-integration-tests"
jobs:
build-debezium-quarkus-dependencies:
name: "Build Debezium & Dependencies"
runs-on: ubuntu-latest
steps:
- name: Checkout Debezium Quarkus Extensions repository
uses: actions/checkout@v6
with:
path: debezium-quarkus
- name: Checkout core repository with default base branch
uses: actions/checkout@v6
with:
repository: debezium/debezium
path: core
- name: Checkout db2 repository with default base branch
uses: actions/checkout@v6
with:
repository: debezium/debezium-connector-db2
path: db2
- name: Checkout informix repository with default base branch
uses: actions/checkout@v6
with:
repository: debezium/debezium-connector-informix
path: informix
- name: Set up JDK
uses: actions/setup-java@v5
with:
distribution: 'temurin'
java-version: 21
- uses: debezium/debezium/.github/actions/maven-cache@main
with:
key: debezium-quarkus-CI-build-${{ hashFiles('debezium-quarkus/**/pom.xml') }}
- name: Maven build core
run: ./debezium-quarkus/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
- name: Maven build db2
run: ./debezium-quarkus/mvnw clean install -f db2/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
- name: Maven build informix
run: ./debezium-quarkus/mvnw clean install -f informix/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
check_style:
name: "Checkstyle and Formatting"
needs: [ build-debezium-quarkus-dependencies ]
runs-on: ubuntu-latest
steps:
- name: Checkout Action
uses: actions/checkout@v6
- uses: debezium/debezium/.github/actions/checkstyle-format@main
with:
maven-cache-key: debezium-quarkus-CI-build-${{ hashFiles('**/pom.xml') }}
build_outbox:
name: "Outbox Extension"
needs: [ check_style, build-debezium-quarkus-dependencies ]
runs-on: ubuntu-latest
steps:
- name: Checkout Action
uses: actions/checkout@v6
- uses: ./.github/actions/build-debezium-outbox
with:
maven-cache-key: debezium-quarkus-CI-build-${{ hashFiles('**/pom.xml') }}
build-debezium-extension-runtime-core:
name: "Debezium Quarkus Extensions Core"
needs: [ check_style, build-debezium-quarkus-dependencies ]
runs-on: ubuntu-latest
steps:
- name: Checkout Action
uses: actions/checkout@v6
- uses: ./.github/actions/build-debezium-quarkus-runtime-core
with:
maven-cache-key: debezium-quarkus-CI-build-${{ hashFiles('**/pom.xml') }}
build-runtime-extensions:
name: "Debezium Quarkus Extensions Matrix"
runs-on: ubuntu-latest
needs: [ check_style, build-debezium-quarkus-dependencies, build-debezium-extension-runtime-core ]
strategy:
matrix:
maven-props:
- quarkus.test.integration-test-profile=multi
- native
connectors:
- postgres
- mysql
- mariadb
- mongodb
- oracle
- sqlserver
- db2
multi-engine-timeout:
- 200
steps:
- name: Checkout Action
uses: actions/checkout@v6
- uses: ./.github/actions/build-debezium-quarkus-runtime-extension
with:
maven-cache-key: debezium-quarkus-CI-build-${{ hashFiles('**/pom.xml') }}
maven-props: ${{ matrix.maven-props }}}
connector: ${{ matrix.connectors }}
build-hibernate-cache:
name: "Hibernate Cache Invalidation Extension"
needs: [ check_style, build-debezium-quarkus-dependencies ]
if: ${{ needs.file_changes.outputs.common-changed == 'true' || needs.file_changes.outputs.hibernate-changed == 'true' }}
runs-on: ubuntu-latest
steps:
- name: Checkout Action
uses: actions/checkout@v6
- uses: ./.github/actions/build-debezium-hibernate-cache
with:
maven-cache-key: debezium-quarkus-PR-build-${{ hashFiles('**/pom.xml') }}