gha: Manually rebase PR atop of the target branch before testing

We're changing what's been done as part of ac939c458c, as we've
notcied issues using `github.event.pull_request.merge_commit_sha`.

Basically, whenever a force-push would happen, the reference of
merge_commit_sha wouldn't be updated, leading us to test PRs with the
old code. :-/

In order to get the rebase properly working, we need to ensure we pull
the hash of the commit as part of checkout action, and ensure
fetch-depth is set to 0.

Fixes: #7414

Signed-off-by: Fabiano Fidêncio <fabiano.fidencio@intel.com>
This commit is contained in:
Fabiano Fidêncio 2023-08-31 15:48:05 +02:00
parent cd8c217ee1
commit bd24afcf73
20 changed files with 258 additions and 4 deletions

View File

@ -23,7 +23,14 @@ jobs:
- name: Checkout code - name: Checkout code
uses: actions/checkout@v3 uses: actions/checkout@v3
with: with:
ref: ${{ github.event.pull_request.merge_commit_sha }} ref: ${{ github.event.pull_request.head.sha }}
fetch-depth: 0
- name: Rebase atop of the latest target branch
run: |
./tests/git-helper.sh "rebase-atop-of-the-latest-target-branch"
env:
TARGET_BRANCH: ${{ github.event.pull_request.base.ref }}
- name: Install PR sizing label script - name: Install PR sizing label script
run: | run: |

View File

@ -16,6 +16,10 @@ on:
commit-hash: commit-hash:
required: false required: false
type: string type: string
target-branch:
required: false
type: string
default: ""
jobs: jobs:
build-asset: build-asset:
@ -66,6 +70,12 @@ jobs:
ref: ${{ inputs.commit-hash }} ref: ${{ inputs.commit-hash }}
fetch-depth: 0 # This is needed in order to keep the commit ids history fetch-depth: 0 # This is needed in order to keep the commit ids history
- name: Rebase atop of the latest target branch
run: |
./tests/git-helper.sh "rebase-atop-of-the-latest-target-branch"
env:
TARGET_BRANCH: ${{ inputs.target-branch }}
- name: Build ${{ matrix.asset }} - name: Build ${{ matrix.asset }}
run: | run: |
make "${KATA_ASSET}-tarball" make "${KATA_ASSET}-tarball"
@ -92,6 +102,12 @@ jobs:
- uses: actions/checkout@v3 - uses: actions/checkout@v3
with: with:
ref: ${{ inputs.commit-hash }} ref: ${{ inputs.commit-hash }}
fetch-depth: 0
- name: Rebase atop of the latest target branch
run: |
./tests/git-helper.sh "rebase-atop-of-the-latest-target-branch"
env:
TARGET_BRANCH: ${{ inputs.target-branch }}
- name: get-artifacts - name: get-artifacts
uses: actions/download-artifact@v3 uses: actions/download-artifact@v3
with: with:

View File

@ -16,6 +16,10 @@ on:
commit-hash: commit-hash:
required: false required: false
type: string type: string
target-branch:
required: false
type: string
default: ""
jobs: jobs:
build-asset: build-asset:
@ -52,6 +56,13 @@ jobs:
with: with:
ref: ${{ inputs.commit-hash }} ref: ${{ inputs.commit-hash }}
fetch-depth: 0 # This is needed in order to keep the commit ids history fetch-depth: 0 # This is needed in order to keep the commit ids history
- name: Rebase atop of the latest target branch
run: |
./tests/git-helper.sh "rebase-atop-of-the-latest-target-branch"
env:
TARGET_BRANCH: ${{ inputs.target-branch }}
- name: Build ${{ matrix.asset }} - name: Build ${{ matrix.asset }}
run: | run: |
make "${KATA_ASSET}-tarball" make "${KATA_ASSET}-tarball"
@ -82,6 +93,12 @@ jobs:
- uses: actions/checkout@v3 - uses: actions/checkout@v3
with: with:
ref: ${{ inputs.commit-hash }} ref: ${{ inputs.commit-hash }}
fetch-depth: 0
- name: Rebase atop of the latest target branch
run: |
./tests/git-helper.sh "rebase-atop-of-the-latest-target-branch"
env:
TARGET_BRANCH: ${{ inputs.target-branch }}
- name: get-artifacts - name: get-artifacts
uses: actions/download-artifact@v3 uses: actions/download-artifact@v3
with: with:

