From eb876dad8f2d9f3236ba081d4a154d2a8ff42253 Mon Sep 17 00:00:00 2001 From: kishansairam9 Date: Thu, 8 Feb 2024 00:11:41 +0530 Subject: [PATCH] update --- .github/workflows/extract-args.yml | 10 ++--- .github/workflows/pr-build.yml | 68 ++++++++++++------------------ .github/workflows/publish.yml | 56 +++++++++--------------- 3 files changed, 51 insertions(+), 83 deletions(-) diff --git a/.github/workflows/extract-args.yml b/.github/workflows/extract-args.yml index eadc58b..3a5c881 100644 --- a/.github/workflows/extract-args.yml +++ b/.github/workflows/extract-args.yml @@ -1,6 +1,9 @@ on: workflow_call: inputs: + prefix: + required: true + type: string file: required: true type: string @@ -17,8 +20,5 @@ jobs: TOTAL_JAVA_VERSION=$(cat ${{ inputs.file }} | grep "JAVA_VERSION" | cut -d'=' -f2) BASE_JAVA_VERSION=$(echo $TOTAL_JAVA_VERSION | cut -d'-' -f1) MAJOR_JAVA_VERSION=$(echo $BASE_JAVA_VERSION | cut -d'.' -f1) - echo "IMAGE_TAGS=${{ inputs.image }}:$MAJOR_JAVA_VERSION,${{ inputs.image }}:$BASE_JAVA_VERSION,${{ inputs.image }}:$TOTAL_JAVA_VERSION" >> $GITHUB_ENV - echo "ARGS_CONTENT=$(cat ${{ inputs.file }})" >> $GITHUB_ENV - - shell: bash - run: | - echo "Image tags extracted: ${{ env.IMAGE_TAGS }}" + echo "${{ inputs.prefix }}_IMAGE_TAGS=${{ inputs.image }}:$MAJOR_JAVA_VERSION,${{ inputs.image }}:$BASE_JAVA_VERSION,${{ inputs.image }}:$TOTAL_JAVA_VERSION" >> $GITHUB_ENV + echo "${{ inputs.prefix }}_ARGS_CONTENT=$(cat ${{ inputs.file }})" >> $GITHUB_ENV diff --git a/.github/workflows/pr-build.yml b/.github/workflows/pr-build.yml index 1772650..fa061c1 100644 --- a/.github/workflows/pr-build.yml +++ b/.github/workflows/pr-build.yml @@ -6,7 +6,21 @@ on: pull_request: jobs: - build-java-11: + extract-args-java-11: + uses: ./.github/workflows/extract-args.yml + with: + file: java-11/args.env + image: hypertrace/java + prefix: JAVA11 + + extract-args-java-21: + uses: ./.github/workflows/extract-args.yml + with: + file: java-21/args.env + image: hypertrace/java + prefix: JAVA21 + + build: runs-on: ubuntu-22.04 steps: - name: Checkout @@ -24,20 +38,23 @@ jobs: username: ${{ secrets.DOCKERHUB_READ_USER }} password: ${{ secrets.DOCKERHUB_READ_TOKEN }} - - name: Extract args - uses: ./.github/workflows/extract-args.yml - with: - file: java-11/args.env - image: hypertrace/java - - name: Build java-11 uses: docker/build-push-action@v5 with: context: java-11 platforms: linux/amd64,linux/arm64 build-args: | - ${{ env.ARGS_CONTENT }} - tags: ${{ env.IMAGE_TAGS }} + ${{ env.JAVA11_ARGS_CONTENT }} + tags: ${{ env.JAVA11_IMAGE_TAGS }} + + - name: Build java-21 + uses: docker/build-push-action@v5 + with: + context: java-21 + platforms: linux/amd64,linux/arm64 + build-args: | + ${{ env.JAVA21_ARGS_CONTENT }} + tags: ${{ env.JAVA21_IMAGE_TAGS }} - name: Scan java-11 image uses: hypertrace/github-actions/trivy-image-scan@main @@ -47,39 +64,6 @@ jobs: category: java-11 output-mode: github - build-java-21: - runs-on: ubuntu-22.04 - steps: - - name: Checkout - uses: actions/checkout@v4 - - - name: Set up QEMU - uses: docker/setup-qemu-action@v3 - - - name: Set up Docker Buildx - uses: docker/setup-buildx-action@v3 - - - name: Login to Docker Hub - uses: docker/login-action@v3 - with: - username: ${{ secrets.DOCKERHUB_READ_USER }} - password: ${{ secrets.DOCKERHUB_READ_TOKEN }} - - - name: Extract args - uses: ./.github/workflows/extract-args.yml - with: - file: java-21/args.env - image: hypertrace/java - - - name: Build java-21 - uses: docker/build-push-action@v5 - with: - context: java-21 - platforms: linux/amd64,linux/arm64 - build-args: | - ${{ env.ARGS_CONTENT }} - tags: ${{ env.IMAGE_TAGS }} - - name: Scan java-21 image uses: hypertrace/github-actions/trivy-image-scan@main with: diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml index 9449db2..3403477 100644 --- a/.github/workflows/publish.yml +++ b/.github/workflows/publish.yml @@ -7,7 +7,21 @@ on: workflow_dispatch: jobs: - publish-java-11: + extract-args-java-11: + uses: ./.github/workflows/extract-args.yml + with: + file: java-11/args.env + image: hypertrace/java + prefix: JAVA11 + + extract-args-java-21: + uses: ./.github/workflows/extract-args.yml + with: + file: java-21/args.env + image: hypertrace/java + prefix: JAVA21 + + publish: runs-on: ubuntu-22.04 steps: - name: Checkout @@ -25,52 +39,22 @@ jobs: username: ${{ secrets.DOCKERHUB_PUBLISH_USER }} password: ${{ secrets.DOCKERHUB_PUBLISH_TOKEN }} - - name: Extract args - uses: ./.github/workflows/extract-args.yml - with: - file: java-11/args.env - image: hypertrace/java - - name: Publish java 11 uses: docker/build-push-action@v5 with: context: java-11 platforms: linux/amd64,linux/arm64 build-args: | - ${{ env.ARGS_CONTENT }} - tags: ${{ env.IMAGE_TAGS }} + ${{ env.JAVA11_ARGS_CONTENT }} + tags: ${{ env.JAVA11_IMAGE_TAGS }} push: true - - publish-java-21: - runs-on: ubuntu-22.04 - steps: - - name: Checkout - uses: actions/checkout@v4 - - - name: Set up QEMU - uses: docker/setup-qemu-action@v3 - - - name: Set up Docker Buildx - uses: docker/setup-buildx-action@v3 - - - name: Login to Docker Hub - uses: docker/login-action@v3 - with: - username: ${{ secrets.DOCKERHUB_PUBLISH_USER }} - password: ${{ secrets.DOCKERHUB_PUBLISH_TOKEN }} - - - name: Extract args - uses: ./.github/workflows/extract-args.yml - with: - file: java-21/args.env - image: hypertrace/java - + - name: Publish java 21 uses: docker/build-push-action@v5 with: context: java-21 platforms: linux/amd64,linux/arm64 build-args: | - ${{ env.ARGS_CONTENT }} - tags: ${{ env.IMAGE_TAGS }} + ${{ env.JAVA21_ARGS_CONTENT }} + tags: ${{ env.JAVA21_IMAGE_TAGS }} push: true \ No newline at end of file