debezium/dbz#1081 add capturing filter strategy for single event proc… #68
This file contains hidden or 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
| # | |
| # 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') }} |