View File

@ -16,6 +16,10 @@ on:
commit-hash: commit-hash:
required: false required: false
type: string type: string
target-branch:
required: false
type: string
default: ""
jobs: jobs:
build-asset: build-asset:
@ -48,6 +52,13 @@ jobs:
with: with:
ref: ${{ inputs.commit-hash }} ref: ${{ inputs.commit-hash }}
fetch-depth: 0 # This is needed in order to keep the commit ids history fetch-depth: 0 # This is needed in order to keep the commit ids history
- name: Rebase atop of the latest target branch
run: |
./tests/git-helper.sh "rebase-atop-of-the-latest-target-branch"
env:
TARGET_BRANCH: ${{ inputs.target-branch }}
- name: Build ${{ matrix.asset }} - name: Build ${{ matrix.asset }}
run: | run: |
make "${KATA_ASSET}-tarball" make "${KATA_ASSET}-tarball"
@ -79,6 +90,12 @@ jobs:
- uses: actions/checkout@v3 - uses: actions/checkout@v3
with: with:
ref: ${{ inputs.commit-hash }} ref: ${{ inputs.commit-hash }}
fetch-depth: 0
- name: Rebase atop of the latest target branch
run: |
./tests/git-helper.sh "rebase-atop-of-the-latest-target-branch"
env:
TARGET_BRANCH: ${{ inputs.target-branch }}
- name: get-artifacts - name: get-artifacts
uses: actions/download-artifact@v3 uses: actions/download-artifact@v3
with: with:

View File

@ -25,7 +25,8 @@ jobs:
if: ${{ contains(github.event.pull_request.labels.*.name, 'ok-to-test') }} if: ${{ contains(github.event.pull_request.labels.*.name, 'ok-to-test') }}
uses: ./.github/workflows/ci.yaml uses: ./.github/workflows/ci.yaml
with: with:
commit-hash: ${{ github.event.pull_request.merge_commit_sha }} commit-hash: ${{ github.event.pull_request.head.sha }}
pr-number: ${{ github.event.pull_request.number }} pr-number: ${{ github.event.pull_request.number }}
tag: ${{ github.event.pull_request.number }}-${{ github.event.pull_request.head.sha }} tag: ${{ github.event.pull_request.number }}-${{ github.event.pull_request.head.sha }}
target-branch: ${{ github.event.pull_request.base.ref }}
secrets: inherit secrets: inherit

View File

