diff --git a/.github/workflows/prs_and_commits.yml b/.github/workflows/prs_and_commits.yml new file mode 100644 index 0000000..eab018b --- /dev/null +++ b/.github/workflows/prs_and_commits.yml @@ -0,0 +1,46 @@ +# Workflow to check pull requests and new commits to main branches +# This checks the source in the state as if after the merge. +name: Pull request checks +on: + pull_request: + branches: [ master, storage-write-api, storage-write-api-cleanup ] + push: + branches: [ master, storage-write-api, storage-write-api-cleanup ] + +# Disallow concurrent runs for the same PR by cancelling in-progress runs +# when new commits are pushed +concurrency: + group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }} + cancel-in-progress: true + +jobs: + build: + name: Build + runs-on: ubuntu-latest + steps: + - name: Checkout code + uses: actions/checkout@v2 + - name: Set up JDK 8 + uses: actions/setup-java@v4 + with: + distribution: 'adopt' + java-version: 8 + cache: maven + - name: Build (Maven) + run: mvn --batch-mode clean package -DskipTests + - name: Unit tests (Maven) + run: mvn --batch-mode test + - name: Integration tests (Maven) + env: + # Necessary for client builder integration tests that run with + # default application credentials + CREDENTIALS_JSON: ${{ secrets.GCP_CREDENTIALS }} + GOOGLE_APPLICATION_CREDENTIALS: /tmp/creds.json + KCBQ_TEST_KEYFILE: /tmp/creds.json + KCBQ_TEST_KEY_SOURCE: FILE + KCBQ_TEST_PROJECT: ${{ secrets.KCBQ_TEST_PROJECT }} + KCBQ_TEST_DATASET: ${{ secrets.KCBQ_TEST_DATASET }} + KCBQ_TEST_BUCKET: ${{ secrets.KCBQ_TEST_BUCKET }} + run: | + echo "$CREDENTIALS_JSON" > /tmp/creds.json + mvn -Dskip.unit.tests=true verify diff --git a/kcbq-connector/pom.xml b/kcbq-connector/pom.xml index d29b628..a912566 100644 --- a/kcbq-connector/pom.xml +++ b/kcbq-connector/pom.xml @@ -126,100 +126,6 @@ - - org.jacoco - jacoco-maven-plugin - - - prepare-agent - - prepare-agent - - - - prepare-agent-it - - prepare-agent-integration - - pre-integration-test - - - merge-coverage-reports - verify - - merge - - - - - ${project.basedir} - - /target/jacoco.exec - /target/jacoco-it.exec - - - - ${project.basedir}/target/jacoco-aggregate.exec - - - - check - - check - - - - - BUNDLE - - - INSTRUCTION - COVEREDRATIO - 0.60 - - - BRANCH - COVEREDRATIO - 0.45 - - - COMPLEXITY - COVEREDRATIO - 0.60 - - - LINE - COVEREDRATIO - 0.60 - - - METHOD - COVEREDRATIO - 0.60 - - - CLASS - COVEREDRATIO - 0.80 - - - - - ${project.basedir}/target/jacoco-aggregate.exec - - - - report - test - - report - - - ${project.basedir}/target/jacoco-aggregate.exec - - - - org.apache.maven.plugins maven-compiler-plugin @@ -232,10 +138,6 @@ org.apache.maven.plugins maven-failsafe-plugin - - org.jacoco - jacoco-maven-plugin - org.apache.maven.plugins maven-checkstyle-plugin diff --git a/kcbq-connector/src/test/java/com/wepay/kafka/connect/bigquery/integration/BaseConnectorIT.java b/kcbq-connector/src/test/java/com/wepay/kafka/connect/bigquery/integration/BaseConnectorIT.java index 062b4f5..91c086a 100644 --- a/kcbq-connector/src/test/java/com/wepay/kafka/connect/bigquery/integration/BaseConnectorIT.java +++ b/kcbq-connector/src/test/java/com/wepay/kafka/connect/bigquery/integration/BaseConnectorIT.java @@ -366,10 +366,12 @@ private String readEnvVar(String var, String defaultVal) { protected String keyFile() { if (GcpClientBuilder.KeySource.APPLICATION_DEFAULT.name().equalsIgnoreCase(keySource())) { - // No key file necessary - return ""; + // Key file is optional for most tests when using application default credentials + return readEnvVar(KEYFILE_ENV_VAR, ""); + } else { + // Key file is required + return readEnvVar(KEYFILE_ENV_VAR); } - return readEnvVar(KEYFILE_ENV_VAR); } protected String project() { diff --git a/pom.xml b/pom.xml index d413c19..675bfbc 100644 --- a/pom.xml +++ b/pom.xml @@ -52,7 +52,6 @@ 3.3.1 3.8.1 26.14.0 - 0.8.5 0.11.1 2.5.3 3.7.1 @@ -378,26 +377,6 @@ under the License. - - org.jacoco - jacoco-maven-plugin - ${jacoco.plugin.version} - - - pre-unit-test - - prepare-agent - - - - report - verify - - report - - - - org.apache.maven.plugins maven-checkstyle-plugin