diff --git a/.github/actions/cache-engine-archives/action.yaml b/.github/actions/cache-engine-archives/action.yaml new file mode 100644 index 00000000000..86a9ccafb95 --- /dev/null +++ b/.github/actions/cache-engine-archives/action.yaml @@ -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: cache-engine-archives +description: 'Cache download engine archives from Apache Archives website used by Maven download plugin' +runs: + using: composite + steps: + - name: Cache Engine Archives + uses: actions/cache@v3 + with: + path: /tmp/engine-archives + key: engine-archives diff --git a/.github/workflows/master.yml b/.github/workflows/master.yml index 26d23129718..b0ab493a457 100644 --- a/.github/workflows/master.yml +++ b/.github/workflows/master.yml @@ -32,7 +32,7 @@ concurrency: cancel-in-progress: true env: - MVN_OPT: -Dmaven.javadoc.skip=true -Drat.skip=true -Dscalastyle.skip=true -Dspotless.check.skip -Dorg.slf4j.simpleLogger.defaultLogLevel=warn -Pjdbc-shaded + MVN_OPT: -Dmaven.javadoc.skip=true -Drat.skip=true -Dscalastyle.skip=true -Dspotless.check.skip -Dorg.slf4j.simpleLogger.defaultLogLevel=warn -Pjdbc-shaded -Dmaven.plugin.download.cache.path=/tmp/engine-archives KUBERNETES_VERSION: v1.26.1 MINIKUBE_VERSION: v1.29.0 @@ -77,6 +77,8 @@ jobs: java-version: ${{ matrix.java }} cache: 'maven' check-latest: false + - name: Cache Engine Archives + uses: ./.github/actions/cache-engine-archives - name: Setup Python uses: actions/setup-python@v4 with: @@ -129,6 +131,8 @@ jobs: java-version: ${{ matrix.java }} cache: 'maven' check-latest: false + - name: Cache Engine Archives + uses: ./.github/actions/cache-engine-archives - name: Build and test Kyuubi AuthZ with supported Spark versions run: | TEST_MODULES="extensions/spark/kyuubi-spark-authz" @@ -178,6 +182,8 @@ jobs: java-version: ${{ matrix.java }} cache: 'maven' check-latest: false + - name: Cache Engine Archives + uses: ./.github/actions/cache-engine-archives - name: Build Flink with maven w/o linters run: | TEST_MODULES="externals/kyuubi-flink-sql-engine,integration-tests/kyuubi-flink-it" @@ -222,6 +228,8 @@ jobs: java-version: ${{ matrix.java }} cache: 'maven' check-latest: false + - name: Cache Engine Archives + uses: ./.github/actions/cache-engine-archives - name: Build and test Hive with maven w/o linters run: | TEST_MODULES="externals/kyuubi-hive-sql-engine,integration-tests/kyuubi-hive-it" @@ -257,6 +265,8 @@ jobs: java-version: ${{ matrix.java }} cache: 'maven' check-latest: false + - name: Cache Engine Archives + uses: ./.github/actions/cache-engine-archives - name: Build and test JDBC with maven w/o linters run: | TEST_MODULES="externals/kyuubi-jdbc-engine,integration-tests/kyuubi-jdbc-it" @@ -292,6 +302,8 @@ jobs: java-version: ${{ matrix.java }} cache: 'maven' check-latest: false + - name: Cache Engine Archives + uses: ./.github/actions/cache-engine-archives - name: Build and test Trino with maven w/o linters run: | TEST_MODULES="kyuubi-server,externals/kyuubi-trino-engine,externals/kyuubi-spark-sql-engine,externals/kyuubi-download,integration-tests/kyuubi-trino-it" @@ -322,6 +334,8 @@ jobs: java-version: 8 cache: 'maven' check-latest: false + - name: Cache Engine Archives + uses: ./.github/actions/cache-engine-archives - name: Run TPC-DS Tests run: | TEST_MODULES="kyuubi-server,extensions/spark/kyuubi-spark-connector-tpcds,extensions/spark/kyuubi-spark-connector-tpch" @@ -350,6 +364,8 @@ jobs: file: build/Dockerfile load: true tags: apache/kyuubi:latest + - name: Cache Engine Archives + uses: ./.github/actions/cache-engine-archives - name: Setup Minikube run: | # https://minikube.sigs.k8s.io/docs/start/ @@ -399,6 +415,8 @@ jobs: steps: - name: Checkout uses: actions/checkout@v3 + - name: Cache Engine Archives + uses: ./.github/actions/cache-engine-archives - name: Setup Minikube run: | # https://minikube.sigs.k8s.io/docs/start/ @@ -454,6 +472,8 @@ jobs: java-version: ${{ matrix.java }} cache: 'maven' check-latest: false + - name: Cache Engine Archives + uses: ./.github/actions/cache-engine-archives - name: zookeeper integration tests run: | export KYUUBI_IT_ZOOKEEPER_VERSION=${{ matrix.zookeeper }} diff --git a/externals/kyuubi-download/pom.xml b/externals/kyuubi-download/pom.xml index ce9ba20141b..d7f0c601322 100644 --- a/externals/kyuubi-download/pom.xml +++ b/externals/kyuubi-download/pom.xml @@ -36,6 +36,7 @@ com.googlecode.maven-download-plugin download-maven-plugin + ${maven.plugin.download.cache.path} ${project.build.directory} 60000 3 diff --git a/pom.xml b/pom.xml index fab9fd2fb6e..2df40a6581d 100644 --- a/pom.xml +++ b/pom.xml @@ -213,6 +213,7 @@ 3.3.0 1.6.8 + 1.6.1 4.8.0 3.0.0-M8