Skip to content

RHEL 8 compose trigger #3298

RHEL 8 compose trigger

RHEL 8 compose trigger #3298

Workflow file for this run

---
name: RHEL 8 compose trigger
on:
workflow_dispatch:
schedule:
- cron: '0 1 * * *'
- cron: '0 7 * * *'
- cron: '0 13 * * *'
- cron: '0 19 * * *'
env:
COMPOSE_URL_88: "http://${{ secrets.DOWNLOAD_NODE }}/rhel-8/nightly/updates/RHEL-8"
COMPOSE_URL_810: "http://${{ secrets.DOWNLOAD_NODE }}/rhel-8/nightly/RHEL-8"
jobs:
check-compose:
# Do not run this job on any fork repos
if: github.repository == 'virt-s1/rhel-edge'
runs-on: container-runner
container: quay.io/fedora/fedora:38-x86_64
steps:
- uses: actions/checkout@v3
- run: sudo dnf install -y gh
- name: Check RHEL 8.8 compose
id: check_compose_id_88
run: |
curl -s ${COMPOSE_URL_88}/latest-RHEL-8.8.0/STATUS --output STATUS_88
STATUS_88=$(cat STATUS_88)
if [[ "$STATUS_88" == "FINISHED" ]]; then
curl -s ${COMPOSE_URL_88}/latest-RHEL-8.8.0/COMPOSE_ID --output COMPOSE_ID_88
COMPOSE_ID_88=$(cat COMPOSE_ID_88)
TESTED_COMPOSE_88=( $( cat compose/compose.88 ) )
if [[ " ${TESTED_COMPOSE_88[*]} " =~ "$COMPOSE_ID_88" ]]; then
COMPOSE_ID_88="false"
fi
else
COMPOSE_ID_88="false"
fi
if [[ "$COMPOSE_ID_88" != "false" ]]; then
gh pr list -R virt-s1/rhel-edge --state open --json title --jq '.[].title' > PR_LIST_88
PR_LIST_88=$(cat PR_LIST_88)
if [[ $PR_LIST_88 == *"$COMPOSE_ID_88"* ]]; then
echo "pr_running_88=true" >> $GITHUB_OUTPUT
else
echo "pr_running_88=false" >> $GITHUB_OUTPUT
fi
OSBUILD_VERSION_88=$(curl -s "${COMPOSE_URL_88}/${COMPOSE_ID_88}/compose/AppStream/x86_64/os/Packages/" | grep -ioE ">osbuild-[0-9].*<" | tr -d "><")
OSBUILD_COMPOSER_VERSION_88=$(curl -s "${COMPOSE_URL_88}/${COMPOSE_ID_88}/compose/AppStream/x86_64/os/Packages/" | grep -ioE ">osbuild-composer-[0-9].*<" | tr -d "><")
COMPOSER_CLI_VERSION_88=$(curl -s "${COMPOSE_URL_88}/${COMPOSE_ID_88}/compose/AppStream/x86_64/os/Packages/" | grep -ioE ">weldr-client-[0-9].*<" | tr -d "><")
echo "osbuild_version_88=$OSBUILD_VERSION_88" >> $GITHUB_OUTPUT
echo "osbuild_composer_version_88=$OSBUILD_COMPOSER_VERSION_88" >> $GITHUB_OUTPUT
echo "composer_cli_version_88=$COMPOSER_CLI_VERSION_88" >> $GITHUB_OUTPUT
else
echo "osbuild_version_88=Null" >> $GITHUB_OUTPUT
echo "osbuild_composer_version_88=Null" >> $GITHUB_OUTPUT
echo "composer_cli_version_88=Null" >> $GITHUB_OUTPUT
fi
echo "rhel88_compose=$COMPOSE_ID_88" >> $GITHUB_OUTPUT
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Check RHEL 8.10 compose
id: check_compose_id_810
run: |
curl -s ${COMPOSE_URL_810}/latest-RHEL-8.10.0/STATUS --output STATUS_810
STATUS_810=$(cat STATUS_810)
if [[ "$STATUS_810" == "FINISHED" ]]; then
curl -s ${COMPOSE_URL_810}/latest-RHEL-8.10.0/COMPOSE_ID --output COMPOSE_ID_810
COMPOSE_ID_810=$(cat COMPOSE_ID_810)
TESTED_COMPOSE_810=( $( cat compose/compose.810 ) )
if [[ " ${TESTED_COMPOSE_810[*]} " =~ "$COMPOSE_ID_810" ]]; then
COMPOSE_ID_810="false"
fi
else
COMPOSE_ID_810="false"
fi
if [[ "$COMPOSE_ID_810" != "false" ]]; then
gh pr list -R virt-s1/rhel-edge --state open --json title --jq '.[].title' > PR_LIST_810
PR_LIST_810=$(cat PR_LIST_810)
if [[ $PR_LIST_810 == *"$COMPOSE_ID_810"* ]]; then
echo "pr_running_810=true" >> $GITHUB_OUTPUT
else
echo "pr_running_810=false" >> $GITHUB_OUTPUT
fi
OSBUILD_VERSION_810=$(curl -s "${COMPOSE_URL_810}/${COMPOSE_ID_810}/compose/AppStream/x86_64/os/Packages/" | grep -ioE ">osbuild-[0-9].*<" | tr -d "><")
OSBUILD_COMPOSER_VERSION_810=$(curl -s "${COMPOSE_URL_810}/${COMPOSE_ID_810}/compose/AppStream/x86_64/os/Packages/" | grep -ioE ">osbuild-composer-[0-9].*<" | tr -d "><")
COMPOSER_CLI_VERSION_810=$(curl -s "${COMPOSE_URL_810}/${COMPOSE_ID_810}/compose/AppStream/x86_64/os/Packages/" | grep -ioE ">weldr-client-[0-9].*<" | tr -d "><")
echo "osbuild_version_810=$OSBUILD_VERSION_810" >> $GITHUB_OUTPUT
echo "osbuild_composer_version_810=$OSBUILD_COMPOSER_VERSION_810" >> $GITHUB_OUTPUT
echo "composer_cli_version_810=$COMPOSER_CLI_VERSION_810" >> $GITHUB_OUTPUT
else
echo "osbuild_version_810=Null" >> $GITHUB_OUTPUT
echo "osbuild_composer_version_810=Null" >> $GITHUB_OUTPUT
echo "composer_cli_version_810=Null" >> $GITHUB_OUTPUT
fi
echo "rhel810_compose=$COMPOSE_ID_810" >> $GITHUB_OUTPUT
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
outputs:
rhel88_compose: ${{ steps.check_compose_id_88.outputs.rhel88_compose }}
rhel810_compose: ${{ steps.check_compose_id_810.outputs.rhel810_compose }}
osbuild_version_88: ${{ steps.check_compose_id_88.outputs.osbuild_version_88 }}
osbuild_composer_version_88: ${{ steps.check_compose_id_88.outputs.osbuild_composer_version_88 }}
composer_cli_version_88: ${{ steps.check_compose_id_88.outputs.composer_cli_version_88 }}
osbuild_version_810: ${{ steps.check_compose_id_810.outputs.osbuild_version_810 }}
osbuild_composer_version_810: ${{ steps.check_compose_id_810.outputs.osbuild_composer_version_810 }}
composer_cli_version_810: ${{ steps.check_compose_id_810.outputs.composer_cli_version_810 }}
pr_running_88: ${{ steps.check_compose_id_88.outputs.pr_running_88 }}
pr_running_810: ${{ steps.check_compose_id_810.outputs.pr_running_810 }}
rhel-8-8:
needs: check-compose
if: ${{ needs.check-compose.outputs.rhel88_compose != 'false' && needs.check-compose.outputs.pr_running_88 == 'false' }}
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- name: Add new compose id in compose.88
run: |
compose_id="${{ needs.check-compose.outputs.rhel88_compose }}"
echo $compose_id >> compose/compose.88
cat compose/compose.88
- name: Get current date
id: date
run: echo "date=$(date +'%Y-%m-%d')" >> $GITHUB_OUTPUT
- name: Create Pull Request
id: cpr
uses: peter-evans/create-pull-request@v4
with:
token: ${{ secrets.GITHUB_TOKEN }}
commit-message: "${{ needs.check-compose.outputs.rhel88_compose }} - ${{ steps.date.outputs.date }}"
committer: cloudkitebot <[email protected]>
author: ${{ github.actor }} <${{ github.actor }}@users.noreply.github.com>
branch: cpr
branch-suffix: random
delete-branch: true
title: "${{ needs.check-compose.outputs.rhel88_compose }} - ${{ steps.date.outputs.date }}"
labels: auto-merge,RHEL-8.8.0
body: |
RHEL 8.8 compose ${{ needs.check-compose.outputs.rhel88_compose }}
- Date: ${{ steps.date.outputs.date }}
- Packages:
- ${{ needs.check-compose.outputs.osbuild_version_88 }}
- ${{ needs.check-compose.outputs.osbuild_composer_version_88 }}
- ${{ needs.check-compose.outputs.composer_cli_version_88 }}
- name: Enable Pull Request Automerge
if: steps.cpr.outputs.pull-request-operation == 'created'
uses: peter-evans/enable-pull-request-automerge@v2
with:
token: ${{ secrets.GITHUB_TOKEN }}
pull-request-number: ${{ steps.cpr.outputs.pull-request-number }}
merge-method: rebase
- name: Add a comment to trigger test workflow
uses: peter-evans/create-or-update-comment@v1
with:
token: ${{ secrets.PAT }}
issue-number: ${{ steps.cpr.outputs.pull-request-number }}
body: /test-rhel-8-8
- name: Create a project card to track compose test result
uses: peter-evans/create-or-update-project-card@v2
with:
token: ${{ secrets.GITHUB_TOKEN }}
project-name: RHEL Compose Test
column-name: RHEL-8-8
issue-number: ${{ steps.cpr.outputs.pull-request-number }}
rhel-8-10:
needs: check-compose
if: ${{ needs.check-compose.outputs.rhel810_compose != 'false' && needs.check-compose.outputs.pr_running_810 == 'false' }}
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- name: Add new compose id in compose.810
run: |
compose_id="${{ needs.check-compose.outputs.rhel810_compose }}"
echo $compose_id >> compose/compose.810
cat compose/compose.810
- name: Get current date
id: date
run: echo "date=$(date +'%Y-%m-%d')" >> $GITHUB_OUTPUT
- name: Create Pull Request
id: cpr
uses: peter-evans/create-pull-request@v4
with:
token: ${{ secrets.GITHUB_TOKEN }}
commit-message: "${{ needs.check-compose.outputs.rhel810_compose }} - ${{ steps.date.outputs.date }}"
committer: cloudkitebot <[email protected]>
author: ${{ github.actor }} <${{ github.actor }}@users.noreply.github.com>
branch: cpr
branch-suffix: random
delete-branch: true
title: "${{ needs.check-compose.outputs.rhel810_compose }} - ${{ steps.date.outputs.date }}"
labels: auto-merge,RHEL-8.10.0
body: |
RHEL 8.10 compose ${{ needs.check-compose.outputs.rhel810_compose }}
- Date: ${{ steps.date.outputs.date }}
- Packages:
- ${{ needs.check-compose.outputs.osbuild_version_810 }}
- ${{ needs.check-compose.outputs.osbuild_composer_version_810 }}
- ${{ needs.check-compose.outputs.composer_cli_version_810 }}
- name: Enable Pull Request Automerge
if: steps.cpr.outputs.pull-request-operation == 'created'
uses: peter-evans/enable-pull-request-automerge@v2
with:
token: ${{ secrets.GITHUB_TOKEN }}
pull-request-number: ${{ steps.cpr.outputs.pull-request-number }}
merge-method: rebase
- name: Add a comment to trigger test workflow
uses: peter-evans/create-or-update-comment@v1
with:
token: ${{ secrets.PAT }}
issue-number: ${{ steps.cpr.outputs.pull-request-number }}
body: /test-rhel-8-10
- name: Create a project card to track compose test result
uses: peter-evans/create-or-update-project-card@v2
with:
token: ${{ secrets.GITHUB_TOKEN }}
project-name: RHEL Compose Test
column-name: RHEL-8-10
issue-number: ${{ steps.cpr.outputs.pull-request-number }}