From c2d40cd496f8ac63180a1018be9e8b90e76bc6df Mon Sep 17 00:00:00 2001 From: Yi He Date: Tue, 2 Apr 2024 20:43:33 +0800 Subject: [PATCH] edge --- .github/workflows/rhel-9-4.yaml | 373 +++++++++++++++++++++- tmt/plans/edge-all.fmf | 21 -- tmt/plans/edge-test.fmf | 70 ++++ tmt/tests/{edge-all.fmf => edge-test.fmf} | 3 +- tmt/tests/test.sh | 20 ++ 5 files changed, 456 insertions(+), 31 deletions(-) delete mode 100644 tmt/plans/edge-all.fmf create mode 100644 tmt/plans/edge-test.fmf rename tmt/tests/{edge-all.fmf => edge-test.fmf} (50%) diff --git a/.github/workflows/rhel-9-4.yaml b/.github/workflows/rhel-9-4.yaml index 48aeb75..b4fcc8c 100644 --- a/.github/workflows/rhel-9-4.yaml +++ b/.github/workflows/rhel-9-4.yaml @@ -11,7 +11,19 @@ jobs: if: ${{ github.event.issue.pull_request && (endsWith(github.event.comment.body, '/test-rhel-9-4') || endsWith(github.event.comment.body, '/test-rhel-9-4-commit') || - endsWith(github.event.comment.body, '/test-rhel-9-4-raw')) }} + endsWith(github.event.comment.body, '/test-rhel-9-4-installer') || + endsWith(github.event.comment.body, '/test-rhel-9-4-raw') || + endsWith(github.event.comment.body, '/test-rhel-9-4-ami') || + endsWith(github.event.comment.body, '/test-rhel-9-4-arm-ami') || + endsWith(github.event.comment.body, '/test-rhel-9-4-simplified') || + endsWith(github.event.comment.body, '/test-rhel-9-4-minimal') || + endsWith(github.event.comment.body, '/test-rhel-9-4-arm-minimal') || + endsWith(github.event.comment.body, '/test-rhel-9-4-vsphere') || + endsWith(github.event.comment.body, '/test-rhel-9-4-fdo-aio') || + endsWith(github.event.comment.body, '/test-rhel-9-4-ignition') || + endsWith(github.event.comment.body, '/test-rhel-9-4-pulp') || + endsWith(github.event.comment.body, '/test-rhel-9-4-8to9') || + endsWith(github.event.comment.body, '/test-rhel-9-4-9to9')) }} runs-on: ubuntu-latest steps: - name: Query author repository permissions @@ -66,12 +78,40 @@ jobs: api_key: ${{ secrets.TF_API_KEY }} git_url: ${{ needs.pr-info.outputs.repo_url }} git_ref: ${{ needs.pr-info.outputs.ref }} - # tmt_context: "arch=x86_64" update_pull_request_status: true - pull_request_status_name: "edge-commit-94" + pull_request_status_name: "edge-commit-9.4" tf_scope: private tmt_plan_regex: edge-commit - variables: "DOWNLOAD_NODE=download-node-02.eng.bos.redhat.com" + secrets: "DOWNLOAD_NODE=${{ secrets.DOWNLOAD_NODE }}" + + edge-installer: + needs: pr-info + if: ${{ needs.pr-info.outputs.allowed_user == 'true' && github.event.issue.pull_request && + (endsWith(github.event.comment.body, '/test-rhel-9-4') || + endsWith(github.event.comment.body, '/test-rhel-9-4-installer')) }} + continue-on-error: true + runs-on: ubuntu-latest + + steps: + - name: Clone repository + uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4 + with: + ref: ${{ needs.pr-info.outputs.sha }} + fetch-depth: 0 + + - name: Run the tests + uses: sclorg/testing-farm-as-github-action@v1 + with: + compose: RHEL-9.4.0-Nightly + arch: x86_64 + api_key: ${{ secrets.TF_API_KEY }} + git_url: ${{ needs.pr-info.outputs.repo_url }} + git_ref: ${{ needs.pr-info.outputs.ref }} + update_pull_request_status: true + pull_request_status_name: "edge-installer-9.4" + tf_scope: private + tmt_plan_regex: edge-installer + secrets: "DOWNLOAD_NODE=${{ secrets.DOWNLOAD_NODE }};OCP4_TOKEN=${{ secrets.OCP4_TOKEN }};QUAY_USERNAME=${{ secrets.QUAY_USERNAME }};QUAY_PASSWORD=${{ secrets.QUAY_PASSWORD }}" edge-raw-94: needs: pr-info @@ -96,10 +136,327 @@ jobs: api_key: ${{ secrets.TF_API_KEY }} git_url: ${{ needs.pr-info.outputs.repo_url }} git_ref: ${{ needs.pr-info.outputs.ref }} - # tmt_context: "arch=x86_64" update_pull_request_status: true - pull_request_status_name: "edge-raw-image-94" + pull_request_status_name: "edge-raw-image-9.4" tf_scope: private tmt_plan_regex: edge-raw-image - variables: "DOWNLOAD_NODE=download-node-02.eng.bos.redhat.com" - secrets: "DOCKERHUB_USERNAME=${{ secrets.DOCKERHUB_USERNAME }};DOCKERHUB_PASSWORD=${{ secrets.DOCKERHUB_PASSWORD }}" \ No newline at end of file + secrets: "DOWNLOAD_NODE=${{ secrets.DOWNLOAD_NODE }};DOCKERHUB_USERNAME=${{ secrets.DOCKERHUB_USERNAME }};DOCKERHUB_PASSWORD=${{ secrets.DOCKERHUB_PASSWORD }}" + + edge-ami-94: + needs: pr-info + if: ${{ needs.pr-info.outputs.allowed_user == 'true' && github.event.issue.pull_request && + (endsWith(github.event.comment.body, '/test-rhel-9-4') || + endsWith(github.event.comment.body, '/test-rhel-9-4-ami')) }} + continue-on-error: true + runs-on: ubuntu-latest + + steps: + - name: Clone repository + uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4 + with: + ref: ${{ needs.pr-info.outputs.sha }} + fetch-depth: 0 + + - name: Run the tests + uses: sclorg/testing-farm-as-github-action@v1 + with: + compose: RHEL-9.4.0-Nightly + arch: x86_64 + api_key: ${{ secrets.TF_API_KEY }} + git_url: ${{ needs.pr-info.outputs.repo_url }} + git_ref: ${{ needs.pr-info.outputs.ref }} + update_pull_request_status: true + pull_request_status_name: "edge-ami-9.4" + tf_scope: private + tmt_plan_regex: edge-ami-image + secrets: "DOWNLOAD_NODE=${{ secrets.DOWNLOAD_NODE }};AWS_ACCESS_KEY_ID=${{ secrets.AWS_ACCESS_KEY_ID }};AWS_SECRET_ACCESS_KEY=${{ secrets.AWS_SECRET_ACCESS_KEY }};AWS_DEFAULT_REGION=us-east-1" + + edge-arm-ami-94: + needs: pr-info + if: ${{ needs.pr-info.outputs.allowed_user == 'true' && github.event.issue.pull_request && + (endsWith(github.event.comment.body, '/test-rhel-9-4') || + endsWith(github.event.comment.body, '/test-rhel-9-4-arm-ami')) }} + continue-on-error: true + runs-on: ubuntu-latest + + steps: + - name: Clone repository + uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4 + with: + ref: ${{ needs.pr-info.outputs.sha }} + fetch-depth: 0 + + - name: Run the tests + uses: sclorg/testing-farm-as-github-action@v1 + with: + compose: RHEL-9.4.0-Nightly + arch: aarch64 + api_key: ${{ secrets.TF_API_KEY }} + git_url: ${{ needs.pr-info.outputs.repo_url }} + git_ref: ${{ needs.pr-info.outputs.ref }} + update_pull_request_status: true + pull_request_status_name: "edge-arm-ami-9.4" + tf_scope: private + tmt_plan_regex: edge-ami-image + secrets: "DOWNLOAD_NODE=${{ secrets.DOWNLOAD_NODE }};AWS_ACCESS_KEY_ID=${{ secrets.AWS_ACCESS_KEY_ID }};AWS_SECRET_ACCESS_KEY=${{ secrets.AWS_SECRET_ACCESS_KEY }};AWS_DEFAULT_REGION=us-east-1" + + edge-simplified-94: + needs: pr-info + if: ${{ needs.pr-info.outputs.allowed_user == 'true' && github.event.issue.pull_request && + (endsWith(github.event.comment.body, '/test-rhel-9-4') || + endsWith(github.event.comment.body, '/test-rhel-9-4-simplified')) }} + continue-on-error: true + runs-on: ubuntu-latest + + steps: + - name: Clone repository + uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4 + with: + ref: ${{ needs.pr-info.outputs.sha }} + fetch-depth: 0 + + - name: Run the tests + uses: sclorg/testing-farm-as-github-action@v1 + with: + compose: RHEL-9.4.0-Nightly + arch: x86_64 + api_key: ${{ secrets.TF_API_KEY }} + git_url: ${{ needs.pr-info.outputs.repo_url }} + git_ref: ${{ needs.pr-info.outputs.ref }} + update_pull_request_status: true + pull_request_status_name: "edge-simplified-9.4" + tf_scope: private + tmt_plan_regex: edge-simplified-installer + secrets: "DOWNLOAD_NODE=${{ secrets.DOWNLOAD_NODE }}" + + edge-minimal-94: + needs: pr-info + if: ${{ needs.pr-info.outputs.allowed_user == 'true' && github.event.issue.pull_request && + (endsWith(github.event.comment.body, '/test-rhel-9-4') || + endsWith(github.event.comment.body, '/test-rhel-9-4-minimal')) }} + continue-on-error: true + runs-on: ubuntu-latest + + steps: + - name: Clone repository + uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4 + with: + ref: ${{ needs.pr-info.outputs.sha }} + fetch-depth: 0 + + - name: Run the tests + uses: sclorg/testing-farm-as-github-action@v1 + with: + compose: RHEL-9.4.0-Nightly + arch: x86_64 + api_key: ${{ secrets.TF_API_KEY }} + git_url: ${{ needs.pr-info.outputs.repo_url }} + git_ref: ${{ needs.pr-info.outputs.ref }} + update_pull_request_status: true + pull_request_status_name: "edge-minimal-9.4" + tf_scope: private + tmt_plan_regex: edge-minimal + secrets: "DOWNLOAD_NODE=${{ secrets.DOWNLOAD_NODE }}" + + edge-arm-minimal-94: + needs: pr-info + if: ${{ needs.pr-info.outputs.allowed_user == 'true' && github.event.issue.pull_request && + (endsWith(github.event.comment.body, '/test-rhel-9-4') || + endsWith(github.event.comment.body, '/test-rhel-9-4-arm-minimal')) }} + continue-on-error: true + runs-on: ubuntu-latest + + steps: + - name: Clone repository + uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4 + with: + ref: ${{ needs.pr-info.outputs.sha }} + fetch-depth: 0 + + - name: Run the tests + uses: sclorg/testing-farm-as-github-action@v1 + with: + compose: RHEL-9.4.0-Nightly + arch: aarch64 + api_key: ${{ secrets.TF_API_KEY }} + git_url: ${{ needs.pr-info.outputs.repo_url }} + git_ref: ${{ needs.pr-info.outputs.ref }} + update_pull_request_status: true + pull_request_status_name: "edge-arm-minimal-9.4" + tf_scope: private + tmt_plan_regex: edge-minimal + secrets: "DOWNLOAD_NODE=${{ secrets.DOWNLOAD_NODE }}" + + edge-vsphere-94: + needs: pr-info + if: ${{ needs.pr-info.outputs.allowed_user == 'true' && github.event.issue.pull_request && + (endsWith(github.event.comment.body, '/test-rhel-9-4') || + endsWith(github.event.comment.body, '/test-rhel-9-4-vsphere')) }} + continue-on-error: true + runs-on: ubuntu-latest + + steps: + - name: Clone repository + uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4 + with: + ref: ${{ needs.pr-info.outputs.sha }} + fetch-depth: 0 + + - name: Run the tests + uses: sclorg/testing-farm-as-github-action@v1 + with: + compose: RHEL-9.4.0-Nightly + arch: x86_64 + api_key: ${{ secrets.TF_API_KEY }} + git_url: ${{ needs.pr-info.outputs.repo_url }} + git_ref: ${{ needs.pr-info.outputs.ref }} + update_pull_request_status: true + pull_request_status_name: "edge-vsphere-9.4" + tf_scope: private + tmt_plan_regex: edge-vsphere + secrets: "DOWNLOAD_NODE=${{ secrets.DOWNLOAD_NODE }};GOVC_URL=${{ secrets.GOVC_URL }};GOVC_USERNAME=${{ secrets.GOVC_USERNAME }};GOVC_PASSWORD=${{ secrets.GOVC_PASSWORD }};GOVC_INSECURE=1" + + edge-fdo-aio-94: + needs: pr-info + if: ${{ needs.pr-info.outputs.allowed_user == 'true' && github.event.issue.pull_request && + (endsWith(github.event.comment.body, '/test-rhel-9-4') || + endsWith(github.event.comment.body, '/test-rhel-9-4-fdo-aio')) }} + continue-on-error: true + runs-on: ubuntu-latest + + steps: + - name: Clone repository + uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4 + with: + ref: ${{ needs.pr-info.outputs.sha }} + fetch-depth: 0 + + - name: Run the tests + uses: sclorg/testing-farm-as-github-action@v1 + with: + compose: RHEL-9.4.0-Nightly + arch: x86_64 + api_key: ${{ secrets.TF_API_KEY }} + git_url: ${{ needs.pr-info.outputs.repo_url }} + git_ref: ${{ needs.pr-info.outputs.ref }} + update_pull_request_status: true + pull_request_status_name: "edge-fdo-aio-9.4" + tf_scope: private + tmt_plan_regex: edge-fdo-aio + secrets: "DOWNLOAD_NODE=${{ secrets.DOWNLOAD_NODE }}" + + edge-ignition-94: + needs: pr-info + if: ${{ needs.pr-info.outputs.allowed_user == 'true' && github.event.issue.pull_request && + (endsWith(github.event.comment.body, '/test-rhel-9-4') || + endsWith(github.event.comment.body, '/test-rhel-9-4-ignition')) }} + continue-on-error: true + runs-on: ubuntu-latest + + steps: + - name: Clone repository + uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4 + with: + ref: ${{ needs.pr-info.outputs.sha }} + fetch-depth: 0 + + - name: Run the tests + uses: sclorg/testing-farm-as-github-action@v1 + with: + compose: RHEL-9.4.0-Nightly + arch: x86_64 + api_key: ${{ secrets.TF_API_KEY }} + git_url: ${{ needs.pr-info.outputs.repo_url }} + git_ref: ${{ needs.pr-info.outputs.ref }} + update_pull_request_status: true + pull_request_status_name: "edge-ignition-9.4" + tf_scope: private + tmt_plan_regex: edge-ignition + secrets: "DOWNLOAD_NODE=${{ secrets.DOWNLOAD_NODE }}" + + edge-pulp-94: + needs: pr-info + if: ${{ needs.pr-info.outputs.allowed_user == 'true' && github.event.issue.pull_request && + (endsWith(github.event.comment.body, '/test-rhel-9-4') || + endsWith(github.event.comment.body, '/test-rhel-9-4-pulp')) }} + continue-on-error: true + runs-on: ubuntu-latest + + steps: + - name: Clone repository + uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4 + with: + ref: ${{ needs.pr-info.outputs.sha }} + fetch-depth: 0 + + - name: Run the tests + uses: sclorg/testing-farm-as-github-action@v1 + with: + compose: RHEL-9.4.0-Nightly + arch: x86_64 + api_key: ${{ secrets.TF_API_KEY }} + git_url: ${{ needs.pr-info.outputs.repo_url }} + git_ref: ${{ needs.pr-info.outputs.ref }} + update_pull_request_status: true + pull_request_status_name: "edge-pulp-9.4" + tf_scope: private + tmt_plan_regex: edge-pulp + secrets: "DOWNLOAD_NODE=${{ secrets.DOWNLOAD_NODE }}" + + edge-8to9-94: + needs: pr-info + if: ${{ needs.pr-info.outputs.allowed_user == 'true' && github.event.issue.pull_request && + (endsWith(github.event.comment.body, '/test-rhel-9-4') || + endsWith(github.event.comment.body, '/test-rhel-9-4-8to9')) }} + continue-on-error: true + runs-on: ubuntu-latest + + steps: + - name: Clone repository + uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4 + with: + ref: ${{ needs.pr-info.outputs.sha }} + fetch-depth: 0 + + - name: Run the tests + uses: sclorg/testing-farm-as-github-action@v1 + with: + compose: RHEL-9.4.0-Nightly + arch: x86_64 + api_key: ${{ secrets.TF_API_KEY }} + git_url: ${{ needs.pr-info.outputs.repo_url }} + git_ref: ${{ needs.pr-info.outputs.ref }} + update_pull_request_status: true + pull_request_status_name: "edge-8to9-9.4" + tf_scope: private + tmt_plan_regex: edge-8to9 + secrets: "DOWNLOAD_NODE=${{ secrets.DOWNLOAD_NODE }}" + + edge-9to9-94: + needs: pr-info + if: ${{ needs.pr-info.outputs.allowed_user == 'true' && github.event.issue.pull_request && + (endsWith(github.event.comment.body, '/test-rhel-9-4') || + endsWith(github.event.comment.body, '/test-rhel-9-4-9to9')) }} + continue-on-error: true + runs-on: ubuntu-latest + + steps: + - name: Clone repository + uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4 + with: + ref: ${{ needs.pr-info.outputs.sha }} + fetch-depth: 0 + + - name: Run the tests + uses: sclorg/testing-farm-as-github-action@v1 + with: + compose: RHEL-9.4.0-Nightly + arch: x86_64 + api_key: ${{ secrets.TF_API_KEY }} + git_url: ${{ needs.pr-info.outputs.repo_url }} + git_ref: ${{ needs.pr-info.outputs.ref }} + update_pull_request_status: true + pull_request_status_name: "edge-9to9-9.4" + tf_scope: private + tmt_plan_regex: edge-9to9 + secrets: "DOWNLOAD_NODE=${{ secrets.DOWNLOAD_NODE }}" diff --git a/tmt/plans/edge-all.fmf b/tmt/plans/edge-all.fmf deleted file mode 100644 index b5011f5..0000000 --- a/tmt/plans/edge-all.fmf +++ /dev/null @@ -1,21 +0,0 @@ -summary: Edge commit test -discover: - how: fmf - test: edge-all -execute: - how: tmt -adjust: - provision: - hardware: - virtualization: - is-supported: true - -/edge-commit: - summary: Test edge commit - environment+: - TEST_CASE: edge-commit - -/edge-raw-image: - summary: Test edge raw image - environment+: - TEST_CASE: edge-raw-image diff --git a/tmt/plans/edge-test.fmf b/tmt/plans/edge-test.fmf new file mode 100644 index 0000000..e71d4f6 --- /dev/null +++ b/tmt/plans/edge-test.fmf @@ -0,0 +1,70 @@ +summary: Edge commit test +discover: + how: fmf + test: edge-test +execute: + how: tmt +provision: + hardware: + virtualization: + is-supported: true + +/edge-commit: + summary: Test edge commit + environment+: + TEST_CASE: edge-commit + +/edge-installer: + summary: Test edge installer image + environment+: + TEST_CASE: edge-installer + +/edge-raw-image: + summary: Test edge raw image + environment+: + TEST_CASE: edge-raw-image + +/edge-ami-image: + summary: Test edge ami image + environment+: + TEST_CASE: edge-ami-image + +/edge-simplified-installer: + summary: Test edge simplified installer image + environment+: + TEST_CASE: edge-simplified-installer + +/edge-minimal: + summary: Test edge minimal raw image + environment+: + TEST_CASE: edge-minimal + +/edge-vsphere: + summary: Test edge vsphere image + environment+: + TEST_CASE: edge-vsphere + +/edge-fdo-aio: + summary: Test edge with fdo aio service + environment+: + TEST_CASE: edge-fdo-aio + +/edge-ignition: + summary: Test edge ignition feature + environment+: + TEST_CASE: edge-ignition + +/edge-pulp: + summary: Test edge pulp feature + environment+: + TEST_CASE: edge-pulp + +/edge-8to9: + summary: Test edge upgrade from 8 to 9 + environment+: + TEST_CASE: edge-8to9 + +/edge-9to9: + summary: Test edge rebase from 9 to 9 + environment+: + TEST_CASE: edge-9to9 diff --git a/tmt/tests/edge-all.fmf b/tmt/tests/edge-test.fmf similarity index 50% rename from tmt/tests/edge-all.fmf rename to tmt/tests/edge-test.fmf index 6f4598a..48ef4ca 100644 --- a/tmt/tests/edge-all.fmf +++ b/tmt/tests/edge-test.fmf @@ -1,3 +1,2 @@ test: ./test.sh -duration: 120m - +duration: 150m diff --git a/tmt/tests/test.sh b/tmt/tests/test.sh index a4a96c2..d5dea86 100755 --- a/tmt/tests/test.sh +++ b/tmt/tests/test.sh @@ -5,8 +5,28 @@ cd ../../ || exit 1 function run_tests() { if [ "$TEST_CASE" = "edge-commit" ]; then ./ostree.sh + elif [ "$TEST_CASE" = "edge-installer" ]; then + ./ostree-installer.sh elif [ "$TEST_CASE" = "edge-raw-image" ]; then ./ostree-raw-image.sh + elif [ "$TEST_CASE" = "edge-ami-image" ]; then + ./ostree-ami-image.sh + elif [ "$TEST_CASE" = "edge-simplified-installer" ]; then + ./ostree-simplified-installer.sh + elif [ "$TEST_CASE" = "edge-vsphere" ]; then + ./ostree-vsphere.sh + elif [ "$TEST_CASE" = "edge-fdo-aio" ]; then + ./ostree-fdo-aio.sh + elif [ "$TEST_CASE" = "edge-ignition" ]; then + ./ostree-ignition.sh + elif [ "$TEST_CASE" = "edge-pulp" ]; then + ./ostree-pulp.sh + elif [ "$TEST_CASE" = "edge-minimal" ]; then + ./minimal-raw.sh + elif [ "$TEST_CASE" = "edge-8to9" ]; then + ./ostree-8-to-9.sh + elif [ "$TEST_CASE" = "edge-9to9" ]; then + ./ostree-9-to-9.sh else echo "Error: Test case $TEST_CASE not found!" exit 1