Check repository closure #8075
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: Check repository closure | |
permissions: | |
issues: write | |
pull-requests: read | |
contents: read | |
on: | |
workflow_dispatch: | |
schedule: | |
# Running every Monday | |
- cron: '0 6 * * 1' | |
jobs: | |
copr-ovirt-master-snapshot-el9: | |
runs-on: ubuntu-latest | |
container: | |
image: quay.io/centos/centos:stream9 | |
steps: | |
- name: Enable repositories | |
run: | | |
dnf distro-sync -y | |
dnf install -y 'dnf-command(copr)' | |
dnf copr enable -y ovirt/ovirt-master-snapshot centos-stream-9 | |
dnf install -y ovirt-release-master | |
- name: Run repoclosure on oVirt Master Snapshot from COPR | |
run: | | |
dnf repoclosure --newest --refresh \ | |
--check copr:copr.fedorainfracloud.org:ovirt:ovirt-master-snapshot \ | |
--repo appstream \ | |
--repo baseos \ | |
--repo resilientstorage \ | |
--repo crb \ | |
--repo ovirt-master-centos-stream-ceph-pacific-testing \ | |
--repo ovirt-master-centos-stream-gluster10-testing \ | |
--repo ovirt-master-centos-stream-nfv-openvswitch2-testing \ | |
--repo ovirt-master-centos-stream-openstack-yoga-testing \ | |
--repo ovirt-master-centos-stream-opstools-collectd5-testing \ | |
--repo ovirt-master-centos-stream-ovirt45-testing | |
centos-release-ovirt45-el9: | |
runs-on: ubuntu-latest | |
container: | |
image: quay.io/centos/centos:stream9 | |
steps: | |
- name: Enable repositories | |
run: | | |
dnf distro-sync -y | |
dnf --repofrompath=extras-common-testing,https://buildlogs.centos.org/centos/9-stream/extras/x86_64/extras-common/ install -y --nogpgcheck centos-release-ovirt45-testing | |
dnf config-manager --set-enabled centos-ovirt45-testing | |
dnf config-manager --set-enabled ovirt-45-upstream-testing | |
- name: Run repoclosure on CentOS Virtualization SIG - oVirt 45 - testing | |
run: | | |
dnf repoclosure --newest --refresh \ | |
--repo centos-ovirt45 \ | |
--check centos-ovirt45-testing \ | |
--repo ovirt-45-upstream \ | |
--check ovirt-45-upstream-testing \ | |
--repo appstream \ | |
--repo baseos \ | |
--repo resilientstorage \ | |
--repo crb \ | |
--repo centos-ceph-pacific \ | |
--repo centos-gluster10-test \ | |
--repo centos-nfv-openvswitch \ | |
--repo centos-opstools \ | |
--repo centos-openstack-yoga | |
close-issue-on-success: | |
name: Report workflow success | |
runs-on: ubuntu-latest | |
needs: | |
- copr-ovirt-master-snapshot-el9 | |
- centos-release-ovirt45-el9 | |
steps: | |
- name: Checkout | |
uses: ovirt/checkout-action@main | |
- name: Add a comment about successful job and close issue | |
run: | | |
set -e | |
LABEL="repoclosure-failed" | |
ISSUENO=$(gh issue list -l $LABEL | awk ' { print $1 } ' | head -n 1) | |
if [ -n "$ISSUENO" ]; then | |
MESSAGE="✅ The repoclosure CI job is now [successful](https://github.com/oVirt/ovirt-release/actions/runs/${{ github.run_id }}), closing issue." | |
gh issue comment "${ISSUENO}" --body "${MESSAGE}" | |
gh issue close "${ISSUENO}" | |
fi | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
open-issue-on-failure: | |
name: Report workflow failure | |
runs-on: ubuntu-latest | |
if: ${{ always() && (needs.copr-ovirt-master-snapshot-el9.result=='failure' || needs.centos-release-ovirt45-el9.result=='failure') }} | |
needs: | |
- copr-ovirt-master-snapshot-el9 | |
- centos-release-ovirt45-el9 | |
steps: | |
- name: Checkout | |
uses: ovirt/checkout-action@main | |
- name: Add a comment about failed job | |
run: | | |
set -e | |
TITLE="Failed repoclosure job" | |
LABEL="repoclosure-failed" | |
ISSUENO=$(gh issue list -l $LABEL | awk ' { print $1 } ' | head -n 1) | |
if [ -z "$ISSUENO" ]; then | |
MESSAGE="❌ The repoclosure CI job failed. [Please investigate.](https://github.com/oVirt/ovirt-release/actions/runs/${{ github.run_id }})" | |
gh issue create --title "${TITLE}" --body "${MESSAGE}" --label "${LABEL}" | |
else | |
MESSAGE="❌ The repoclosure CI job is still failing. [Please investigate.](https://github.com/oVirt/ovirt-release/actions/runs/${{ github.run_id }})" | |
gh issue comment "${ISSUENO}" --body "${MESSAGE}" | |
fi | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} |