This is an automated email from the ASF dual-hosted git repository. chesnay pushed a commit to branch v3.0 in repository https://gitbox.apache.org/repos/asf/flink-connector-elasticsearch.git
commit d098736e7aaf0f313e2ad085306dd6bb8fe87b6b Author: Chesnay Schepler <[email protected]> AuthorDate: Tue Nov 8 13:56:33 2022 +0100 [FLINK-29935][ci] Make ci.yml reusable --- .github/workflows/ci.yml | 28 +++++++++++++++++++++------- .github/workflows/push_pr.yml | 27 +++++++++++++++++++++++++++ 2 files changed, 48 insertions(+), 7 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 2211cf1..af39b82 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -16,8 +16,22 @@ # limitations under the License. ################################################################################ -name: Build flink-connector-elasticsearch -on: [push, pull_request] +on: + workflow_call: + inputs: + flink_url: + description: "Url to Flink binary." + required: true + type: string + flink_version: + description: "Flink version to test against." + required: true + type: string + cache_flink_binary: + description: "Whether to cache the Flink binary. Should be false for SNAPSHOT URLs, true otherwise." + required: true + type: boolean + jobs: compile_and_test: runs-on: ubuntu-latest @@ -26,10 +40,9 @@ jobs: jdk: [8, 11] timeout-minutes: 40 env: - MVN_COMMON_OPTIONS: -U -B --no-transfer-progress + MVN_COMMON_OPTIONS: -U -B --no-transfer-progress -Dflink.version=${{ inputs.flink_version }} MVN_CONNECTION_OPTIONS: -Dhttp.keepAlive=false -Dmaven.wagon.http.pool=false -Dmaven.wagon.httpconnectionManager.ttlSeconds=120 FLINK_CACHE_DIR: "/tmp/cache/flink" - FLINK_URL: https://dist.apache.org/repos/dist/release/flink/flink-1.16.0/flink-1.16.0-bin-scala_2.12.tgz MVN_BUILD_OUTPUT_FILE: "/tmp/mvn_build_output.out" MVN_VALIDATION_DIR: "/tmp/flink-validation-deployment" steps: @@ -54,16 +67,17 @@ jobs: run: mkdir -p ${{ env.FLINK_CACHE_DIR }} - name: Cache Flink binary + if: ${{ inputs.cache_flink_binary == 'true' }} uses: actions/cache@v3 id: cache-flink with: path: ${{ env.FLINK_CACHE_DIR }} - key: ${{ env.FLINK_URL }} + key: ${{ inputs.flink_url }} - name: Download Flink binary working-directory: ${{ env.FLINK_CACHE_DIR }} if: steps.cache-flink.outputs.cache-hit != 'true' - run: wget -q -c ${{ env.FLINK_URL }} -O - | tar -xz + run: wget -q -c ${{ inputs.flink_url }} -O - | tar -xz - name: Compile and test flink-connector-elasticsearch timeout-minutes: 30 @@ -73,7 +87,7 @@ jobs: mvn clean deploy ${MVN_COMMON_OPTIONS} \ -DaltDeploymentRepository=validation_repository::default::file:${{ env.MVN_VALIDATION_DIR }} \ -Dscala-2.12 \ - -Prun-end-to-end-tests -DdistDir=${{ env.FLINK_CACHE_DIR }}/flink-1.16.0 \ + -Prun-end-to-end-tests -DdistDir=${{ env.FLINK_CACHE_DIR }}/flink-${{ inputs.flink_version }} \ -Dflink.convergence.phase=install -Pcheck-convergence \ ${{ env.MVN_CONNECTION_OPTIONS }} \ -Dlog4j.configurationFile=file://$(pwd)/tools/ci/log4j.properties \ diff --git a/.github/workflows/push_pr.yml b/.github/workflows/push_pr.yml new file mode 100644 index 0000000..45eeed0 --- /dev/null +++ b/.github/workflows/push_pr.yml @@ -0,0 +1,27 @@ +################################################################################ +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +################################################################################ + +name: Build flink-connector-elasticsearch +on: [push, pull_request] +jobs: + compile_and_test: + uses: ./.github/workflows/ci.yml + with: + flink_version: 1.16.0 + flink_url: https://dist.apache.org/repos/dist/release/flink/flink-1.16.0/flink-1.16.0-bin-scala_2.12.tgz + cache_flink_binary: true
