From 66ae6ed3c2d1a207a71bfbba6b92e69915ca6b3f Mon Sep 17 00:00:00 2001 From: Adithya Krishnan Kannan <13063254+AdithyaKrishnan@users.noreply.github.com> Date: Wed, 28 Feb 2024 11:20:40 -0600 Subject: [PATCH] WIP - Jenkins to GHA migration for SEV and SNP The ccruntime-pr.yaml file has been modified and works only for amd specific tests currently. Work adds on to operator pull 295 --- .github/workflows/ccruntime-pr.yaml | 27 +++++----- .github/workflows/ccruntime_e2e_amd_sev.yaml | 54 ++++++++++++++++++++ .github/workflows/ccruntime_e2e_amd_snp.yaml | 54 ++++++++++++++++++++ 3 files changed, 120 insertions(+), 15 deletions(-) create mode 100644 .github/workflows/ccruntime_e2e_amd_sev.yaml create mode 100644 .github/workflows/ccruntime_e2e_amd_snp.yaml diff --git a/.github/workflows/ccruntime-pr.yaml b/.github/workflows/ccruntime-pr.yaml index f1993c20..344afbe2 100644 --- a/.github/workflows/ccruntime-pr.yaml +++ b/.github/workflows/ccruntime-pr.yaml @@ -1,20 +1,17 @@ name: ccruntime e2e test for PR on: - pull_request_target: + push: branches: - 'main' - types: - - opened - - synchronize - - reopened - - labeled - paths-ignore: - - 'docs/**' - +# types: +# - opened +# - synchronize +# - reopened +# - labeled +# paths-ignore: +# - 'docs/**' jobs: - e2e-pr: - if: ${{ contains(github.event.pull_request.labels.*.name, 'ok-to-test') }} - uses: ./.github/workflows/ccruntime_e2e.yaml - with: - target-branch: ${{ github.event.pull_request.base.ref }} - commit-hash: ${{ github.event.pull_request.head.sha }} + e2e-pr-snp: + uses: ./.github/workflows/ccruntime_e2e_amd_snp.yaml + e2e-pr-sev: + uses: ./.github/workflows/ccruntime_e2e_amd_sev.yaml \ No newline at end of file diff --git a/.github/workflows/ccruntime_e2e_amd_sev.yaml b/.github/workflows/ccruntime_e2e_amd_sev.yaml new file mode 100644 index 00000000..8a5c2962 --- /dev/null +++ b/.github/workflows/ccruntime_e2e_amd_sev.yaml @@ -0,0 +1,54 @@ +name: ccruntime e2e tests amd sev +on: + workflow_call: + +permissions: + contents: read + +jobs: + e2e: + name: operator tests + strategy: + fail-fast: false + matrix: + runtimeclass: + - "kata-qemu-sev" + instance: + - "amd-coco-ci-ubuntu2004-001" + exclude: + - runtimeclass: "kata-clh" + instance: "s390x" + runs-on: [self-hosted, sev] + steps: + - name: Take a pre-action for self-hosted runner + run: | + if [ -f ${HOME}/script/pre_action.sh ]; then + ${HOME}/script/pre_action.sh cc-operator + fi + + - uses: actions/checkout@v4 + + - name: Install deps + run: | + sudo apt-get update -y + sudo apt-get install -y ansible python-is-python3 + + - name: Run e2e tests + timeout-minutes: 45 + run: | + cd tests/e2e + export PATH="$PATH:/usr/local/bin" + args="-u" + if [ $RUNNING_INSTANCE = "s390x" ]; then + args="" + fi + ./run-local.sh -r "${{ matrix.runtimeclass }}" "${args}" + env: + RUNNING_INSTANCE: ${{ matrix.instance }} + + - name: Take a post-action + if: always() + run: | + if [ -f ${HOME}/script/post_action.sh ]; then + ${HOME}/script/post_action.sh cc-operator + fi \ No newline at end of file diff --git a/.github/workflows/ccruntime_e2e_amd_snp.yaml b/.github/workflows/ccruntime_e2e_amd_snp.yaml new file mode 100644 index 00000000..3b89ce31 --- /dev/null +++ b/.github/workflows/ccruntime_e2e_amd_snp.yaml @@ -0,0 +1,54 @@ +name: ccruntime e2e tests amd snp +on: + workflow_call: + +permissions: + contents: read + +jobs: + e2e: + name: operator tests + strategy: + fail-fast: false + matrix: + runtimeclass: + - "kata-qemu-snp" + instance: + - "amd-milan-coco-ci-ubuntu2004-001" + exclude: + - runtimeclass: "kata-clh" + instance: "s390x" + runs-on: [self-hosted, snp] + steps: + - name: Take a pre-action for self-hosted runner + run: | + if [ -f ${HOME}/script/pre_action.sh ]; then + ${HOME}/script/pre_action.sh cc-operator + fi + + - uses: actions/checkout@v4 + + - name: Install deps + run: | + sudo apt-get update -y + sudo apt-get install -y ansible python-is-python3 + + - name: Run e2e tests + timeout-minutes: 45 + run: | + cd tests/e2e + export PATH="$PATH:/usr/local/bin" + args="-u" + if [ $RUNNING_INSTANCE = "s390x" ]; then + args="" + fi + ./run-local.sh -r "${{ matrix.runtimeclass }}" "${args}" + env: + RUNNING_INSTANCE: ${{ matrix.instance }} + + - name: Take a post-action + if: always() + run: | + if [ -f ${HOME}/script/post_action.sh ]; then + ${HOME}/script/post_action.sh cc-operator + fi