diff --git a/.github/workflows/docker-GA-images.yml b/.github/workflows/docker-GA-images.yml index 9db55f15cb1b..5b65bc9f2117 100644 --- a/.github/workflows/docker-GA-images.yml +++ b/.github/workflows/docker-GA-images.yml @@ -1,7 +1,7 @@ name: Build and Publish docker images for Hive GA on: - create: + workflow_dispatch: jobs: build: diff --git a/.github/workflows/docker-dev-images.yml b/.github/workflows/docker-dev-images.yml new file mode 100644 index 000000000000..d8aade2edf0e --- /dev/null +++ b/.github/workflows/docker-dev-images.yml @@ -0,0 +1,76 @@ +name: Build and Publish docker images for Hive SNAPSHOT images + +on: + schedule: + - cron: "0 10 * * 1" + +jobs: + build: + 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 install -DskipTests -Pitests,iceberg -Pdist + + + - name: Temporarily save jar artifact + uses: actions/upload-artifact@v2 + with: + name: jar-artifact + path: ./packaging/target/apache-hive-${{ env.HIVE_VERSION }}-bin.tar.gz + retention-days: 1 + + - uses: actions/download-artifact@v1 + with: + name: jar-artifact + path: ./packaging/target/ + - + 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 + 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=snapshot \ No newline at end of file diff --git a/packaging/src/docker/Dockerfile b/packaging/src/docker/Dockerfile index 382cd5d0b38d..ce829f991c3c 100644 --- a/packaging/src/docker/Dockerfile +++ b/packaging/src/docker/Dockerfile @@ -33,6 +33,17 @@ ONBUILD RUN mv /apache-tez-$TEZ_VERSION-bin.tar.gz /opt && \ mv hadoop-$HADOOP_VERSION.tar.gz /opt && \ mv apache-hive-$HIVE_VERSION-bin.tar.gz /opt +FROM ubuntu as snapshot +ARG HADOOP_VERSION +ARG HIVE_VERSION +ARG TEZ_VERSION +ONBUILD RUN apt-get update && apt-get -y install wget +ONBUILD RUN wget https://archive.apache.org/dist/tez/$TEZ_VERSION/apache-tez-$TEZ_VERSION-bin.tar.gz && \ + wget https://archive.apache.org/dist/hadoop/core/hadoop-$HADOOP_VERSION/hadoop-$HADOOP_VERSION.tar.gz +ONBUILD COPY ./packaging/target/apache-hive-$HIVE_VERSION-bin.tar.gz /opt +ONBUILD RUN mv /apache-tez-$TEZ_VERSION-bin.tar.gz /opt && \ + mv hadoop-$HADOOP_VERSION.tar.gz /opt + FROM ${BUILD_ENV} as env RUN echo ${BUILD_ENV}