name: Build and Test Oracle Connector on: push: branches: - main - 1.* paths: - 'support/checkstyle/**' - 'debezium-api/**' - 'debezium-ddl-parser/**' - 'debezium-assembly-descriptors/**' - 'debezium-core/**' - 'debezium-embedded/**' - 'debezium-connector-oracle/**' - 'debezium-parent/pom.xml' - 'debezium-bom/pom.xml' - 'pom.xml' - '.github/workflows/oracle-workflow-test.yml' jobs: build: runs-on: ubuntu-latest steps: - name: Checkout Action uses: actions/checkout@v2 - name: Get Date id: get-date run: | echo "::set-output name=date::$(/bin/date -u "+%Y-%m")" shell: bash - name: Set up Java 17 uses: actions/setup-java@v2 with: distribution: 'temurin' java-version: 17 # This workflow uses its own dependency cache rather than the main debezium workflow cache because # we explicitly want to trigger this build on pushes separate from the other workflow. - name: Cache Maven Repository uses: actions/cache@v2 with: path: ~/.m2/repository # refresh cache every month to avoid unlimited growth # we do not explicitly base this on POM changes since we are explicitly targeting a single connector # and the likelihood that lots of dependencies will change that impacts Oracle is significantly low # compared to other parts of Debezium that rely on frameworks such as Quarkus. key: maven-oracle-${{ steps.get-date.outputs.date }} restore-keys: | maven-oracle-${{ steps.get-date.outputs.date }} - name: Build and Install Debezium dependencies run: > mvn clean install -pl debezium-core,:debezium-ide-configs,:debezium-checkstyle,:debezium-revapi -am -DskipTests=true -DskipITs=true -Dformat.formatter.goal=validate -Dformat.imports.goal=check -Dhttp.keepAlive=false -Dmaven.wagon.http.pool=false -Dmaven.wagon.httpconnectionManager.ttlSeconds=120 - name: Build and Test Debezium Connector Oracle LogMiner env: QUAY_IO_USERNAME: ${{ secrets.QUAY_IO_USERNAME }} QUAY_IO_PASSWORD: ${{ secrets.QUAY_IO_PASSWORD }} run: > mvn clean install -B -pl debezium-connector-oracle -am -Poracle,infinispan-buffer,oracle-ci,oracle-docker -Ddocker.username="$QUAY_IO_USERNAME" -Ddocker.password="$QUAY_IO_PASSWORD" -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