diff --git a/.github/workflows/build-images-base.yaml b/.github/workflows/build-images-base.yaml index 38bad8572..e9d65d961 100644 --- a/.github/workflows/build-images-base.yaml +++ b/.github/workflows/build-images-base.yaml @@ -208,3 +208,4 @@ jobs: password: ${{ secrets.IMG_REGISTRY_TOKEN }} - name: Print Image URL run: echo "Image pushed to ${{ steps.push-to-quay.outputs.registry-paths }}" + \ No newline at end of file diff --git a/.github/workflows/build-images-pr.yaml b/.github/workflows/build-images-pr.yaml new file mode 100644 index 000000000..9e6cb4112 --- /dev/null +++ b/.github/workflows/build-images-pr.yaml @@ -0,0 +1,29 @@ +name: PR Conditional Build and Push Image to Quay.io Repo + +on: + pull_request_target: + types: [labeled, opened, synchronize, reopened] + +concurrency: + group: pr-conditional-build-${{ github.event.pull_request.number }} + cancel-in-progress: true + +jobs: + workflow-build: + if: ${{ contains(github.event.pull_request.labels.*.name, 'forked_image_approved') }} + name: Calls build-images-base workflow + uses: ./.github/workflows/build-images-base.yaml + secrets: inherit + with: + kuadrantOperatorVersion: ${{ github.event.pull_request.user.login }}-${{ github.event.pull_request.number }} + kuadrantOperatorTag: ${{ github.event.pull_request.user.login }}-${{ github.event.pull_request.number }} + + remove-label: + runs-on: ubuntu-latest + needs: workflow-build + steps: + - name: Remove forked_image_approved label after workflow is triggered + - uses: actions-ecosystem/action-remove-labels@v1 + with: + labels: forked_image_approved + repo-token: ${{ secrets.GITHUB_TOKEN }} \ No newline at end of file