@ -11,6 +11,10 @@ on:
tag: tag:
required: true required: true
type: string type: string
target-branch:
required: false
type: string
default: ""
jobs: jobs:
build-kata-static-tarball-amd64: build-kata-static-tarball-amd64:
@ -28,6 +32,7 @@ jobs:
repo: ${{ github.repository_owner }}/kata-deploy-ci repo: ${{ github.repository_owner }}/kata-deploy-ci
tag: ${{ inputs.tag }}-amd64 tag: ${{ inputs.tag }}-amd64
commit-hash: ${{ inputs.commit-hash }} commit-hash: ${{ inputs.commit-hash }}
target-branch: ${{ inputs.target-branch }}
secrets: inherit secrets: inherit
build-and-publish-tee-confidential-unencrypted-image: build-and-publish-tee-confidential-unencrypted-image:
@ -37,6 +42,13 @@ jobs:
uses: actions/checkout@v3 uses: actions/checkout@v3
with: with:
ref: ${{ inputs.commit-hash }} ref: ${{ inputs.commit-hash }}
fetch-depth: 0
- name: Rebase atop of the latest target branch
run: |
./tests/git-helper.sh "rebase-atop-of-the-latest-target-branch"
env:
TARGET_BRANCH: ${{ inputs.target-branch }}
- name: Set up QEMU - name: Set up QEMU
uses: docker/setup-qemu-action@v2 uses: docker/setup-qemu-action@v2
@ -69,6 +81,7 @@ jobs:
tag: ${{ inputs.tag }}-amd64 tag: ${{ inputs.tag }}-amd64
commit-hash: ${{ inputs.commit-hash }} commit-hash: ${{ inputs.commit-hash }}
pr-number: ${{ inputs.pr-number }} pr-number: ${{ inputs.pr-number }}
target-branch: ${{ inputs.target-branch }}
secrets: inherit secrets: inherit
run-kata-deploy-tests-on-tdx: run-kata-deploy-tests-on-tdx:
@ -80,6 +93,7 @@ jobs:
tag: ${{ inputs.tag }}-amd64 tag: ${{ inputs.tag }}-amd64
commit-hash: ${{ inputs.commit-hash }} commit-hash: ${{ inputs.commit-hash }}
pr-number: ${{ inputs.pr-number }} pr-number: ${{ inputs.pr-number }}
target-branch: ${{ inputs.target-branch }}
run-k8s-tests-on-aks: run-k8s-tests-on-aks:
needs: publish-kata-deploy-payload-amd64 needs: publish-kata-deploy-payload-amd64
@ -90,6 +104,7 @@ jobs:
tag: ${{ inputs.tag }}-amd64 tag: ${{ inputs.tag }}-amd64
commit-hash: ${{ inputs.commit-hash }} commit-hash: ${{ inputs.commit-hash }}
pr-number: ${{ inputs.pr-number }} pr-number: ${{ inputs.pr-number }}
target-branch: ${{ inputs.target-branch }}
secrets: inherit secrets: inherit
run-k8s-tests-on-garm: run-k8s-tests-on-garm:
@ -112,6 +127,7 @@ jobs:
tag: ${{ inputs.tag }}-amd64 tag: ${{ inputs.tag }}-amd64
commit-hash: ${{ inputs.commit-hash }} commit-hash: ${{ inputs.commit-hash }}
pr-number: ${{ inputs.pr-number }} pr-number: ${{ inputs.pr-number }}
target-branch: ${{ inputs.target-branch }}
run-k8s-tests-on-snp: run-k8s-tests-on-snp:
needs: [publish-kata-deploy-payload-amd64, build-and-publish-tee-confidential-unencrypted-image] needs: [publish-kata-deploy-payload-amd64, build-and-publish-tee-confidential-unencrypted-image]
@ -122,6 +138,7 @@ jobs:
tag: ${{ inputs.tag }}-amd64 tag: ${{ inputs.tag }}-amd64
commit-hash: ${{ inputs.commit-hash }} commit-hash: ${{ inputs.commit-hash }}
pr-number: ${{ inputs.pr-number }} pr-number: ${{ inputs.pr-number }}
target-branch: ${{ inputs.target-branch }}
run-k8s-tests-on-tdx: run-k8s-tests-on-tdx:
needs: [publish-kata-deploy-payload-amd64, build-and-publish-tee-confidential-unencrypted-image] needs: [publish-kata-deploy-payload-amd64, build-and-publish-tee-confidential-unencrypted-image]
@ -132,6 +149,7 @@ jobs:
tag: ${{ inputs.tag }}-amd64 tag: ${{ inputs.tag }}-amd64
commit-hash: ${{ inputs.commit-hash }} commit-hash: ${{ inputs.commit-hash }}
pr-number: ${{ inputs.pr-number }} pr-number: ${{ inputs.pr-number }}
target-branch: ${{ inputs.target-branch }}
run-metrics-tests: run-metrics-tests:
needs: build-kata-static-tarball-amd64 needs: build-kata-static-tarball-amd64
@ -139,6 +157,7 @@ jobs:
with: with:
tarball-suffix: -${{ inputs.tag }} tarball-suffix: -${{ inputs.tag }}
commit-hash: ${{ inputs.commit-hash }} commit-hash: ${{ inputs.commit-hash }}
target-branch: ${{ inputs.target-branch }}
run-cri-containerd-tests: run-cri-containerd-tests:
needs: build-kata-static-tarball-amd64 needs: build-kata-static-tarball-amd64
@ -146,6 +165,7 @@ jobs:
with: with:
tarball-suffix: -${{ inputs.tag }} tarball-suffix: -${{ inputs.tag }}
commit-hash: ${{ inputs.commit-hash }} commit-hash: ${{ inputs.commit-hash }}
target-branch: ${{ inputs.target-branch }}
run-nydus-tests: run-nydus-tests:
needs: build-kata-static-tarball-amd64 needs: build-kata-static-tarball-amd64
@ -153,6 +173,7 @@ jobs:
with: with:
tarball-suffix: -${{ inputs.tag }} tarball-suffix: -${{ inputs.tag }}
commit-hash: ${{ inputs.commit-hash }} commit-hash: ${{ inputs.commit-hash }}
target-branch: ${{ inputs.target-branch }}
run-vfio-tests: run-vfio-tests:
needs: build-kata-static-tarball-amd64 needs: build-kata-static-tarball-amd64
@ -160,3 +181,4 @@ jobs:
with: with:
tarball-suffix: -${{ inputs.tag }} tarball-suffix: -${{ inputs.tag }}
commit-hash: ${{ inputs.commit-hash }} commit-hash: ${{ inputs.commit-hash }}
target-branch: ${{ inputs.target-branch }}

