name: Build MongoDB Connector (using oplog capture) on: push: branches: - main - 1.* paths: - 'support/checkstyle/**' - 'debezium-api/**' - 'debezium-assembly-descriptors/**' - 'debezium-core/**' - 'debezium-embedded/**' - 'debezium-connector-mongodb/**' - 'debezium-parent/pom.xml' - 'debezium-bom/pom.xml' - 'pom.xml' - '.github/workflows/mongodb-workflow-oplog.yml' pull_request: branches: - main - 1.* paths: - 'support/checkstyle/**' - 'debezium-api/**' - 'debezium-assembly-descriptors/**' - 'debezium-core/**' - 'debezium-embedded/**' - 'debezium-connector-mongodb/**' - 'debezium-parent/pom.xml' - 'debezium-bom/pom.xml' - 'pom.xml' - '.github/workflows/mongodb-workflow-oplog.yml' jobs: build: runs-on: ubuntu-latest strategy: matrix: version-mongo-server: ["3.6", "4.0"] 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 - name: Cache Maven Repository uses: actions/cache@v2 with: path: ~/.m2/repository # refresh cache every month to avoid unlimited growth key: maven-mongo-oplog-${{ matrix.version-mongo-server }}-${{ steps.get-date.outputs.date }} restore-keys: | maven-mongo-oplog-${{ matrix.version-mongo-server }}-${{ steps.get-date.outputs.date }} - name: Run Formatting and Import Order Checks run: mvn clean install -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 Debezium Connector MongoDB (Using Oplog Capture) run: mvn clean install -B -pl debezium-connector-mongodb -am -Passembly -Dcheckstyle.skip=true -Dformat.skip=true -Drevapi.skip -Dcapture.mode=oplog -Dversion.mongo.server=${{ matrix.version-mongo-server }} -Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn -Dmaven.wagon.http.pool=false -Dmaven.wagon.httpconnectionManager.ttlSeconds=120