diff --git a/.github/workflows/pinot_compatibility_tests.yml b/.github/workflows/pinot_compatibility_tests.yml index acb0b1974caa..2b7425569b58 100644 --- a/.github/workflows/pinot_compatibility_tests.yml +++ b/.github/workflows/pinot_compatibility_tests.yml @@ -38,9 +38,11 @@ jobs: steps: - uses: actions/checkout@v2 - name: Set up JDK 11 - uses: actions/setup-java@v1 + uses: actions/setup-java@v3 with: java-version: 11 + distribution: 'adopt' + cache: 'maven' - name: Pinot Compatibility Regression Testing if : ${{github.event_name == 'workflow_dispatch'}} env: @@ -62,7 +64,7 @@ jobs: if: always() run: | zip -1 -r artifacts.zip /tmp/compatibility-verifier/* - - uses: actions/upload-artifact@v2 + - uses: actions/upload-artifact@v3 name: Store compatibility verifier work directory if: always() with: diff --git a/.github/workflows/pinot_tests.yml b/.github/workflows/pinot_tests.yml index b3331fc7d446..1c6dd883c804 100644 --- a/.github/workflows/pinot_tests.yml +++ b/.github/workflows/pinot_tests.yml @@ -51,9 +51,11 @@ jobs: steps: - uses: actions/checkout@v2 - name: Set up JDK 11 - uses: actions/setup-java@v1 + uses: actions/setup-java@v3 with: java-version: 11 + distribution: 'adopt' + cache: 'maven' - name: Linter Test env: MAVEN_OPTS: > @@ -76,9 +78,11 @@ jobs: steps: - uses: actions/checkout@v2 - name: Set up JDK 11 - uses: actions/setup-java@v1 + uses: actions/setup-java@v3 with: java-version: 11 + distribution: 'adopt' + cache: 'maven' # Step that does that actual cache save and restore - uses: actions/cache@v3 env: @@ -120,9 +124,11 @@ jobs: steps: - uses: actions/checkout@v2 - name: Set up JDK 11 - uses: actions/setup-java@v1 + uses: actions/setup-java@v3 with: java-version: 11 + distribution: 'adopt' + cache: 'maven' # Step that does that actual cache save and restore - uses: actions/cache@v3 env: @@ -164,10 +170,12 @@ jobs: name: Pinot Compatibility Regression Testing against ${{ matrix.old_commit }} on ${{ matrix.test_suite }} steps: - uses: actions/checkout@v2 - - name: Set up JDK 1.8 - uses: actions/setup-java@v1 + - name: Set up JDK 8 + uses: actions/setup-java@v3 with: - java-version: 1.8 + java-version: 8 + distribution: 'adopt' + cache: 'maven' # Step that does that actual cache save and restore - uses: actions/cache@v3 env: @@ -200,14 +208,16 @@ jobs: matrix: # We only test LTS Java versions # TODO: add JDK 17 once ready. see: https://github.com/apache/pinot/issues/8529 - java: [ 1.8, 11, 15 ] + java: [ 8, 11, 15 ] name: Pinot Quickstart on JDK ${{ matrix.java }} steps: - uses: actions/checkout@v2 - name: Set up JDK ${{ matrix.java }} - uses: actions/setup-java@v1 + uses: actions/setup-java@v3 with: java-version: ${{ matrix.java }} + distribution: 'adopt' + cache: 'maven' # Step that does that actual cache save and restore - uses: actions/cache@v3 env: @@ -227,9 +237,11 @@ jobs: steps: - uses: actions/checkout@v2 - name: Set up JDK 11 - uses: actions/setup-java@v1 + uses: actions/setup-java@v3 with: java-version: 11 + distribution: 'adopt' + cache: 'maven' - name: Build presto pinot driver with JDK 11 env: MAVEN_OPTS: > @@ -244,9 +256,11 @@ jobs: run: | mvn clean install -DskipTests -Ppresto-driver -am -B -pl ':presto-pinot-driver' -T 16 || exit 1 - name: Set up JDK 8 - uses: actions/setup-java@v1 + uses: actions/setup-java@v3 with: java-version: 8 + distribution: 'adopt' + cache: 'maven' - name: Build presto pinot driver with JDK 8 env: MAVEN_OPTS: -Xmx2G -DfailIfNoTests=false -Dmaven.wagon.httpconnectionManager.ttlSeconds=25 -Dmaven.wagon.http.retryHandler.count=3 -Dhttp.keepAlive=false -Dmaven.wagon.http.pool=false diff --git a/.github/workflows/pinot_vuln_check.yml b/.github/workflows/pinot_vuln_check.yml index e471f880490c..d9aea49353b0 100644 --- a/.github/workflows/pinot_vuln_check.yml +++ b/.github/workflows/pinot_vuln_check.yml @@ -37,9 +37,9 @@ jobs: name: Verify Docker Image runs-on: ubuntu-latest steps: - - uses: docker/setup-qemu-action@v1 + - uses: docker/setup-qemu-action@v2 name: Set up QEMU - - uses: docker/setup-buildx-action@v1 + - uses: docker/setup-buildx-action@v2 name: Set up Docker Buildx - uses: actions/checkout@v3 - name: Build the Docker image diff --git a/docker/images/pinot-base/README.md b/docker/images/pinot-base/README.md index d7f5e929174c..1b4667529f0f 100644 --- a/docker/images/pinot-base/README.md +++ b/docker/images/pinot-base/README.md @@ -20,6 +20,7 @@ --> # docker-pinot-base + This is the base docker image to build [Apache Pinot](https://github.com/apache/pinot). ## How to build a docker image @@ -31,6 +32,7 @@ Arguments: `OPENJDK_IMAGE`: Base image to use for Pinot build and runtime, e.g. `arm64v8/openjdk`. Default is `openjdk`. Usage: + ```SHELL docker build -t apachepinot/pinot-base-build:openjdk11 --no-cache --network=host --build-arg JAVA_VERSION=11 -f pinot-base-build/Dockerfile . ``` @@ -40,9 +42,11 @@ docker build -t apachepinot/pinot-base-runtime:openjdk11 --no-cache --network=ho ``` Note that if you are not on arm64 machine, you can still build the image by turning on the experimental feature of docker, and add `--platform linux/arm64` into the `docker build ...` script, e.g. + ```SHELL docker build -t apachepinot/pinot-base-build:openjdk11-arm64v8 --platform linux/arm64 --no-cache --network=host --build-arg JAVA_VERSION=11 --build-arg OPENJDK_IMAGE=arm64v8/openjdk -f pinot-base-build/Dockerfile . ``` + ```SHELL docker build -t apachepinot/pinot-base-runtime:openjdk11-arm64v8 --platform linux/arm64 --no-cache --network=host --build-arg JAVA_VERSION=11 --build-arg OPENJDK_IMAGE=arm64v8/openjdk -f pinot-base-runtime/Dockerfile . ``` @@ -54,6 +58,7 @@ Here is the [Github Action task](https://github.com/apachepinot/pinot-fork/actio This task can be triggered manually to build the cross platform(amd64 and arm64v8) base image. The build shell is: + ```SHELL docker buildx build --no-cache --platform=linux/arm64,linux/amd64 --file Dockerfile --tag apachepinot/pinot-base-build:openjdk11 --push . -``` \ No newline at end of file +``` diff --git a/docker/images/pinot/Dockerfile b/docker/images/pinot/Dockerfile index 8a76717e1984..3e1bef09039b 100644 --- a/docker/images/pinot/Dockerfile +++ b/docker/images/pinot/Dockerfile @@ -36,6 +36,7 @@ RUN git clone ${PINOT_GIT_URL} ${PINOT_BUILD_DIR} && \ cd ${PINOT_BUILD_DIR} && \ git checkout ${PINOT_BRANCH} && \ mvn install package -DskipTests -Pbin-dist -Pbuild-shaded-jar -Djdk.version=${JDK_VERSION} -T1C && \ + rm -rf /root/.m2 && \ mkdir -p ${PINOT_HOME}/configs && \ mkdir -p ${PINOT_HOME}/data && \ cp -r build/* ${PINOT_HOME}/. && \