From a6daae0d0c91835b9fb72d09ddc6ff947d4a487e Mon Sep 17 00:00:00 2001 From: shijin raj Date: Tue, 20 Jun 2023 15:58:12 +0200 Subject: [PATCH 1/3] Introduced a new Github action for build and publish the sldt-discovery-finder images to dockerhub. Adjust release.yml to trigger the new Github action after creating a new tag. --- .../publish-image-discovery-finder.yml | 97 +++++++++++++++++++ .github/workflows/release.yml | 8 +- 2 files changed, 104 insertions(+), 1 deletion(-) create mode 100644 .github/workflows/publish-image-discovery-finder.yml diff --git a/.github/workflows/publish-image-discovery-finder.yml b/.github/workflows/publish-image-discovery-finder.yml new file mode 100644 index 0000000..f9d7839 --- /dev/null +++ b/.github/workflows/publish-image-discovery-finder.yml @@ -0,0 +1,97 @@ +# Copyright (c) 2023 Copyright (c) 2023 Robert Bosch Manufacturing Solutions GmbH +# Copyright (c) 2023 Contributors to the Eclipse Foundation + +# See the NOTICE file(s) distributed with this work for additional +# information regarding copyright ownership. + +# This program and the accompanying materials are made available under the +# terms of the Apache License, Version 2.0 which is available at +# https://www.apache.org/licenses/LICENSE-2.0. + +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT +# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the +# License for the specific language governing permissions and limitations +# under the License. + +# SPDX-License-Identifier: Apache-2.0 +--- + +name: Public release discovery-finder +on: + push: + branches: + - main + # trigger events for SemVer like tags + tags: + - 'v*.*.*' + - 'v*.*.*-*' + +env: + IMAGE_NAMESPACE: tractusx + IMAGE_NAME: sldt-discovery-finder + +jobs: + build-image: + runs-on: ubuntu-22.04 + steps: + - name: Checkout + uses: actions/checkout@v3 + - name: setup-java + uses: actions/setup-java@v3 + with: + distribution: temurin + java-version: 17 + - name: Setup Maven Action + uses: s4u/setup-maven-action@v1.7.0 + with: + java-version: 17 + - name: execute-maven-deps + working-directory: ./backend + run: mvn verify dependency:list -DskipTests -Dmaven.javadoc.skip=true -DappendOutput=false -DoutputFile=maven.deps -DincludeScope=compile + - name: install dependencies + working-directory: ./.github/actions/generate-dependencies-notice + run: npm install + - name: baselayer-licenses + uses: philips-labs/tern-action@v1.1.0 + with: + image: eclipse-temurin:17-jre-alpine + format: json + output: ./base-image-layers.json + - name: dependency-licenses + uses: ./.github/actions/generate-dependencies-notice + with: + version: ${{ github.ref_name }} + base-path: ${{ github.workspace }} + maven-deps-path: ./backend/maven.deps + base-image-layers-path: ./base-image-layers.json + - name: Docker meta + id: meta + uses: docker/metadata-action@v4 + with: + images: | + ${{ env.IMAGE_NAMESPACE }}/${{ env.IMAGE_NAME }} + tags: | + type=ref,event=branch + type=semver,pattern={{version}} + type=semver,pattern={{major}} + type=semver,pattern={{major}}.{{minor}} + - name: DockerHub login + uses: docker/login-action@v2 + with: + username: ${{ secrets.DOCKER_HUB_USER }} + password: ${{ secrets.DOCKER_HUB_TOKEN }} + - name: Build and push + uses: docker/build-push-action@v3 + with: + context: . + push: true + file: ./backend/Dockerfile + tags: ${{ steps.meta.outputs.tags }} + labels: ${{ steps.meta.outputs.labels }} + - name: Update Docker Hub description + uses: peter-evans/dockerhub-description@v3 + with: + username: ${{ secrets.DOCKER_HUB_USER }} + password: ${{ secrets.DOCKER_HUB_TOKEN }} + repository: ${{ env.IMAGE_NAMESPACE }}/${{ env.IMAGE_NAME }} \ No newline at end of file diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 906d785..b8368de 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -59,4 +59,10 @@ jobs: git commit -m "Create version v${{ inputs.version }}" git tag v${{ inputs.version }} git push origin release - git push origin v${{ inputs.version }} \ No newline at end of file + git push origin v${{ inputs.version }} + call-image-release: + uses: ./.github/workflows/publish-image-bpn-discovery.yml + needs: build + secrets: inherit + with: + tag: v${{ inputs.version }} \ No newline at end of file From d5de2c51e3396c2ccf393830df6dca355d31d1d9 Mon Sep 17 00:00:00 2001 From: shijin raj Date: Wed, 21 Jun 2023 11:52:05 +0200 Subject: [PATCH 2/3] Introduced a new Github action for build and publish the sldt-bpn-discovery-finder images to dockerhub. --- .../publish-image-discovery-finder.yml | 26 ++++++++++++------- 1 file changed, 17 insertions(+), 9 deletions(-) diff --git a/.github/workflows/publish-image-discovery-finder.yml b/.github/workflows/publish-image-discovery-finder.yml index f9d7839..943cf49 100644 --- a/.github/workflows/publish-image-discovery-finder.yml +++ b/.github/workflows/publish-image-discovery-finder.yml @@ -22,10 +22,11 @@ on: push: branches: - main - # trigger events for SemVer like tags - tags: - - 'v*.*.*' - - 'v*.*.*-*' + workflow_call: + inputs: + tag: + type: string + required: true env: IMAGE_NAMESPACE: tractusx @@ -35,8 +36,14 @@ jobs: build-image: runs-on: ubuntu-22.04 steps: - - name: Checkout + - name: Checkout if push + if: ${{ github.event_name == 'push' }} uses: actions/checkout@v3 + - name: Checkout if workflow_dispatch + if: ${{ github.event_name == 'workflow_dispatch' }} + uses: actions/checkout@v3 + with: + ref: ${{ inputs.tag }} - name: setup-java uses: actions/setup-java@v3 with: @@ -72,10 +79,11 @@ jobs: images: | ${{ env.IMAGE_NAMESPACE }}/${{ env.IMAGE_NAME }} tags: | - type=ref,event=branch - type=semver,pattern={{version}} - type=semver,pattern={{major}} - type=semver,pattern={{major}}.{{minor}} + type=ref,event=branch,enable=${{ inputs.tag == '' }} + type=semver,pattern={{version}},value=${{ inputs.tag }} + type=semver,pattern={{major}},value=${{ inputs.tag }} + type=semver,pattern={{major}}.{{minor}},value=${{ inputs.tag }} + type=raw,value=latest,enable=${{ inputs.tag != '' }} - name: DockerHub login uses: docker/login-action@v2 with: From 9476e28d9822dae822bf35dca17c46715aebd580 Mon Sep 17 00:00:00 2001 From: shijin raj Date: Thu, 22 Jun 2023 11:27:55 +0200 Subject: [PATCH 3/3] Incorporated the review comments Correct the publish-image-bpn-discovery.yml file name --- .github/workflows/release.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index b8368de..d62a4e5 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -61,7 +61,7 @@ jobs: git push origin release git push origin v${{ inputs.version }} call-image-release: - uses: ./.github/workflows/publish-image-bpn-discovery.yml + uses: ./.github/workflows/publish-image-discovery-finder.yml needs: build secrets: inherit with: