RHEL 9 compose trigger #3522
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: RHEL 9 compose trigger | |
on: | |
workflow_dispatch: | |
schedule: | |
- cron: '0 4 * * *' | |
env: | |
COMPOSE_URL_95: "http://${{ secrets.DOWNLOAD_NODE }}/rhel-9/nightly/updates/RHEL-9" | |
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 9.5 compose | |
id: check_compose_id_95 | |
run: | | |
curl -s ${COMPOSE_URL_95}/latest-RHEL-9.5.0/STATUS --output STATUS_95 | |
STATUS_95=$(cat STATUS_95) | |
if [[ "$STATUS_95" == "FINISHED" ]]; then | |
curl -s ${COMPOSE_URL_95}/latest-RHEL-9.5.0/COMPOSE_ID --output COMPOSE_ID_95 | |
COMPOSE_ID_95=$(cat COMPOSE_ID_95) | |
TESTED_COMPOSE_95=( $( cat compose/compose.95 ) ) | |
if [[ " ${TESTED_COMPOSE_95[*]} " =~ "$COMPOSE_ID_95" ]]; then | |
COMPOSE_ID_95="false" | |
fi | |
else | |
COMPOSE_ID_95="false" | |
fi | |
if [[ "$COMPOSE_ID_95" != "false" ]]; then | |
gh pr list -R virt-s1/rhel-edge --state open --json title --jq '.[].title' > PR_LIST_95 | |
PR_LIST_95=$(cat PR_LIST_95) | |
if [[ $PR_LIST_95 == *"$COMPOSE_ID_95"* ]]; then | |
echo "pr_running_95=true" >> $GITHUB_OUTPUT | |
else | |
echo "pr_running_95=false" >> $GITHUB_OUTPUT | |
fi | |
OSBUILD_VERSION_95=$(curl -s "${COMPOSE_URL_95}/${COMPOSE_ID_95}/compose/AppStream/x86_64/os/Packages/" | grep -ioE ">osbuild-[0-9].*<" | tr -d "><") | |
OSBUILD_COMPOSER_VERSION_95=$(curl -s "${COMPOSE_URL_95}/${COMPOSE_ID_95}/compose/AppStream/x86_64/os/Packages/" | grep -ioE ">osbuild-composer-[0-9].*<" | tr -d "><") | |
COMPOSER_CLI_VERSION_95=$(curl -s "${COMPOSE_URL_95}/${COMPOSE_ID_95}/compose/AppStream/x86_64/os/Packages/" | grep -ioE ">weldr-client-[0-9].*<" | tr -d "><") | |
echo "osbuild_version_95=$OSBUILD_VERSION_95" >> $GITHUB_OUTPUT | |
echo "osbuild_composer_version_95=$OSBUILD_COMPOSER_VERSION_95" >> $GITHUB_OUTPUT | |
echo "composer_cli_version_95=$COMPOSER_CLI_VERSION_95" >> $GITHUB_OUTPUT | |
else | |
echo "osbuild_version_95=Null" >> $GITHUB_OUTPUT | |
echo "osbuild_composer_version_95=Null" >> $GITHUB_OUTPUT | |
echo "composer_cli_version_95=Null" >> $GITHUB_OUTPUT | |
fi | |
echo "rhel95_compose=$COMPOSE_ID_95" >> $GITHUB_OUTPUT | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
outputs: | |
rhel94_compose: ${{ steps.check_compose_id_94.outputs.rhel94_compose }} | |
rhel95_compose: ${{ steps.check_compose_id_95.outputs.rhel95_compose }} | |
osbuild_version_94: ${{ steps.check_compose_id_94.outputs.osbuild_version_94 }} | |
osbuild_composer_version_94: ${{ steps.check_compose_id_94.outputs.osbuild_composer_version_94 }} | |
composer_cli_version_94: ${{ steps.check_compose_id_94.outputs.composer_cli_version_94 }} | |
osbuild_version_95: ${{ steps.check_compose_id_95.outputs.osbuild_version_95 }} | |
osbuild_composer_version_95: ${{ steps.check_compose_id_95.outputs.osbuild_composer_version_95 }} | |
composer_cli_version_95: ${{ steps.check_compose_id_95.outputs.composer_cli_version_95 }} | |
pr_running_94: ${{ steps.check_compose_id_94.outputs.pr_running_94 }} | |
pr_running_95: ${{ steps.check_compose_id_95.outputs.pr_running_95 }} | |
rhel-9-5: | |
needs: check-compose | |
if: ${{ needs.check-compose.outputs.rhel95_compose != 'false' && needs.check-compose.outputs.pr_running_95 == 'false' }} | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v3 | |
- name: Add new compose id in compose.95 | |
run: | | |
compose_id="${{ needs.check-compose.outputs.rhel95_compose }}" | |
echo $compose_id >> compose/compose.95 | |
cat compose/compose.95 | |
- 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.rhel95_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.rhel95_compose }} - ${{ steps.date.outputs.date }}" | |
labels: auto-merge,RHEL-9.5.0 | |
body: | | |
RHEL 9.5 compose ${{ needs.check-compose.outputs.rhel95_compose }} | |
- Date: ${{ steps.date.outputs.date }} | |
- Packages: | |
- ${{ needs.check-compose.outputs.osbuild_version_95 }} | |
- ${{ needs.check-compose.outputs.osbuild_composer_version_95 }} | |
- ${{ needs.check-compose.outputs.composer_cli_version_95 }} | |
- 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-9-5 |