Skip to content

Check repository closure #7709

Check repository closure

Check repository closure #7709

Workflow file for this run

---
name: Check repository closure
permissions:
issues: write
pull-requests: read
contents: read
on:
workflow_dispatch:
schedule:
# Running every hour in EMEA timezone
- cron: '0 6-18 * * *'
jobs:
copr-ovirt-master-snapshot-el8:
runs-on: ubuntu-latest
container:
image: quay.io/centos/centos:stream8
steps:
- name: Enable repositories
run: |
rpm --import https://download.copr.fedorainfracloud.org/results/ovirt/ovirt-master-snapshot/pubkey.gpg
dnf distro-sync -y
dnf --repofrompath=ovirt-master-snapshot,https://download.copr.fedorainfracloud.org/results/ovirt/ovirt-master-snapshot/centos-stream-8-x86_64/ install -y ovirt-release-master
- name: Enable required modules
run: |
dnf module enable -y javapackages-tools:201801
dnf module enable -y maven:3.5
dnf module enable -y pki-deps:10.6
dnf module enable -y postgresql:12
dnf module enable -y mod_auth_openidc:2.3
dnf module enable -y ruby:3.0
- 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 extras \
--repo ovirt-master-centos-opstools-testing \
--repo ovirt-master-centos-stream-ceph-pacific \
--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-ovirt45-testing \
--repo ovirt-master-copr:copr.fedorainfracloud.org:sac:gluster-ansible \
--repo ovirt-master-virtio-win-latest \
--repo powertools
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-el8:
runs-on: ubuntu-latest
container:
image: quay.io/centos/centos:stream8
steps:
- name: Enable repositories
run: |
dnf distro-sync -y
dnf --repofrompath=extras-common-testing,https://buildlogs.centos.org/centos/8-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: Enable required modules
run: |
dnf module enable -y javapackages-tools:201801
dnf module enable -y maven:3.5
dnf module enable -y pki-deps:10.6
dnf module enable -y postgresql:12
dnf module enable -y mod_auth_openidc:2.3
dnf module enable -y ruby:3.0
- 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 extras \
--repo powertools \
--repo centos-ceph-pacific \
--repo centos-nfv-openvswitch \
--repo centos-opstools \
--repo centos-gluster10 \
--repo ovirt-45-centos-stream-openstack-yoga
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-el8
- copr-ovirt-master-snapshot-el9
- centos-release-ovirt45-el8
- centos-release-ovirt45-el9
steps:
- name: Checkout
uses: actions/checkout@v3
- 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-el8.result=='failure' || needs.centos-release-ovirt45-el8.result=='failure' || needs.copr-ovirt-master-snapshot-el9.result=='failure' || needs.centos-release-ovirt45-el9.result=='failure') }}
needs:
- copr-ovirt-master-snapshot-el8
- copr-ovirt-master-snapshot-el9
- centos-release-ovirt45-el8
- centos-release-ovirt45-el9
steps:
- name: Checkout
uses: actions/checkout@v3
- 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 }}