View File

@ -40,7 +40,15 @@ jobs:
if: ${{ !contains(github.event.pull_request.labels.*.name, 'force-skip-ci') }} if: ${{ !contains(github.event.pull_request.labels.*.name, 'force-skip-ci') }}
uses: actions/checkout@v3 uses: actions/checkout@v3
with: with:
ref: ${{ github.event.pull_request.merge_commit_sha }} ref: ${{ github.event.pull_request.head.sha }}
fetch-depth: 0
- name: Rebase atop of the latest target branch
if: ${{ !contains(github.event.pull_request.labels.*.name, 'force-skip-ci') }}
run: |
./tests/git-helper.sh "rebase-atop-of-the-latest-target-branch"
env:
TARGET_BRANCH: ${{ github.event.pull_request.base.ref }}
- name: Move issue to "In progress" - name: Move issue to "In progress"
if: ${{ !contains(github.event.pull_request.labels.*.name, 'force-skip-ci') }} if: ${{ !contains(github.event.pull_request.labels.*.name, 'force-skip-ci') }}

View File

@ -38,7 +38,15 @@ jobs:
if: ${{ !contains(github.event.pull_request.labels.*.name, 'force-skip-ci') }} if: ${{ !contains(github.event.pull_request.labels.*.name, 'force-skip-ci') }}
uses: actions/checkout@v3 uses: actions/checkout@v3
with: with:
ref: ${{ github.event.pull_request.merge_commit_sha }} ref: ${{ github.event.pull_request.head.sha }}
fetch-depth: 0
- name: Rebase atop of the latest target branch
if: ${{ !contains(github.event.pull_request.labels.*.name, 'force-skip-ci') }}
run: |
./tests/git-helper.sh "rebase-atop-of-the-latest-target-branch"
env:
TARGET_BRANCH: ${{ github.event.pull_request.base.ref }}
- name: Install porting checker script - name: Install porting checker script
run: | run: |

View File

@ -8,6 +8,10 @@ on:
commit-hash: commit-hash:
required: false required: false
type: string type: string
target-branch:
required: false
type: string
default: ""
jobs: jobs:
run-cri-containerd: run-cri-containerd:
@ -28,6 +32,13 @@ jobs:
- uses: actions/checkout@v3 - uses: actions/checkout@v3
with: with:
ref: ${{ inputs.commit-hash }} ref: ${{ inputs.commit-hash }}
fetch-depth: 0
- name: Rebase atop of the latest target branch
run: |
./tests/git-helper.sh "rebase-atop-of-the-latest-target-branch"
env:
TARGET_BRANCH: ${{ inputs.target-branch }}
- name: Install dependencies - name: Install dependencies
run: bash tests/integration/cri-containerd/gha-run.sh install-dependencies run: bash tests/integration/cri-containerd/gha-run.sh install-dependencies

View File

@ -17,6 +17,10 @@ on:
commit-hash: commit-hash:
required: false required: false
type: string type: string
target-branch:
required: false
type: string
default: ""
jobs: jobs:
run-k8s-tests: run-k8s-tests:
@ -45,6 +49,13 @@ jobs:
- uses: actions/checkout@v3 - uses: actions/checkout@v3
with: with:
ref: ${{ inputs.commit-hash }} ref: ${{ inputs.commit-hash }}
fetch-depth: 0
- name: Rebase atop of the latest target branch
run: |
./tests/git-helper.sh "rebase-atop-of-the-latest-target-branch"
env:
TARGET_BRANCH: ${{ inputs.target-branch }}
- name: Download Azure CLI - name: Download Azure CLI
run: bash tests/integration/kubernetes/gha-run.sh install-azure-cli run: bash tests/integration/kubernetes/gha-run.sh install-azure-cli

View File

