centos-bootc:stream9 - stream9.20240206.0 - 2024-02-06 #14
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: centos-bootc:stream9 Test | |
on: | |
issue_comment: | |
types: | |
- created | |
jobs: | |
pr-info: | |
if: ${{ github.event.issue.pull_request && | |
(endsWith(github.event.comment.body, '/test-cs9') || | |
endsWith(github.event.comment.body, '/test-cs9-x86') || | |
endsWith(github.event.comment.body, '/test-cs9-x86-openstack-replace') || | |
endsWith(github.event.comment.body, '/test-cs9-x86-gcp-replace') || | |
endsWith(github.event.comment.body, '/test-cs9-x86-aws-replace') || | |
endsWith(github.event.comment.body, '/test-cs9-x86-libvirt-replace') || | |
endsWith(github.event.comment.body, '/test-cs9-x86-anaconda')) }} | |
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 }} | |
cs9-x86-openstack-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-x86') || | |
endsWith(github.event.comment.body, '/test-cs9-x86-openstack-replace')) }} | |
runs-on: ubuntu-latest | |
container: quay.io/testing-farm/cli:latest | |
env: | |
STATUS_NAME: cs9-x86-openstack-replace | |
steps: | |
- name: Get Current Job Log URL | |
id: job-log-url | |
run: | | |
apk add curl jq | |
JOB_HTML_URL=$(curl --get -Ss -H "Authorization: token ${GITHUB_TOKEN}" -H "Accept: application/vnd.github.v3+json" "https://api.github.com/repos/virt-s1/bootc-workflow-report/actions/runs/${GITHUB_RUN_ID}/jobs?per_page=30" | jq -r --arg job_name "cs9-x86-openstack-replace" '.jobs | map(select(.name == "cs9-x86-openstack-replace")) | .[0].html_url') | |
echo "html_url=$JOB_HTML_URL" >> $GITHUB_OUTPUT | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
- name: Create in-progress status | |
uses: octokit/[email protected] | |
with: | |
route: 'POST /repos/virt-s1/bootc-workflow-report/statuses/${{ needs.pr-info.outputs.sha }}' | |
context: ${{ env.STATUS_NAME }} | |
state: pending | |
description: 'Testing Farm is running test...' | |
target_url: ${{ steps.job-log-url.outputs.html_url }} | |
env: | |
GITHUB_TOKEN: ${{ secrets.PAT }} | |
- name: Clone repository | |
uses: actions/checkout@v4 | |
with: | |
repository: virt-s1/bootc-workflow-test | |
ref: main | |
fetch-depth: 0 | |
- name: Run the tests | |
run: | | |
testing-farm request \ | |
--plan "$PLATFORM" \ | |
--environment TEST_OS="$TEST_OS" \ | |
--secret QUAY_USERNAME="$QUAY_USERNAME" \ | |
--secret QUAY_PASSWORD="$QUAY_PASSWORD" \ | |
--secret OS_USERNAME="$OS_USERNAME" \ | |
--secret OS_PASSWORD="$OS_PASSWORD" \ | |
--secret OS_AUTH_URL="$OS_AUTH_URL" \ | |
--secret OS_PROJECT_NAME="$OS_PROJECT_NAME" \ | |
--secret OS_USER_DOMAIN_NAME="$OS_USER_DOMAIN_NAME" \ | |
--secret OS_PROJECT_DOMAIN_NAME="$OS_PROJECT_DOMAIN_NAME" \ | |
--git-url "$GIT_URL" \ | |
--git-ref "$GIT_REF" \ | |
--compose CentOS-Stream-9 \ | |
--arch "$ARCH" \ | |
--context "arch=${ARCH}" \ | |
--timeout "$TIMEOUT" | |
env: | |
GIT_URL: https://github.com/virt-s1/bootc-workflow-test | |
GIT_REF: main | |
OS_USERNAME: ${{ secrets.OS_USERNAME }} | |
OS_PASSWORD: ${{ secrets.OS_PASSWORD }} | |
OS_AUTH_URL: ${{ secrets.OS_AUTH_URL }} | |
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 }} | |
QUAY_USERNAME: ${{ secrets.QUAY_USERNAME }} | |
QUAY_PASSWORD: ${{ secrets.QUAY_PASSWORD }} | |
TESTING_FARM_API_TOKEN: ${{ secrets.TF_API_KEY }} | |
TEST_OS: centos-stream-9 | |
ARCH: x86_64 | |
PLATFORM: openstack | |
TIMEOUT: 30 | |
- name: Set non cancelled result status | |
if: ${{ !cancelled() }} | |
uses: octokit/[email protected] | |
with: | |
route: 'POST /repos/virt-s1/bootc-workflow-report/statuses/${{ needs.pr-info.outputs.sha }}' | |
context: ${{ env.STATUS_NAME }} | |
state: ${{ job.status }} | |
description: 'Testing Farm got ${{ job.status }}' | |
target_url: ${{ steps.job-log-url.outputs.html_url }} | |
env: | |
GITHUB_TOKEN: ${{ secrets.PAT }} | |
- name: Set cancelled result status | |
if: ${{ cancelled() }} | |
uses: octokit/[email protected] | |
with: | |
route: 'POST /repos/virt-s1/bootc-workflow-report/statuses/${{ needs.pr-info.outputs.sha }}' | |
context: ${{ env.STATUS_NAME }} | |
state: error | |
description: 'Testing Farm got error' | |
target_url: ${{ steps.job-log-url.outputs.html_url }} | |
env: | |
GITHUB_TOKEN: ${{ secrets.PAT }} | |
cs9-x86-gcp-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-x86') || | |
endsWith(github.event.comment.body, '/test-cs9-x86-gcp-replace')) }} | |
runs-on: ubuntu-latest | |
container: quay.io/testing-farm/cli:latest | |
env: | |
STATUS_NAME: cs9-x86-gcp-replace | |
steps: | |
- name: Get Current Job Log URL | |
id: job-log-url | |
run: | | |
apk add curl jq | |
JOB_HTML_URL=$(curl --get -Ss -H "Authorization: token ${GITHUB_TOKEN}" -H "Accept: application/vnd.github.v3+json" "https://api.github.com/repos/virt-s1/bootc-workflow-report/actions/runs/${GITHUB_RUN_ID}/jobs?per_page=30" | jq -r --arg job_name "cs9-x86-gcp-replace" '.jobs | map(select(.name == "cs9-x86-gcp-replace")) | .[0].html_url') | |
echo "html_url=$JOB_HTML_URL" >> $GITHUB_OUTPUT | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
- name: Create in-progress status | |
uses: octokit/[email protected] | |
with: | |
route: 'POST /repos/virt-s1/bootc-workflow-report/statuses/${{ needs.pr-info.outputs.sha }}' | |
context: ${{ env.STATUS_NAME }} | |
state: pending | |
description: 'Testing Farm is running test...' | |
target_url: ${{ steps.job-log-url.outputs.html_url }} | |
env: | |
GITHUB_TOKEN: ${{ secrets.PAT }} | |
- name: Clone repository | |
uses: actions/checkout@v4 | |
with: | |
repository: virt-s1/bootc-workflow-test | |
ref: main | |
fetch-depth: 0 | |
- name: Run the tests | |
run: | | |
testing-farm request \ | |
--plan "$PLATFORM" \ | |
--environment TEST_OS="$TEST_OS" \ | |
--secret QUAY_USERNAME="$QUAY_USERNAME" \ | |
--secret QUAY_PASSWORD="$QUAY_PASSWORD" \ | |
--secret GCP_PROJECT="$GCP_PROJECT" \ | |
--secret GCP_SERVICE_ACCOUNT_NAME="$GCP_SERVICE_ACCOUNT_NAME" \ | |
--secret GCP_SERVICE_ACCOUNT_FILE_B64="$GCP_SERVICE_ACCOUNT_FILE_B64" \ | |
--git-url "$GIT_URL" \ | |
--git-ref "$GIT_REF" \ | |
--compose CentOS-Stream-9 \ | |
--arch "$ARCH" \ | |
--context "arch=${ARCH}" \ | |
--timeout "$TIMEOUT" | |
env: | |
GIT_URL: https://github.com/virt-s1/bootc-workflow-test | |
GIT_REF: main | |
GCP_PROJECT: ${{ secrets.GCP_PROJECT }} | |
GCP_SERVICE_ACCOUNT_NAME: ${{ secrets.GCP_SERVICE_ACCOUNT_NAME }} | |
GCP_SERVICE_ACCOUNT_FILE_B64: ${{ secrets.GCP_SERVICE_ACCOUNT_FILE_B64 }} | |
QUAY_USERNAME: ${{ secrets.QUAY_USERNAME }} | |
QUAY_PASSWORD: ${{ secrets.QUAY_PASSWORD }} | |
TESTING_FARM_API_TOKEN: ${{ secrets.TF_API_KEY }} | |
TEST_OS: centos-stream-9 | |
ARCH: x86_64 | |
PLATFORM: gcp | |
TIMEOUT: 30 | |
- name: Set non cancelled result status | |
if: ${{ !cancelled() }} | |
uses: octokit/[email protected] | |
with: | |
route: 'POST /repos/virt-s1/bootc-workflow-report/statuses/${{ needs.pr-info.outputs.sha }}' | |
context: ${{ env.STATUS_NAME }} | |
state: ${{ job.status }} | |
description: 'Testing Farm got ${{ job.status }}' | |
target_url: ${{ steps.job-log-url.outputs.html_url }} | |
env: | |
GITHUB_TOKEN: ${{ secrets.PAT }} | |
- name: Set cancelled result status | |
if: ${{ cancelled() }} | |
uses: octokit/[email protected] | |
with: | |
route: 'POST /repos/virt-s1/bootc-workflow-report/statuses/${{ needs.pr-info.outputs.sha }}' | |
context: ${{ env.STATUS_NAME }} | |
state: error | |
description: 'Testing Farm got error' | |
target_url: ${{ steps.job-log-url.outputs.html_url }} | |
env: | |
GITHUB_TOKEN: ${{ secrets.PAT }} | |
cs9-x86-aws-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-x86') || | |
endsWith(github.event.comment.body, '/test-cs9-x86-aws-replace')) }} | |
runs-on: ubuntu-latest | |
container: quay.io/testing-farm/cli:latest | |
env: | |
STATUS_NAME: cs9-x86-aws-replace | |
steps: | |
- name: Get Current Job Log URL | |
id: job-log-url | |
run: | | |
apk add curl jq | |
JOB_HTML_URL=$(curl --get -Ss -H "Authorization: token ${GITHUB_TOKEN}" -H "Accept: application/vnd.github.v3+json" "https://api.github.com/repos/virt-s1/bootc-workflow-report/actions/runs/${GITHUB_RUN_ID}/jobs?per_page=30" | jq -r --arg job_name "cs9-x86-aws-replace" '.jobs | map(select(.name == "cs9-x86-aws-replace")) | .[0].html_url') | |
echo "html_url=$JOB_HTML_URL" >> $GITHUB_OUTPUT | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
- name: Create in-progress status | |
uses: octokit/[email protected] | |
with: | |
route: 'POST /repos/virt-s1/bootc-workflow-report/statuses/${{ needs.pr-info.outputs.sha }}' | |
context: ${{ env.STATUS_NAME }} | |
state: pending | |
description: 'Testing Farm is running test...' | |
target_url: ${{ steps.job-log-url.outputs.html_url }} | |
env: | |
GITHUB_TOKEN: ${{ secrets.PAT }} | |
- name: Clone repository | |
uses: actions/checkout@v4 | |
with: | |
repository: virt-s1/bootc-workflow-test | |
ref: main | |
fetch-depth: 0 | |
- name: Run the tests | |
run: | | |
testing-farm request \ | |
--plan "$PLATFORM" \ | |
--environment TEST_OS="$TEST_OS" \ | |
--secret QUAY_USERNAME="$QUAY_USERNAME" \ | |
--secret QUAY_PASSWORD="$QUAY_PASSWORD" \ | |
--secret AWS_ACCESS_KEY_ID="$AWS_ACCESS_KEY_ID" \ | |
--secret AWS_SECRET_ACCESS_KEY="$AWS_SECRET_ACCESS_KEY" \ | |
--secret AWS_REGION="$AWS_REGION" \ | |
--git-url "$GIT_URL" \ | |
--git-ref "$GIT_REF" \ | |
--compose CentOS-Stream-9 \ | |
--arch "$ARCH" \ | |
--context "arch=${ARCH}" \ | |
--timeout "$TIMEOUT" | |
env: | |
GIT_URL: https://github.com/virt-s1/bootc-workflow-test | |
GIT_REF: main | |
AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }} | |
AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }} | |
AWS_REGION: ${{ secrets.AWS_REGION }} | |
QUAY_USERNAME: ${{ secrets.QUAY_USERNAME }} | |
QUAY_PASSWORD: ${{ secrets.QUAY_PASSWORD }} | |
TESTING_FARM_API_TOKEN: ${{ secrets.TF_API_KEY }} | |
TEST_OS: centos-stream-9 | |
ARCH: x86_64 | |
PLATFORM: aws | |
TIMEOUT: 30 | |
- name: Set non cancelled result status | |
if: ${{ !cancelled() }} | |
uses: octokit/[email protected] | |
with: | |
route: 'POST /repos/virt-s1/bootc-workflow-report/statuses/${{ needs.pr-info.outputs.sha }}' | |
context: ${{ env.STATUS_NAME }} | |
state: ${{ job.status }} | |
description: 'Testing Farm got ${{ job.status }}' | |
target_url: ${{ steps.job-log-url.outputs.html_url }} | |
env: | |
GITHUB_TOKEN: ${{ secrets.PAT }} | |
- name: Set cancelled result status | |
if: ${{ cancelled() }} | |
uses: octokit/[email protected] | |
with: | |
route: 'POST /repos/virt-s1/bootc-workflow-report/statuses/${{ needs.pr-info.outputs.sha }}' | |
context: ${{ env.STATUS_NAME }} | |
state: error | |
description: 'Testing Farm got error' | |
target_url: ${{ steps.job-log-url.outputs.html_url }} | |
env: | |
GITHUB_TOKEN: ${{ secrets.PAT }} | |
cs9-x86-libvirt-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-x86') || | |
endsWith(github.event.comment.body, '/test-cs9-x86-libvirt-replace')) }} | |
runs-on: ubuntu-latest | |
container: quay.io/testing-farm/cli:latest | |
env: | |
STATUS_NAME: cs9-x86-libvirt-replace | |
steps: | |
- name: Get Current Job Log URL | |
id: job-log-url | |
run: | | |
apk add curl jq | |
JOB_HTML_URL=$(curl --get -Ss -H "Authorization: token ${GITHUB_TOKEN}" -H "Accept: application/vnd.github.v3+json" "https://api.github.com/repos/virt-s1/bootc-workflow-report/actions/runs/${GITHUB_RUN_ID}/jobs?per_page=30" | jq -r --arg job_name "cs9-x86-libvirt-replace" '.jobs | map(select(.name == "cs9-x86-libvirt-replace")) | .[0].html_url') | |
echo "html_url=$JOB_HTML_URL" >> $GITHUB_OUTPUT | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
- name: Create in-progress status | |
uses: octokit/[email protected] | |
with: | |
route: 'POST /repos/virt-s1/bootc-workflow-report/statuses/${{ needs.pr-info.outputs.sha }}' | |
context: ${{ env.STATUS_NAME }} | |
state: pending | |
description: 'Testing Farm is running test...' | |
target_url: ${{ steps.job-log-url.outputs.html_url }} | |
env: | |
GITHUB_TOKEN: ${{ secrets.PAT }} | |
- name: Clone repository | |
uses: actions/checkout@v4 | |
with: | |
repository: virt-s1/bootc-workflow-test | |
ref: main | |
fetch-depth: 0 | |
- name: Run the tests | |
run: | | |
testing-farm request \ | |
--plan local \ | |
--environment TEST_OS="$TEST_OS" \ | |
--secret QUAY_USERNAME="$QUAY_USERNAME" \ | |
--secret QUAY_PASSWORD="$QUAY_PASSWORD" \ | |
--git-url "$GIT_URL" \ | |
--git-ref "$GIT_REF" \ | |
--compose CentOS-Stream-9 \ | |
--arch "$ARCH" \ | |
--context "arch=${ARCH}" \ | |
--timeout "$TIMEOUT" | |
env: | |
GIT_URL: https://github.com/virt-s1/bootc-workflow-test | |
GIT_REF: main | |
QUAY_USERNAME: ${{ secrets.QUAY_USERNAME }} | |
QUAY_PASSWORD: ${{ secrets.QUAY_PASSWORD }} | |
TESTING_FARM_API_TOKEN: ${{ secrets.TF_API_KEY }} | |
TEST_OS: centos-stream-9 | |
ARCH: x86_64 | |
PLATFORM: libvirt | |
TIMEOUT: 30 | |
- name: Set non cancelled result status | |
if: ${{ !cancelled() }} | |
uses: octokit/[email protected] | |
with: | |
route: 'POST /repos/virt-s1/bootc-workflow-report/statuses/${{ needs.pr-info.outputs.sha }}' | |
context: ${{ env.STATUS_NAME }} | |
state: ${{ job.status }} | |
description: 'Testing Farm got ${{ job.status }}' | |
target_url: ${{ steps.job-log-url.outputs.html_url }} | |
env: | |
GITHUB_TOKEN: ${{ secrets.PAT }} | |
- name: Set cancelled result status | |
if: ${{ cancelled() }} | |
uses: octokit/[email protected] | |
with: | |
route: 'POST /repos/virt-s1/bootc-workflow-report/statuses/${{ needs.pr-info.outputs.sha }}' | |
context: ${{ env.STATUS_NAME }} | |
state: error | |
description: 'Testing Farm got error' | |
target_url: ${{ steps.job-log-url.outputs.html_url }} | |
env: | |
GITHUB_TOKEN: ${{ secrets.PAT }} |