Skip to content

Commit

Permalink
test: some updates on test
Browse files Browse the repository at this point in the history
1. add bootc swtich test
2. add bootc install to-disk test
3. cover more distros, like rhel 9.5, fedora 40 and 41(rawhide)

Signed-off-by: Xiaofeng Wang <[email protected]>
  • Loading branch information
henrywang committed May 24, 2024
1 parent c9ad9af commit be7f345
Show file tree
Hide file tree
Showing 20 changed files with 951 additions and 169 deletions.
52 changes: 14 additions & 38 deletions .github/workflows/integration.yml
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ concurrency:
cancel-in-progress: true

env:
AWS_REGION: us-east-1
AWS_REGION: us-west-2

jobs:
pr-info:
Expand Down Expand Up @@ -57,14 +57,19 @@ jobs:
ref: ${{ fromJson(steps.pr-api.outputs.data).head.ref }}
repo_url: ${{ fromJson(steps.pr-api.outputs.data).head.repo.html_url }}

rhel94-integration:
integration:
needs: pr-info
if: ${{ needs.pr-info.outputs.allowed_user == 'true' && !contains(github.event.pull_request.labels.*.name, 'control/skip-ci') }}
continue-on-error: true
strategy:
matrix:
arch: [x86_64, aarch64]
platform: [aws]
distro: [rhel-9-5, centos-stream-9, fedora-40]
exclude:
- arch: x86_64
distro: centos-stream-9
- arch: aarch64
distro: fedora-40
runs-on: ubuntu-latest

steps:
Expand All @@ -75,46 +80,17 @@ jobs:
fetch-depth: 0

- name: Run the tests
uses: sclorg/testing-farm-as-github-action@v1
uses: sclorg/testing-farm-as-github-action@v2
with:
compose: CentOS-Stream-9
compose: Fedora-40
api_key: ${{ secrets.TF_API_KEY }}
git_url: ${{ needs.pr-info.outputs.repo_url }}
git_ref: ${{ needs.pr-info.outputs.ref }}
arch: ${{ matrix.arch }}
update_pull_request_status: true
pull_request_status_name: "bootc-${{ matrix.distro }}-${{ matrix.arch }}"
tmt_context: "arch=${{ matrix.arch }}"
tmt_plan_regex: "${{ matrix.platform }}"
tmt_plan_regex: "/install-upgrade/"
tf_scope: private
secrets: "QUAY_USERNAME=${{ secrets.QUAY_USERNAME }};QUAY_PASSWORD=${{ secrets.QUAY_PASSWORD }};QUAY_SECRET=${{ secrets.QUAY_SECRET }};RHEL_REGISTRY_URL=${{ secrets.RHEL_REGISTRY_URL }};DOWNLOAD_NODE=${{ secrets.DOWNLOAD_NODE }};AWS_ACCESS_KEY_ID=${{ secrets.AWS_ACCESS_KEY_ID }};AWS_SECRET_ACCESS_KEY=${{ secrets.AWS_SECRET_ACCESS_KEY }}"
variables: "TEST_OS=rhel-9-4;PLATFORM=${{ matrix.platform }};ARCH=${{ matrix.arch }};AWS_REGION=${{ env.AWS_REGION }}"

cs9-dev-integration:
needs: pr-info
if: ${{ needs.pr-info.outputs.allowed_user == 'true' && !contains(github.event.pull_request.labels.*.name, 'control/skip-ci') }}
continue-on-error: true
strategy:
matrix:
arch: [x86_64, aarch64]
platform: [aws]
runs-on: ubuntu-latest

steps:
- name: Clone repository
uses: actions/checkout@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: CentOS-Stream-9
api_key: ${{ secrets.TF_API_KEY }}
git_url: ${{ needs.pr-info.outputs.repo_url }}
git_ref: ${{ needs.pr-info.outputs.ref }}
arch: ${{ matrix.arch }}
tmt_context: "arch=${{ matrix.arch }}"
tmt_plan_regex: "${{ matrix.platform }}"
tf_scope: private
secrets: "QUAY_USERNAME=${{ secrets.QUAY_USERNAME }};QUAY_PASSWORD=${{ secrets.QUAY_PASSWORD }};QUAY_SECRET=${{ secrets.QUAY_SECRET }};AWS_ACCESS_KEY_ID=${{ secrets.AWS_ACCESS_KEY_ID }};AWS_SECRET_ACCESS_KEY=${{ secrets.AWS_SECRET_ACCESS_KEY }}"
variables: "TEST_OS=centos-stream-9;PLATFORM=${{ matrix.platform }};ARCH=${{ matrix.arch }};AWS_REGION=${{ env.AWS_REGION }}"
variables: "TEST_OS=${{ matrix.distro }};ARCH=${{ matrix.arch }};AWS_REGION=${{ env.AWS_REGION }}"
74 changes: 71 additions & 3 deletions plans/install-upgrade.fmf
Original file line number Diff line number Diff line change
Expand Up @@ -5,11 +5,9 @@ prepare:
- how: install
package:
- ansible-core
- gcc
- podman
- skopeo
- jq
- python3-devel
- unzip
- how: shell
script: ansible-galaxy collection install https://ansible-collection.s3.amazonaws.com/ansible-posix-1.5.4.tar.gz https://ansible-collection.s3.amazonaws.com/community-general-8.5.0.tar.gz
Expand All @@ -18,7 +16,6 @@ execute:

/aws:
summary: Run bootc install and upgrade test on aws
tag: aws
environment+:
PLATFORM: aws
discover+:
Expand All @@ -31,3 +28,74 @@ execute:
prepare+:
- how: shell
script: curl "https://awscli.amazonaws.com/awscli-exe-linux-$(uname -m).zip" -o "awscliv2.zip" && unzip awscliv2.zip && sudo ./aws/install

/libvirt:
summary: Run bootc install and upgrade test locally (nested)
environment+:
PLATFORM: libvirt
AIR_GAPPED: 1
discover+:
test:
- /rpm-build
- /bootc-install-upgrade
prepare+:
- how: shell
script: |
source /etc/os-release
if [[ "$ID" == "rhel" ]] || [[ "$ID" == "centos" ]]; then
# EPEL for genisoimage
dnf install -y https://dl.fedoraproject.org/pub/epel/epel-release-latest-9.noarch.rpm
fi
- how: install
package:
- qemu-kvm
- libvirt
- virt-install
- genisoimage
adjust+:
- when: arch == ppc64le
enabled: false
- when: arch == x86_64 or arch == aarch64
provision+:
hardware:
cpu:
processors: ">= 2"
memory: ">= 6 GB"
virtualization:
is-supported: true

/to-disk:
summary: Use bootc install to-disk to generate raw image and test locally (nested)
environment+:
PLATFORM: libvirt
IMAGE_TYPE: to-disk
discover+:
test:
- /rpm-build
- /image-install-upgrade
prepare+:
- how: shell
script: |
source /etc/os-release
if [[ "$ID" == "rhel" ]] || [[ "$ID" == "centos" ]]; then
# EPEL for genisoimage
dnf install -y https://dl.fedoraproject.org/pub/epel/epel-release-latest-9.noarch.rpm
fi
- how: install
package:
- qemu-img
- qemu-kvm
- libvirt
- virt-install
- genisoimage
adjust+:
- when: arch == ppc64le
enabled: false
- when: arch == x86_64 or arch == aarch64
provision+:
hardware:
cpu:
processors: ">= 2"
memory: ">= 6 GB"
virtualization:
is-supported: true
Loading

0 comments on commit be7f345

Please sign in to comment.