@ -17,6 +17,10 @@ on:
commit-hash: commit-hash:
required: false required: false
type: string type: string
target-branch:
required: false
type: string
default: ""
jobs: jobs:
run-k8s-tests: run-k8s-tests:
@ -45,6 +49,13 @@ jobs:
- uses: actions/checkout@v3 - uses: actions/checkout@v3
with: with:
ref: ${{ inputs.commit-hash }} ref: ${{ inputs.commit-hash }}
fetch-depth: 0
- name: Rebase atop of the latest target branch
run: |
./tests/git-helper.sh "rebase-atop-of-the-latest-target-branch"
env:
TARGET_BRANCH: ${{ inputs.target-branch }}
- name: Deploy ${{ matrix.k8s }} - name: Deploy ${{ matrix.k8s }}
run: bash tests/integration/kubernetes/gha-run.sh deploy-k8s run: bash tests/integration/kubernetes/gha-run.sh deploy-k8s

View File

@ -17,6 +17,10 @@ on:
commit-hash: commit-hash:
required: false required: false
type: string type: string
target-branch:
required: false
type: string
default: ""
jobs: jobs:
run-k8s-tests: run-k8s-tests:
@ -38,6 +42,13 @@ jobs:
- uses: actions/checkout@v3 - uses: actions/checkout@v3
with: with:
ref: ${{ inputs.commit-hash }} ref: ${{ inputs.commit-hash }}
fetch-depth: 0
- name: Rebase atop of the latest target branch
run: |
./tests/git-helper.sh "rebase-atop-of-the-latest-target-branch"
env:
TARGET_BRANCH: ${{ inputs.target-branch }}
- name: Deploy Kata - name: Deploy Kata
timeout-minutes: 10 timeout-minutes: 10

View File

@ -17,6 +17,10 @@ on:
commit-hash: commit-hash:
required: false required: false
type: string type: string
target-branch:
required: false
type: string
default: ""
jobs: jobs:
run-k8s-tests: run-k8s-tests:
@ -38,6 +42,13 @@ jobs:
- uses: actions/checkout@v3 - uses: actions/checkout@v3
with: with:
ref: ${{ inputs.commit-hash }} ref: ${{ inputs.commit-hash }}
fetch-depth: 0
- name: Rebase atop of the latest target branch
run: |
./tests/git-helper.sh "rebase-atop-of-the-latest-target-branch"
env:
TARGET_BRANCH: ${{ inputs.target-branch }}
- name: Deploy Kata - name: Deploy Kata
timeout-minutes: 10 timeout-minutes: 10

View File

@ -17,6 +17,10 @@ on:
commit-hash: commit-hash:
required: false required: false
type: string type: string
target-branch:
required: false
type: string
default: ""
jobs: jobs:
run-k8s-tests: run-k8s-tests:
@ -37,6 +41,13 @@ jobs:
- uses: actions/checkout@v3 - uses: actions/checkout@v3
with: with:
ref: ${{ inputs.commit-hash }} ref: ${{ inputs.commit-hash }}
fetch-depth: 0
- name: Rebase atop of the latest target branch
run: |
./tests/git-helper.sh "rebase-atop-of-the-latest-target-branch"
env:
TARGET_BRANCH: ${{ inputs.target-branch }}
- name: Deploy Kata - name: Deploy Kata
timeout-minutes: 10 timeout-minutes: 10

View File

@ -17,6 +17,10 @@ on:
commit-hash: commit-hash:
required: false required: false
type: string type: string
target-branch:
required: false
type: string
default: ""
jobs: jobs:
run-kata-deploy-tests: run-kata-deploy-tests:
@ -45,6 +49,13 @@ jobs:
- uses: actions/checkout@v3 - uses: actions/checkout@v3
with: with:
ref: ${{ inputs.commit-hash }} ref: ${{ inputs.commit-hash }}
fetch-depth: 0
- name: Rebase atop of the latest target branch
run: |
./tests/git-helper.sh "rebase-atop-of-the-latest-target-branch"
env:
TARGET_BRANCH: ${{ inputs.target-branch }}
- name: Download Azure CLI - name: Download Azure CLI
run: bash tests/functional/kata-deploy/gha-run.sh install-azure-cli run: bash tests/functional/kata-deploy/gha-run.sh install-azure-cli

View File

