[KYUUBI #1155] [BUILD] Support passthrough env var CI into build container

<!--
Thanks for sending a pull request!

Here are some tips for you:
  1. If this is your first time, please read our contributor guidelines: https://kyuubi.readthedocs.io/en/latest/community/contributions.html
  2. If the PR is related to an issue in https://github.com/apache/incubator-kyuubi/issues, add '[KYUUBI #XXXX]' in your PR title, e.g., '[KYUUBI #XXXX] Your PR title ...'.
  3. If the PR is unfinished, add '[WIP]' in your PR title, e.g., '[WIP][KYUUBI #XXXX] Your PR title ...'.
-->

### _Why are the changes needed?_
<!--
Please clarify why the changes are needed. For instance,
  1. If you add a feature, you can talk about the use case of it.
  2. If you fix a bug, you can clarify why it is a bug.
-->

Continuous integration(aka. CI) services like GitHub Actions, Travis always provide an environment variable `CI` in runners, and we detect this variable to run some specific actions.

In [KYUUBI #742], we add a `CI` env var detection in `build/mvn` to suppress noisy maven logs in CI scenes.

This PR introduces a new build arg `CI` in `docker/Dockerfile`, which is intent to passthrough env var CI into the build container to suppress noisy maven logs in GitHub Action and Travis.

### _How was this patch tested?_
- [ ] Add some test cases that check the changes thoroughly including negative and positive cases if possible

- [ ] Add screenshots for manual tests if appropriate

- [ ] [Run test](https://kyuubi.readthedocs.io/en/latest/develop_tools/testing.html#running-tests) locally before make a pull request

Closes #1155 from pan3793/ci.

Closes #1155

0f66b37e [Cheng Pan] typo
e1b9d35e [Cheng Pan] nit
d78bb563 [Cheng Pan] update workflow
4209ae67 [Cheng Pan] Update comments
ffc3a1e1 [Cheng Pan] nit
761c9e6c [Cheng Pan] Update usage
2f74b977 [Cheng Pan] Add build arg CI
509da2aa [Cheng Pan] [BUILD] Suppress maven log in Minikube Integration Test

Authored-by: Cheng Pan <chengpan@apache.org>
Signed-off-by: ulysses-you <ulyssesyou@apache.org>
This commit is contained in:
Cheng Pan 2021-09-26 18:04:34 +08:00 committed by ulysses-you
parent 683675be92
commit c8d9d8be21
No known key found for this signature in database
GPG Key ID: 4C500BC62D576766
2 changed files with 21 additions and 5 deletions

View File

@ -141,6 +141,7 @@ jobs:
run: |
./build/mvn clean install -Pspark-3.1 -DskipTests -pl :kyuubi-spark-sql-engine_2.12,:kyuubi-common_2.12,:kyuubi-ha_2.12,:kyuubi-zookeeper_2.12,:kyuubi-spark-monitor_2.12
./build/mvn test -Pspark-3.1 -Dtest=none -DwildcardSuites=org.apache.kyuubi.operation.tpcds -Dmaven.plugin.scalatest.exclude.tags=''
minikube-it:
name: Minikube Integration Test
runs-on: ubuntu-20.04
@ -153,6 +154,8 @@ jobs:
- name: Build Kyuubi Docker Image
uses: docker/build-push-action@v2
with:
# passthrough CI into build container
build-args: CI=${CI}
context: .
file: docker/Dockerfile
load: true

View File

@ -17,19 +17,32 @@
# Usage:
# Run the docker command below
# docker build --build-arg MVN_ARG="-Pspark-3.1,spark-hadoop-3.2" -f docker/Dockerfile -t apache/kyuubi:tagname .
# docker build \
# --build-arg MVN_ARG="-Pspark-3.1,spark-hadoop-3.2" \
# --file docker/Dockerfile \
# --tag apache/kyuubi:tagname \
# .
# Options:
# -f this docker file
# -t the target repo and tag name
# more options can be found with -h
# -f, --file this docker file
# -t, --tag the target repo and tag name
# more options can be found with -h, --help
# declare the BASE_IMAGE argument in the first line. for more detail see: https://github.com/moby/moby/issues/38379
# Declare the BASE_IMAGE argument in the first line, for more detail
# see: https://github.com/moby/moby/issues/38379
ARG BASE_IMAGE=openjdk:8-jdk
FROM maven:3.6-jdk-8 as builder
ARG MVN_ARG
# Pass the environment variable `CI` into container, for internal use only.
#
# Continuous integration(aka. CI) services like GitHub Actions, Travis always provide
# an environment variable `CI` in runners, and we detect this variable to run some
# specific actions, e.g. run `mvn` in batch mode to suppress noisy logs.
ARG CI
ENV CI ${CI}
ADD . /workspace/kyuubi
WORKDIR /workspace/kyuubi