centos-bootc-dev:stream9 - stream9.20240314.0 - 2024-03-15 #129
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
--- | |
name: OS Replace Test | |
on: | |
issue_comment: | |
types: | |
- created | |
jobs: | |
pr-info: | |
if: ${{ github.event.issue.pull_request && | |
(endsWith(github.event.comment.body, '/test-rhel94') || | |
endsWith(github.event.comment.body, '/test-rhel94-replace') || | |
endsWith(github.event.comment.body, '/test-cs9') || | |
endsWith(github.event.comment.body, '/test-cs9-replace') || | |
endsWith(github.event.comment.body, '/test-cs9-dev') || | |
endsWith(github.event.comment.body, '/test-cs9-dev-replace') || | |
endsWith(github.event.comment.body, '/test-layered-images')) }} | |
runs-on: ubuntu-latest | |
steps: | |
- name: Query author repository permissions | |
uses: octokit/[email protected] | |
id: user_permission | |
with: | |
route: GET /repos/${{ github.repository }}/collaborators/${{ github.event.sender.login }}/permission | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
# restrict running of tests to users with admin or write permission for the repository | |
# see https://docs.github.com/en/free-pro-team@latest/rest/reference/repos#get-repository-permissions-for-a-user | |
- name: Check if user does have correct permissions | |
if: contains('admin write', fromJson(steps.user_permission.outputs.data).permission) | |
id: check_user_perm | |
run: | | |
echo "User '${{ github.event.sender.login }}' has permission '${{ fromJson(steps.user_permission.outputs.data).permission }}' allowed values: 'admin', 'write'" | |
echo "allowed_user=true" >> $GITHUB_OUTPUT | |
- name: Get information for pull request | |
uses: octokit/[email protected] | |
id: pr-api | |
with: | |
route: GET /repos/${{ github.repository }}/pulls/${{ github.event.issue.number }} | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
outputs: | |
allowed_user: ${{ steps.check_user_perm.outputs.allowed_user }} | |
sha: ${{ fromJson(steps.pr-api.outputs.data).head.sha }} | |
ref: ${{ fromJson(steps.pr-api.outputs.data).head.ref }} | |
repo_url: ${{ fromJson(steps.pr-api.outputs.data).head.repo.html_url }} | |
rhel94-replace: | |
needs: pr-info | |
if: ${{ needs.pr-info.outputs.allowed_user == 'true' && github.event.issue.pull_request && | |
(endsWith(github.event.comment.body, '/test-rhel94') || | |
endsWith(github.event.comment.body, '/test-rhel94-replace')) }} | |
continue-on-error: true | |
strategy: | |
matrix: | |
arch: [x86_64] | |
platform: [openstack, gcp, aws, libvirt] | |
include: | |
- arch: 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: RHEL-9.4.0-Nightly | |
api_key: ${{ secrets.TF_API_KEY }} | |
git_url: https://github.com/virt-s1/bootc-workflow-test | |
git_ref: main | |
arch: ${{ matrix.arch }} | |
tmt_context: "arch=${{ matrix.arch }}" | |
update_pull_request_status: true | |
pull_request_status_name: "bootc-rhel94-${{ matrix.arch }}-replace-${{ matrix.platform }}" | |
tmt_plan_regex: "${{ matrix.platform }}" | |
tf_scope: private | |
secrets: "OS_USERNAME=${{ secrets.OS_USERNAME }};OS_PASSWORD=${{ secrets.OS_PASSWORD }};OS_AUTH_URL=${{ secrets.OS_AUTH_URL }};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 }};GCP_SERVICE_ACCOUNT_FILE_B64=${{ secrets.GCP_SERVICE_ACCOUNT_FILE_B64 }};AWS_ACCESS_KEY_ID=${{ secrets.AWS_ACCESS_KEY_ID }};AWS_SECRET_ACCESS_KEY=${{ secrets.AWS_SECRET_ACCESS_KEY }};CERT_URL=${{ secrets.CERT_URL }}" | |
variables: "TEST_OS=rhel-9-4;PLATFORM=${{ matrix.platform }};ARCH=${{ matrix.arch }};OS_PROJECT_NAME=${{ secrets.OS_PROJECT_NAME }};OS_USER_DOMAIN_NAME=${{ secrets.OS_USER_DOMAIN_NAME }};OS_PROJECT_DOMAIN_NAME=${{ secrets.OS_PROJECT_DOMAIN_NAME }};GCP_PROJECT=${{ secrets.GCP_PROJECT }};AWS_REGION=${{ secrets.AWS_REGION }}" | |
cs9-replace: | |
needs: pr-info | |
if: ${{ needs.pr-info.outputs.allowed_user == 'true' && github.event.issue.pull_request && | |
(endsWith(github.event.comment.body, '/test-cs9') || | |
endsWith(github.event.comment.body, '/test-cs9-replace')) }} | |
continue-on-error: true | |
strategy: | |
matrix: | |
arch: [x86_64] | |
platform: [openstack, gcp, aws, libvirt] | |
include: | |
- arch: 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: https://github.com/virt-s1/bootc-workflow-test | |
git_ref: main | |
arch: ${{ matrix.arch }} | |
tmt_context: "arch=${{ matrix.arch }}" | |
update_pull_request_status: true | |
pull_request_status_name: "bootc-cs9-${{ matrix.arch }}-replace-${{ matrix.platform }}" | |
tmt_plan_regex: "${{ matrix.platform }}" | |
tf_scope: private | |
secrets: "OS_USERNAME=${{ secrets.OS_USERNAME }};OS_PASSWORD=${{ secrets.OS_PASSWORD }};OS_AUTH_URL=${{ secrets.OS_AUTH_URL }};QUAY_USERNAME=${{ secrets.QUAY_USERNAME }};QUAY_PASSWORD=${{ secrets.QUAY_PASSWORD }};QUAY_SECRET=${{ secrets.QUAY_SECRET }};GCP_SERVICE_ACCOUNT_FILE_B64=${{ secrets.GCP_SERVICE_ACCOUNT_FILE_B64 }};AWS_ACCESS_KEY_ID=${{ secrets.AWS_ACCESS_KEY_ID }};AWS_SECRET_ACCESS_KEY=${{ secrets.AWS_SECRET_ACCESS_KEY }};CERT_URL=${{ secrets.CERT_URL }}" | |
variables: "TEST_OS=centos-stream-9;PLATFORM=${{ matrix.platform }};ARCH=${{ matrix.arch }};OS_PROJECT_NAME=${{ secrets.OS_PROJECT_NAME }};OS_USER_DOMAIN_NAME=${{ secrets.OS_USER_DOMAIN_NAME }};OS_PROJECT_DOMAIN_NAME=${{ secrets.OS_PROJECT_DOMAIN_NAME }};GCP_PROJECT=${{ secrets.GCP_PROJECT }};AWS_REGION=${{ secrets.AWS_REGION }}" | |
cs9-dev-replace: | |
needs: pr-info | |
if: ${{ needs.pr-info.outputs.allowed_user == 'true' && github.event.issue.pull_request && | |
(endsWith(github.event.comment.body, '/test-cs9-dev') || | |
endsWith(github.event.comment.body, '/test-cs9-dev-replace')) }} | |
continue-on-error: true | |
strategy: | |
matrix: | |
arch: [x86_64] | |
platform: [openstack, gcp, aws, libvirt] | |
include: | |
- arch: 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: https://github.com/virt-s1/bootc-workflow-test | |
git_ref: main | |
arch: ${{ matrix.arch }} | |
tmt_context: "arch=${{ matrix.arch }}" | |
update_pull_request_status: true | |
pull_request_status_name: "bootc-cs9-dev-${{ matrix.arch }}-replace-${{ matrix.platform }}" | |
tmt_plan_regex: "${{ matrix.platform }}" | |
tf_scope: private | |
secrets: "OS_USERNAME=${{ secrets.OS_USERNAME }};OS_PASSWORD=${{ secrets.OS_PASSWORD }};OS_AUTH_URL=${{ secrets.OS_AUTH_URL }};QUAY_USERNAME=${{ secrets.QUAY_USERNAME }};QUAY_PASSWORD=${{ secrets.QUAY_PASSWORD }};QUAY_SECRET=${{ secrets.QUAY_SECRET }};GCP_SERVICE_ACCOUNT_FILE_B64=${{ secrets.GCP_SERVICE_ACCOUNT_FILE_B64 }};AWS_ACCESS_KEY_ID=${{ secrets.AWS_ACCESS_KEY_ID }};AWS_SECRET_ACCESS_KEY=${{ secrets.AWS_SECRET_ACCESS_KEY }};CERT_URL=${{ secrets.CERT_URL }}" | |
variables: "TEST_OS=centos-stream-9;PLATFORM=${{ matrix.platform }};ARCH=${{ matrix.arch }};IMAGE_NAME=centos-bootc-dev;OS_PROJECT_NAME=${{ secrets.OS_PROJECT_NAME }};OS_USER_DOMAIN_NAME=${{ secrets.OS_USER_DOMAIN_NAME }};OS_PROJECT_DOMAIN_NAME=${{ secrets.OS_PROJECT_DOMAIN_NAME }};GCP_PROJECT=${{ secrets.GCP_PROJECT }};AWS_REGION=${{ secrets.AWS_REGION }}" | |
rhel94-layered: | |
needs: pr-info | |
if: ${{ needs.pr-info.outputs.allowed_user == 'true' && github.event.issue.pull_request && | |
endsWith(github.event.comment.body, '/test-layered-images') }} | |
continue-on-error: true | |
strategy: | |
matrix: | |
arch: [x86_64] | |
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: RHEL-9.4.0-Nightly | |
api_key: ${{ secrets.TF_API_KEY }} | |
git_url: https://github.com/virt-s1/bootc-workflow-test | |
git_ref: main | |
arch: ${{ matrix.arch }} | |
tmt_context: "arch=${{ matrix.arch }}" | |
update_pull_request_status: true | |
pull_request_status_name: "bootc-rhel94-${{ matrix.arch }}-replace-${{ matrix.platform }}-layered" | |
tmt_plan_regex: "${{ matrix.platform }}" | |
tf_scope: private | |
secrets: "OS_USERNAME=${{ secrets.OS_USERNAME }};OS_PASSWORD=${{ secrets.OS_PASSWORD }};OS_AUTH_URL=${{ secrets.OS_AUTH_URL }};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 }};GCP_SERVICE_ACCOUNT_FILE_B64=${{ secrets.GCP_SERVICE_ACCOUNT_FILE_B64 }};AWS_ACCESS_KEY_ID=${{ secrets.AWS_ACCESS_KEY_ID }};AWS_SECRET_ACCESS_KEY=${{ secrets.AWS_SECRET_ACCESS_KEY }};CERT_URL=${{ secrets.CERT_URL }}" | |
variables: "TEST_OS=rhel-9-4;PLATFORM=${{ matrix.platform }};ARCH=${{ matrix.arch }};OS_PROJECT_NAME=${{ secrets.OS_PROJECT_NAME }};OS_USER_DOMAIN_NAME=${{ secrets.OS_USER_DOMAIN_NAME }};OS_PROJECT_DOMAIN_NAME=${{ secrets.OS_PROJECT_DOMAIN_NAME }};GCP_PROJECT=${{ secrets.GCP_PROJECT }};AWS_REGION=${{ secrets.AWS_REGION }};LAYERED_IMAGE=nvidia" |