@ -17,6 +17,10 @@ on:
commit-hash: commit-hash:
required: false required: false
type: string type: string
target-branch:
required: false
type: string
default: ""
jobs: jobs:
run-kata-deploy-tests: run-kata-deploy-tests:
@ -37,6 +41,13 @@ jobs:
- uses: actions/checkout@v3 - uses: actions/checkout@v3
with: with:
ref: ${{ inputs.commit-hash }} ref: ${{ inputs.commit-hash }}
fetch-depth: 0
- name: Rebase atop of the latest target branch
run: |
./tests/git-helper.sh "rebase-atop-of-the-latest-target-branch"
env:
TARGET_BRANCH: ${{ inputs.target-branch }}
- name: Run tests - name: Run tests
run: bash tests/functional/kata-deploy/gha-run.sh run-tests run: bash tests/functional/kata-deploy/gha-run.sh run-tests

View File

@ -8,6 +8,10 @@ on:
commit-hash: commit-hash:
required: false required: false
type: string type: string
target-branch:
required: false
type: string
default: ""
jobs: jobs:
setup-kata: setup-kata:
@ -19,6 +23,13 @@ jobs:
- uses: actions/checkout@v3 - uses: actions/checkout@v3
with: with:
ref: ${{ inputs.commit-hash }} ref: ${{ inputs.commit-hash }}
fetch-depth: 0
- name: Rebase atop of the latest target branch
run: |
./tests/git-helper.sh "rebase-atop-of-the-latest-target-branch"
env:
TARGET_BRANCH: ${{ inputs.target-branch }}
- name: get-kata-tarball - name: get-kata-tarball
uses: actions/download-artifact@v3 uses: actions/download-artifact@v3

View File

@ -8,6 +8,10 @@ on:
commit-hash: commit-hash:
required: false required: false
type: string type: string
target-branch:
required: false
type: string
default: ""
jobs: jobs:
run-nydus: run-nydus:
@ -28,6 +32,13 @@ jobs:
- uses: actions/checkout@v3 - uses: actions/checkout@v3
with: with:
ref: ${{ inputs.commit-hash }} ref: ${{ inputs.commit-hash }}
fetch-depth: 0
- name: Rebase atop of the latest target branch
run: |
./tests/git-helper.sh "rebase-atop-of-the-latest-target-branch"
env:
TARGET_BRANCH: ${{ inputs.target-branch }}
- name: Install dependencies - name: Install dependencies
run: bash tests/integration/nydus/gha-run.sh install-dependencies run: bash tests/integration/nydus/gha-run.sh install-dependencies

View File

@ -8,6 +8,10 @@ on:
commit-hash: commit-hash:
required: false required: false
type: string type: string
target-branch:
required: false
type: string
default: ""
jobs: jobs:
run-vfio: run-vfio:
@ -23,6 +27,13 @@ jobs:
- uses: actions/checkout@v3 - uses: actions/checkout@v3
with: with:
ref: ${{ inputs.commit-hash }} ref: ${{ inputs.commit-hash }}
fetch-depth: 0
- name: Rebase atop of the latest target branch
run: |
./tests/git-helper.sh "rebase-atop-of-the-latest-target-branch"
env:
TARGET_BRANCH: ${{ inputs.target-branch }}
- name: Install dependencies - name: Install dependencies
run: bash tests/functional/vfio/gha-run.sh install-dependencies run: bash tests/functional/vfio/gha-run.sh install-dependencies

37
tests/git-helper.sh Executable file
View File

@ -0,0 +1,37 @@
#!/usr/bin/env bash
#
# Copyright (c) 2023 Intel Corporation
#
# SPDX-License-Identifier: Apache-2.0
#
set -o errexit
set -o nounset
set -o pipefail
function add_kata_bot_info() {
echo "Adding user name and email to the local git repo"
git config user.email "katacontainersbot@gmail.com"
git config user.name "Kata Containers Bot"
}
function rebase_atop_of_the_latest_target_branch() {
if [ -n "${TARGET_BRANCH}" ]; then
echo "Rebasing atop of the latest ${TARGET_BRANCH}"
git rebase origin/${TARGET_BRANCH}
fi
}
function main() {
action="${1:-}"
add_kata_bot_info
case "${action}" in
rebase-atop-of-the-latest-target-branch) rebase_atop_of_the_latest_target_branch;;
*) >&2 echo "Invalid argument"; exit 2 ;;
esac
}
main "$@"