Revert "[KYUUBI #4274] [INFRA] Introduce mvnd to speed up CI jobs of Dependency, Licence and Style Check"
This reverts commit d862272645.
This commit is contained in:
parent
1c6965270a
commit
6431225b44
32
.github/actions/setup-mvnd/action.yaml
vendored
32
.github/actions/setup-mvnd/action.yaml
vendored
@ -1,32 +0,0 @@
|
|||||||
#
|
|
||||||
# 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: 'setup-mvnd'
|
|
||||||
description: 'Setup the maven daemon'
|
|
||||||
runs:
|
|
||||||
using: composite
|
|
||||||
steps:
|
|
||||||
- name: Cache Mvnd
|
|
||||||
uses: actions/cache@v3
|
|
||||||
with:
|
|
||||||
path: |
|
|
||||||
build/maven-mvnd-*
|
|
||||||
build/apache-maven-*
|
|
||||||
key: setup-mvnd-${{ runner.os }}-mvnd
|
|
||||||
- name: Check Mvnd
|
|
||||||
run: build/mvnd -v
|
|
||||||
shell: bash
|
|
||||||
7
.github/workflows/dep.yml
vendored
7
.github/workflows/dep.yml
vendored
@ -26,7 +26,6 @@ on:
|
|||||||
# when pom or dependency workflow changes
|
# when pom or dependency workflow changes
|
||||||
- '**/pom.xml'
|
- '**/pom.xml'
|
||||||
- '.github/workflows/dep.yml'
|
- '.github/workflows/dep.yml'
|
||||||
- .github/actions/setup-mvnd/*.yaml
|
|
||||||
|
|
||||||
concurrency:
|
concurrency:
|
||||||
group: dep-${{ github.head_ref || github.run_id }}
|
group: dep-${{ github.head_ref || github.run_id }}
|
||||||
@ -45,12 +44,10 @@ jobs:
|
|||||||
java-version: 8
|
java-version: 8
|
||||||
cache: 'maven'
|
cache: 'maven'
|
||||||
check-latest: false
|
check-latest: false
|
||||||
- name: Setup Mvnd
|
|
||||||
uses: ./.github/actions/setup-mvnd
|
|
||||||
- name: Check kyuubi modules available
|
- name: Check kyuubi modules available
|
||||||
id: modules-check
|
id: modules-check
|
||||||
run: >-
|
run: >-
|
||||||
build/mvnd dependency:resolve validate
|
build/mvn dependency:resolve validate
|
||||||
-DincludeGroupIds="org.apache.kyuubi" -DincludeScope="compile"
|
-DincludeGroupIds="org.apache.kyuubi" -DincludeScope="compile"
|
||||||
-Pfast -Denforcer.skip=false
|
-Pfast -Denforcer.skip=false
|
||||||
-pl kyuubi-ctl,kyuubi-server,kyuubi-assembly -am
|
-pl kyuubi-ctl,kyuubi-server,kyuubi-assembly -am
|
||||||
@ -60,7 +57,7 @@ jobs:
|
|||||||
MAVEN_OPTS: -Dorg.slf4j.simpleLogger.defaultLogLevel=error
|
MAVEN_OPTS: -Dorg.slf4j.simpleLogger.defaultLogLevel=error
|
||||||
if: steps.modules-check.conclusion == 'success' && steps.modules-check.outcome == 'failure'
|
if: steps.modules-check.conclusion == 'success' && steps.modules-check.outcome == 'failure'
|
||||||
run: >-
|
run: >-
|
||||||
build/mvnd clean install
|
build/mvn clean install
|
||||||
-Pflink-provided,spark-provided,hive-provided
|
-Pflink-provided,spark-provided,hive-provided
|
||||||
-Dmaven.javadoc.skip=true
|
-Dmaven.javadoc.skip=true
|
||||||
-Drat.skip=true
|
-Drat.skip=true
|
||||||
|
|||||||
4
.github/workflows/license.yml
vendored
4
.github/workflows/license.yml
vendored
@ -42,10 +42,8 @@ jobs:
|
|||||||
java-version: 8
|
java-version: 8
|
||||||
cache: 'maven'
|
cache: 'maven'
|
||||||
check-latest: false
|
check-latest: false
|
||||||
- name: Setup Mvnd
|
|
||||||
uses: ./.github/actions/setup-mvnd
|
|
||||||
- run: >-
|
- run: >-
|
||||||
build/mvnd org.apache.rat:apache-rat-plugin:check
|
build/mvn org.apache.rat:apache-rat-plugin:check
|
||||||
-Ptpcds -Pspark-block-cleaner -Pkubernetes-it
|
-Ptpcds -Pspark-block-cleaner -Pkubernetes-it
|
||||||
-Pspark-3.1 -Pspark-3.2 -Pspark-3.3
|
-Pspark-3.1 -Pspark-3.2 -Pspark-3.3
|
||||||
- name: Upload rat report
|
- name: Upload rat report
|
||||||
|
|||||||
16
.github/workflows/style.yml
vendored
16
.github/workflows/style.yml
vendored
@ -47,16 +47,14 @@ jobs:
|
|||||||
java-version: 8
|
java-version: 8
|
||||||
cache: 'maven'
|
cache: 'maven'
|
||||||
check-latest: false
|
check-latest: false
|
||||||
- name: Setup Mvnd
|
|
||||||
uses: ./.github/actions/setup-mvnd
|
|
||||||
- name: Setup Python 3
|
- name: Setup Python 3
|
||||||
uses: actions/setup-python@v4
|
uses: actions/setup-python@v4
|
||||||
with:
|
with:
|
||||||
python-version: '3.9'
|
python-version: '3.9'
|
||||||
cache: 'pip'
|
cache: 'pip'
|
||||||
- name: Check kyuubi modules available
|
- name: Check kyuubi modules avaliable
|
||||||
id: modules-check
|
id: modules-check
|
||||||
run: build/mvnd dependency:resolve -DincludeGroupIds="org.apache.kyuubi" -DincludeScope="compile" -DexcludeTransitive=true ${{ matrix.profiles }}
|
run: build/mvn dependency:resolve -DincludeGroupIds="org.apache.kyuubi" -DincludeScope="compile" -DexcludeTransitive=true ${{ matrix.profiles }}
|
||||||
continue-on-error: true
|
continue-on-error: true
|
||||||
|
|
||||||
- name: Install
|
- name: Install
|
||||||
@ -65,13 +63,13 @@ jobs:
|
|||||||
if: steps.modules-check.conclusion == 'success' && steps.modules-check.outcome == 'failure'
|
if: steps.modules-check.conclusion == 'success' && steps.modules-check.outcome == 'failure'
|
||||||
run: |
|
run: |
|
||||||
MVN_OPT="-DskipTests -Dorg.slf4j.simpleLogger.defaultLogLevel=warn -Dmaven.javadoc.skip=true -Drat.skip=true -Dscalastyle.skip=true -Dspotless.check.skip"
|
MVN_OPT="-DskipTests -Dorg.slf4j.simpleLogger.defaultLogLevel=warn -Dmaven.javadoc.skip=true -Drat.skip=true -Dscalastyle.skip=true -Dspotless.check.skip"
|
||||||
build/mvnd clean install ${MVN_OPT} -Pflink-provided,hive-provided,spark-provided,spark-block-cleaner,spark-3.2,tpcds
|
build/mvn clean install ${MVN_OPT} -Pflink-provided,hive-provided,spark-provided,spark-block-cleaner,spark-3.2,tpcds
|
||||||
build/mvnd clean install ${MVN_OPT} -pl extensions/spark/kyuubi-extension-spark-3-1 -Pspark-3.1
|
build/mvn clean install ${MVN_OPT} -pl extensions/spark/kyuubi-extension-spark-3-1 -Pspark-3.1
|
||||||
build/mvnd clean install ${MVN_OPT} -pl extensions/spark/kyuubi-extension-spark-3-3,extensions/spark/kyuubi-spark-connector-kudu,extensions/spark/kyuubi-spark-connector-hive -Pspark-3.3
|
build/mvn clean install ${MVN_OPT} -pl extensions/spark/kyuubi-extension-spark-3-3,extensions/spark/kyuubi-spark-connector-kudu,extensions/spark/kyuubi-spark-connector-hive -Pspark-3.3
|
||||||
|
|
||||||
- name: Scalastyle with maven
|
- name: Scalastyle with maven
|
||||||
id: scalastyle-check
|
id: scalastyle-check
|
||||||
run: build/mvnd scalastyle:check ${{ matrix.profiles }}
|
run: build/mvn scalastyle:check ${{ matrix.profiles }}
|
||||||
- name: Print scalastyle error report
|
- name: Print scalastyle error report
|
||||||
if: failure() && steps.scalastyle-check.outcome != 'success'
|
if: failure() && steps.scalastyle-check.outcome != 'success'
|
||||||
run: >-
|
run: >-
|
||||||
@ -85,7 +83,7 @@ jobs:
|
|||||||
run: |
|
run: |
|
||||||
SPOTLESS_BLACK_VERSION=$(build/mvn help:evaluate -Dexpression=spotless.python.black.version -q -DforceStdout)
|
SPOTLESS_BLACK_VERSION=$(build/mvn help:evaluate -Dexpression=spotless.python.black.version -q -DforceStdout)
|
||||||
pip install black==$SPOTLESS_BLACK_VERSION
|
pip install black==$SPOTLESS_BLACK_VERSION
|
||||||
build/mvnd spotless:check ${{ matrix.profiles }} -Pspotless-python
|
build/mvn spotless:check ${{ matrix.profiles }} -Pspotless-python
|
||||||
- name: setup npm
|
- name: setup npm
|
||||||
uses: actions/setup-node@v3
|
uses: actions/setup-node@v3
|
||||||
with:
|
with:
|
||||||
|
|||||||
1
.gitignore
vendored
1
.gitignore
vendored
@ -40,7 +40,6 @@
|
|||||||
.scala_dependencies
|
.scala_dependencies
|
||||||
.settings
|
.settings
|
||||||
build/apache-maven*
|
build/apache-maven*
|
||||||
build/maven-mvnd*
|
|
||||||
build/release/tmp
|
build/release/tmp
|
||||||
build/scala*
|
build/scala*
|
||||||
build/test
|
build/test
|
||||||
|
|||||||
@ -32,7 +32,6 @@
|
|||||||
NOTICE*
|
NOTICE*
|
||||||
docs/**
|
docs/**
|
||||||
build/apache-maven-*/**
|
build/apache-maven-*/**
|
||||||
build/maven-mvnd-*/**
|
|
||||||
build/scala-*/**
|
build/scala-*/**
|
||||||
**/**/operation_logs/**/**
|
**/**/operation_logs/**/**
|
||||||
**/**/server_operation_logs/**/**
|
**/**/server_operation_logs/**/**
|
||||||
|
|||||||
134
build/mvnd
134
build/mvnd
@ -1,134 +0,0 @@
|
|||||||
#!/usr/bin/env bash
|
|
||||||
|
|
||||||
#
|
|
||||||
# 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.
|
|
||||||
#
|
|
||||||
|
|
||||||
# Determine the current working directory
|
|
||||||
_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
|
||||||
# Preserve the calling directory
|
|
||||||
_CALLING_DIR="$(pwd)"
|
|
||||||
# Options used during compilation
|
|
||||||
_COMPILE_JVM_OPTS="-Xms2g -Xmx2g -XX:ReservedCodeCacheSize=1g -Xss128m"
|
|
||||||
|
|
||||||
if [ "$CI" ]; then
|
|
||||||
export MAVEN_CLI_OPTS="--no-transfer-progress --errors --fail-fast"
|
|
||||||
fi
|
|
||||||
|
|
||||||
# Installs any application tarball given a URL, the expected tarball name,
|
|
||||||
# and, optionally, a checkable binary path to determine if the binary has
|
|
||||||
# already been installed
|
|
||||||
## Arg1 - URL
|
|
||||||
## Arg2 - Tarball Name
|
|
||||||
## Arg3 - Checkable Binary
|
|
||||||
install_app() {
|
|
||||||
local remote_tarball="$1/$2"
|
|
||||||
local local_tarball="${_DIR}/$2"
|
|
||||||
local binary="${_DIR}/$3"
|
|
||||||
|
|
||||||
# setup `curl` and `wget` silent options if we're running on Jenkins
|
|
||||||
local curl_opts="-L"
|
|
||||||
local wget_opts=""
|
|
||||||
curl_opts="--progress-bar ${curl_opts}"
|
|
||||||
wget_opts="--progress=bar:force ${wget_opts}"
|
|
||||||
|
|
||||||
if [ -z "$3" ] || [ ! -f "$binary" ]; then
|
|
||||||
# check if we already have the tarball
|
|
||||||
# check if we have curl installed
|
|
||||||
# download application
|
|
||||||
rm -f "$local_tarball"
|
|
||||||
[ ! -f "${local_tarball}" ] && [ "$(command -v curl)" ] && \
|
|
||||||
echo "exec: curl ${curl_opts} ${remote_tarball}" 1>&2 && \
|
|
||||||
curl ${curl_opts} "${remote_tarball}" > "${local_tarball}"
|
|
||||||
# if the file still doesn't exist, lets try `wget` and cross our fingers
|
|
||||||
[ ! -f "${local_tarball}" ] && [ "$(command -v wget)" ] && \
|
|
||||||
echo "exec: wget ${wget_opts} ${remote_tarball}" 1>&2 && \
|
|
||||||
wget ${wget_opts} -O "${local_tarball}" "${remote_tarball}"
|
|
||||||
# if both were unsuccessful, exit
|
|
||||||
[ ! -f "${local_tarball}" ] && \
|
|
||||||
echo -n "ERROR: Cannot download $2 with cURL or wget; " && \
|
|
||||||
echo "please install manually and try again." && \
|
|
||||||
exit 2
|
|
||||||
cd "${_DIR}" && tar -xzf "$2"
|
|
||||||
rm -rf "$local_tarball"
|
|
||||||
fi
|
|
||||||
}
|
|
||||||
|
|
||||||
function get_os_type() {
|
|
||||||
local unameOsOut=$(uname -s)
|
|
||||||
local osType
|
|
||||||
case "${unameOsOut}" in
|
|
||||||
Linux*) osType=linux ;;
|
|
||||||
Darwin*) osType=darwin ;;
|
|
||||||
CYGWIN*) osType=windows ;;
|
|
||||||
MINGW*) osType=windows ;;
|
|
||||||
*) osType="UNKNOWN:${unameOsOut}" ;;
|
|
||||||
esac
|
|
||||||
echo "$osType"
|
|
||||||
}
|
|
||||||
|
|
||||||
function get_os_arch() {
|
|
||||||
local unameArchOut="$(uname -m)"
|
|
||||||
local arch
|
|
||||||
case "${unameArchOut}" in
|
|
||||||
x86_64*) arch=amd64 ;;
|
|
||||||
arm64*) arch=aarch64 ;;
|
|
||||||
*) arch="UNKNOWN:${unameOsOut}" ;;
|
|
||||||
esac
|
|
||||||
echo "$arch"
|
|
||||||
}
|
|
||||||
|
|
||||||
# Determine the Mvnd version from the root pom.xml file and
|
|
||||||
# install mvnd under the build/ folder if needed.
|
|
||||||
function install_mvnd() {
|
|
||||||
local MVND_VERSION=$(grep "<mvnd.version>" "${_DIR}/../pom.xml" | head -n1 | awk -F '[<>]' '{print $3}')
|
|
||||||
local MVN_VERSION=$(grep "<maven.version>" "${_DIR}/../pom.xml" | head -n1 | awk -F '[<>]' '{print $3}')
|
|
||||||
MVND_BIN="$(command -v mvnd)"
|
|
||||||
if [ "$MVND_BIN" ]; then
|
|
||||||
local MVND_DETECTED_VERSION="$(mvnd -v 2>&1 | grep '(mvnd)' | awk '{print $5}')"
|
|
||||||
local MVN_DETECTED_VERSION="$(mvnd -v 2>&1 | grep 'Apache Maven' | awk 'NR==2 {print $3}')"
|
|
||||||
fi
|
|
||||||
# See simple version normalization: http://stackoverflow.com/questions/16989598/bash-comparing-version-numbers
|
|
||||||
function version { echo "$@" | awk -F. '{ printf("%03d%03d%03d\n", $1,$2,$3); }'; }
|
|
||||||
|
|
||||||
if [ $(version $MVND_DETECTED_VERSION) -ne $(version $MVND_VERSION) ]; then
|
|
||||||
local APACHE_MIRROR=${APACHE_MIRROR:-'https://downloads.apache.org'}
|
|
||||||
local OS_TYPE=$(get_os_type)
|
|
||||||
local ARCH=$(get_os_arch)
|
|
||||||
|
|
||||||
install_app \
|
|
||||||
"${APACHE_MIRROR}/maven/mvnd/${MVND_VERSION}" \
|
|
||||||
"maven-mvnd-${MVND_VERSION}-${OS_TYPE}-${ARCH}.tar.gz" \
|
|
||||||
"maven-mvnd-${MVND_VERSION}-${OS_TYPE}-${ARCH}/bin/mvnd"
|
|
||||||
|
|
||||||
MVND_BIN="${_DIR}/maven-mvnd-${MVND_VERSION}-${OS_TYPE}-${ARCH}/bin/mvnd"
|
|
||||||
else
|
|
||||||
if [ "$(version $MVN_DETECTED_VERSION)" -ne "$(version $MVN_VERSION)" ]; then
|
|
||||||
echo "Mvnd $MVND_DETECTED_VERSION embedded maven version $MVN_DETECTED_VERSION is not equivalent to $MVN_VERSION required in pom."
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
}
|
|
||||||
|
|
||||||
install_mvnd
|
|
||||||
|
|
||||||
cd "${_CALLING_DIR}"
|
|
||||||
|
|
||||||
# Set any `mvn` options if not already present
|
|
||||||
export MAVEN_OPTS=${MAVEN_OPTS:-"$_COMPILE_JVM_OPTS"}
|
|
||||||
|
|
||||||
echo "Using \`mvnd\` from path: $MVND_BIN" 1>&2
|
|
||||||
${MVND_BIN} $MAVEN_CLI_OPTS "$@"
|
|
||||||
1
pom.xml
1
pom.xml
@ -110,7 +110,6 @@
|
|||||||
<properties>
|
<properties>
|
||||||
<java.version>1.8</java.version>
|
<java.version>1.8</java.version>
|
||||||
<maven.version>3.8.7</maven.version>
|
<maven.version>3.8.7</maven.version>
|
||||||
<mvnd.version>0.9.0</mvnd.version>
|
|
||||||
<maven.compiler.source>${java.version}</maven.compiler.source>
|
<maven.compiler.source>${java.version}</maven.compiler.source>
|
||||||
<maven.compiler.target>${java.version}</maven.compiler.target>
|
<maven.compiler.target>${java.version}</maven.compiler.target>
|
||||||
<scala.version>2.12.17</scala.version>
|
<scala.version>2.12.17</scala.version>
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user