From 605657ae0002adb006264a9f6c311de979fb1400 Mon Sep 17 00:00:00 2001 From: RayfordJ Date: Thu, 28 Jan 2021 14:24:08 -0600 Subject: [PATCH] Add BZ + Publish automation to repo (#82) (cherry picked from commit ccb545fbcf293e0e7595a91763481cf4fa7e0d45) Update PR-BZ automation mapping (#84) (cherry picked from commit aa2b019366b98b64c46244e0a697540e7c4d5d2b) Update PR-BZ automation (#92) Co-authored-by: Rayford Johnson (cherry picked from commit ecc563f90324d9924318618f7a4a167f6ea231bf) Add publish workflow (#108) (cherry picked from commit f87b779eb243fa5b37731761613ea962103a5956) --- .github/workflows/bz-pr-action.yml | 38 +++++++++++++++++++ .github/workflows/pr-merge.yml | 37 ++++++++++++++++++ .github/workflows/publish.yml | 61 ++++++++++++++++++++++++++++++ 3 files changed, 136 insertions(+) create mode 100644 .github/workflows/bz-pr-action.yml create mode 100644 .github/workflows/pr-merge.yml create mode 100644 .github/workflows/publish.yml diff --git a/.github/workflows/bz-pr-action.yml b/.github/workflows/bz-pr-action.yml new file mode 100644 index 0000000000..c1558ca482 --- /dev/null +++ b/.github/workflows/bz-pr-action.yml @@ -0,0 +1,38 @@ +# This is a basic workflow to help you get started with Actions + +name: BZ PR Creation + +# Controls when the action will run. +on: + # Triggers the workflow on push or pull request events but only for the main branch + pull_request_target: + branches: + - "*" + types: + - opened + - edited + - reopened + - synchronize + + # Allows you to run this workflow manually from the Actions tab + workflow_dispatch: + +# A workflow run is made up of one or more jobs that can run sequentially or in parallel +jobs: + # This workflow contains a single job called "build" + bz-on-pr-create: + # The type of runner that the job will run on + runs-on: ubuntu-latest + + # Steps represent a sequence of tasks that will be executed as part of the job + steps: + # Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it + - uses: docker://quay.io/konveyor/pr-bz-github-action + name: update bugzilla with posted pr + with: + org_repo: ${{ github.repository }} + pr_number: ${{ github.event.pull_request.number }} + bz_product: "Migration Toolkit for Containers" + title: ${{ github.event.pull_request.title }} + github_token: ${{ secrets.GITHUB_TOKEN }} + bugzilla_token: ${{ secrets.BUGZILLA_TOKEN }} diff --git a/.github/workflows/pr-merge.yml b/.github/workflows/pr-merge.yml new file mode 100644 index 0000000000..3c4ae6ee0f --- /dev/null +++ b/.github/workflows/pr-merge.yml @@ -0,0 +1,37 @@ +# This is a basic workflow to help you get started with Actions + +name: BZ Merge + +# Controls when the action will run. +on: + # Triggers the workflow on push or pull request events but only for the main branch + pull_request_target: + branches: + - "*" + types: + - closed + + + # Allows you to run this workflow manually from the Actions tab + workflow_dispatch: + +# A workflow run is made up of one or more jobs that can run sequentially or in pnamearallel +jobs: + # This workflow contains a single job called "build" + bz-on-pr-merge: + # The type of runner that the job will run on + runs-on: ubuntu-latest + + # Steps represent a sequence of tasks that will be executed as part of the job + steps: + - uses: docker://quay.io/konveyor/pr-merge-github-action + name: update bugzilla to modified + with: + bugzilla_token: ${{ secrets.BUGZILLA_TOKEN }} + org_repo: ${{ github.repository }} + pr_number: ${{ github.event.pull_request.number }} + bz_product: "Migration Toolkit for Containers" + title: ${{ github.event.pull_request.title }} + github_token: ${{ secrets.GITHUB_TOKEN }} + branch_to_release: "release-1.4.4:1.4.4,release-1.4.3:1.4.3,konveyor-1.5.2:1.4.0,release-1.4.5:1.4.5,release-1.5.0:1.5.0,konveyor-dev:1.5.z" + base_branch: ${{ github.base_ref }} diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml new file mode 100644 index 0000000000..f5817915f5 --- /dev/null +++ b/.github/workflows/publish.yml @@ -0,0 +1,61 @@ +name: Publish Images + +on: + push: + branches: + - konveyor-dev + - 'release-*.*.*' + - 'sprint-*' + tags: + - 'release-*.*.*' + workflow_dispatch: + +env: + REGISTRY: quay.io + IMAGE_NAME: konveyor/velero + HELPER_IMAGE_NAME: konveyor/velero-restore-helper +jobs: + build: + runs-on: ubuntu-latest + permissions: + contents: read + packages: write + steps: + - name: Checkout repository + uses: actions/checkout@v2 + + - name: Extract branch name + shell: bash + run: echo "##[set-output name=branch;]$(echo ${GITHUB_REF#refs/heads/})" + id: extract_branch + + - name: Build container image + run: docker build . --file Dockerfile.ubi --tag ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}:${{ steps.extract_branch.outputs.branch }} + + - name: Build helper image + run: docker build . --file Dockerfile-velero-restore-helper.ubi --tag ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}:${{ steps.extract_branch.outputs.branch }} + + - name: Log into registry + run: echo "${{ secrets.QUAY_PUBLISH_TOKEN }}" | docker login quay.io -u ${{ secrets.QUAY_PUBLISH_ROBOT }} --password-stdin + + - name: Push container image + run: docker push ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}:${{ steps.extract_branch.outputs.branch }} + + - name: Push helper image + run: docker push ${{ env.REGISTRY }}/${{ env.HELPER_IMAGE_NAME }}:${{ steps.extract_branch.outputs.branch }} + + - name: Retag container image + run: docker tag ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}:${{ steps.extract_branch.outputs.branch }} ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}:latest + if: ${{ github.ref == 'refs/heads/konveyor-dev' }} + + - name: Retag helper image + run: docker tag ${{ env.REGISTRY }}/${{ env.HELPER_IMAGE_NAME }}:${{ steps.extract_branch.outputs.branch }} ${{ env.REGISTRY }}/${{ env.HELPER_IMAGE_NAME }}:latest + if: ${{ github.ref == 'refs/heads/konveyor-dev' }} + + - name: push retagged container image + run: docker push ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}:latest + if: ${{ github.ref == 'refs/heads/konveyor-dev' }} + + - name: push retagged helper image + run: docker push ${{ env.REGISTRY }}/${{ env.HELPER_IMAGE_NAME }}:latest + if: ${{ github.ref == 'refs/heads/konveyor-dev' }}