This is an automated email from the ASF dual-hosted git repository.
zabetak pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/hive.git
The following commit(s) were added to refs/heads/master by this push:
new b7e3e1d6190 HIVE-27277: GH actions to build and push docker image
(Simhadri Govindappa reviewed by Stamatis Zampetakis, Zhihua Deng, Naveen
Gangam, Attila Turoczy, Zoltan Ratkai)
b7e3e1d6190 is described below
commit b7e3e1d6190b1a92b9bf5e6e4fb661070d12a398
Author: SimhadriGovindappa
AuthorDate: Wed Apr 26 13:08:41 2023 +0530
HIVE-27277: GH actions to build and push docker image (Simhadri Govindappa
reviewed by Stamatis Zampetakis, Zhihua Deng, Naveen Gangam, Attila Turoczy,
Zoltan Ratkai)
1. Add (manually triggered) action for building images from archives
(for old releases)
2. Add action for building images from sources automatically triggered
on new tag creation.
3. Publish docker images for amd64 and arm64 platforms to dockerhub
Closes #4614
---
.github/workflows/docker-GA-images.yml | 138 +
packaging/src/docker/Dockerfile| 42 --
packaging/src/docker/build.sh | 1 +
3 files changed, 174 insertions(+), 7 deletions(-)
diff --git a/.github/workflows/docker-GA-images.yml
b/.github/workflows/docker-GA-images.yml
new file mode 100644
index 000..cffa8eb89a3
--- /dev/null
+++ b/.github/workflows/docker-GA-images.yml
@@ -0,0 +1,138 @@
+name: Build and Publish docker images for Hive GA
+
+on:
+ create:
+ workflow_dispatch:
+inputs:
+ hiveVersion:
+description: 'Hive version'
+required: true
+default: '4.0.0-beta-1'
+
+
+ hadoopVersion:
+description: 'hadoop version'
+required: true
+default: '3.3.1'
+
+ tezVersion:
+description: 'tez version'
+required: true
+default: '0.10.2'
+
+
+
+jobs:
+ buildFromArchive:
+if: github.event_name == 'workflow_dispatch'
+runs-on: ubuntu-latest
+steps:
+ -
+name: Checkout
+uses: actions/checkout@v3
+
+ -
+name: 'Set up JDK 8'
+uses: actions/setup-java@v1
+with:
+ java-version: 8
+
+ -
+name: Hive version
+run: echo "HIVE_VERSION=${{ github.event.inputs.hiveVersion }}" >>
$GITHUB_ENV
+
+
+ - name: Tag
+run: echo "tag=${{ env.HIVE_VERSION }}" | awk '{print tolower($0)}' >>
$GITHUB_ENV
+
+ -
+name: Hadoop version
+run: echo "HADOOP_VERSION=${{ github.event.inputs.hadoopVersion }}" >>
$GITHUB_ENV
+ -
+name: Tez version
+run: echo "TEZ_VERSION=${{ github.event.inputs.tezVersion }}" >>
$GITHUB_ENV
+
+ - name: Login to Docker Hub
+uses: docker/login-action@v2
+with:
+ username: ${{ secrets.DOCKERHUB_USER }}
+ password: ${{ secrets.DOCKERHUB_TOKEN }}
+
+ -
+name: Set up Docker Buildx
+uses: docker/setup-buildx-action@v2
+
+ - name: Build and push Hive Image to docker hub
+uses: docker/build-push-action@v4
+with:
+ context: ./packaging/src/docker/
+ file: ./packaging/src/docker/Dockerfile
+ platforms: linux/amd64,linux/arm64
+ push: true
+ tags: ${{ secrets.DOCKERHUB_USER }}/hive:${{ env.tag }}
+ build-args:
+|
+HIVE_VERSION=${{ env.HIVE_VERSION }}
+HADOOP_VERSION=${{ env.HADOOP_VERSION }}
+TEZ_VERSION=${{ env.TEZ_VERSION }}
+BUILD_ENV=archive
+
+ buildFromSource:
+if: github.event_name == 'create' && github.event.ref_type == 'tag' &&
startsWith(github.event.ref, 'rel/')
+runs-on: ubuntu-latest
+steps:
+ - name: Checkout
+uses: actions/checkout@v3
+
+ - name: 'Set up JDK 8'
+uses: actions/setup-java@v1
+with:
+ java-version: 8
+
+ - name: Hive version
+run: echo "HIVE_VERSION=$(mvn -f "pom.xml" -q help:evaluate
-Dexpression=project.version -DforceStdout)" >> $GITHUB_ENV
+
+
+ - name: Tag
+run: echo "tag=${{ env.HIVE_VERSION }}" | awk '{print tolower($0)}' >>
$GITHUB_ENV
+
+ - name: Hadoop version
+run: echo "HADOOP_VERSION=$(mvn -f "pom.xml" -q help:evaluate
-Dexpression=hadoop.version -DforceStdout)" >> $GITHUB_ENV
+ - name: Tez version
+run: echo "TEZ_VERSION=$(mvn -f "pom.xml" -q help:evaluate
-Dexpression=tez.version -DforceStdout)" >> $GITHUB_ENV
+
+ - name: Build project
+run: mvn clean package -DskipTests -Pitests,iceberg -Pdist
+
+ - name: Check for hive tar.gz
+run: ls ./packaging/target/
+
+ - name: Copy to docker directory
+run: cp ./packaging/target/apache-hive-*-bin.tar.gz
./packaging/src/docker/
+
+ - name: Confirm the copy of hive tar.gz
+run: ls ./packaging/src/docker/
+
+ - name: Login to Docker Hub
+