Check repository closure COPR & Testing #8144
This file contains hidden or 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 COPR & Testing | |
| permissions: | |
| issues: write | |
| pull-requests: read | |
| contents: read | |
| on: | |
| workflow_dispatch: | |
| schedule: | |
| # Running every Monday | |
| - cron: '0 6 * * 1' | |
| jobs: | |
| copr-ovirt-master-snapshot: | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| os: [centos, almalinux] | |
| version: [9, 10] | |
| include: | |
| - os: centos | |
| container: "quay.io/centos/centos:stream" | |
| repo: centos-stream | |
| - os: almalinux | |
| container: "quay.io/almalinuxorg/almalinux:" | |
| repo: rhel | |
| - version: 9 | |
| additional_repos: | | |
| --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 | |
| - version: 10 | |
| additional_repos: | | |
| --repo epel \ | |
| --repo ovirt-master-centos-stream-ceph-squid-testing \ | |
| --repo ovirt-master-centos-stream-nfv-openvswitch2-testing \ | |
| --repo ovirt-master-centos-stream-ovirt45-testing | |
| runs-on: ubuntu-latest | |
| container: | |
| image: ${{ matrix.container }}${{ matrix.version }} | |
| # Workaround for https://github.com/AlmaLinux/container-images/issues/71 | |
| options: --platform linux/amd64 | |
| steps: | |
| - name: Enable repositories | |
| run: | | |
| dnf distro-sync -y | |
| dnf install -y 'dnf-command(copr)' | |
| dnf copr enable -y ovirt/ovirt-master-snapshot ${{ matrix.repo }}-${{ matrix.version }}-x86_64 | |
| 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 crb \ | |
| ${{ matrix.additional_repos }} | |
| centos-release-ovirt45-testing: | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| os: [centos, almalinux] | |
| version: [9, 10] | |
| include: | |
| - os: centos | |
| image: "quay.io/centos/centos:stream" | |
| - os: almalinux | |
| image: "quay.io/almalinuxorg/almalinux:" | |
| - version: 9 | |
| additional_repos: | | |
| --repo centos-ceph-pacific \ | |
| --repo centos-gluster10-test \ | |
| --repo centos-nfv-openvswitch \ | |
| --repo centos-opstools \ | |
| --repo centos-openstack-yoga | |
| - version: 10 | |
| additional_repos: | | |
| --repo epel \ | |
| --repo centos-ceph-squid \ | |
| --repo centos-nfv-openvswitch | |
| runs-on: ubuntu-latest | |
| container: | |
| image: ${{ matrix.image }}${{ matrix.version }} | |
| steps: | |
| - name: Distro-sync | |
| run: | | |
| dnf distro-sync -y | |
| - name: Enable repositories CentOS | |
| if: matrix.os == 'centos' | |
| run: | | |
| dnf --repofrompath=extras-common-testing,https://buildlogs.centos.org/centos/${{ matrix.version }}-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 repositories AlmaLinux | |
| if: matrix.os == 'almalinux' | |
| run: | | |
| dnf --repofrompath=extras-common-testing,https://repo.almalinux.org/almalinux/${{ matrix.version }}/extras/x86_64/os/ 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 crb \ | |
| ${{ matrix.additional_repos }} | |
| close-issue-on-success: | |
| name: Report workflow success | |
| runs-on: ubuntu-latest | |
| needs: | |
| - copr-ovirt-master-snapshot | |
| - centos-release-ovirt45-testing | |
| 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.result=='failure' || needs.centos-release-ovirt45-testing.result=='failure') }} | |
| needs: | |
| - copr-ovirt-master-snapshot | |
| - centos-release-ovirt45-testing | |
| 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 }} |