Check repository closure #7697
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 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 }} |