Check repository closure oVirt 4.5 #528
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 oVirt 4.5 | |
permissions: | |
issues: write | |
pull-requests: read | |
contents: read | |
on: | |
workflow_dispatch: | |
schedule: | |
# Running every Monday | |
- cron: '0 6 * * 1' | |
env: | |
EXTRA_REPOS_EL8: > | |
--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 | |
EXTRA_REPOS_EL9: > | |
--repo appstream | |
--repo baseos | |
--repo resilientstorage | |
--repo crb | |
--repo centos-ceph-pacific | |
--repo centos-gluster10 | |
--repo centos-nfv-openvswitch | |
--repo centos-opstools | |
--repo centos-openstack-yoga | |
NON_CBS_PACKAGES: > | |
--pkg java-client-kubevirt | |
--pkg java-ovirt-engine-sdk4 | |
--pkg ovirt-node-ng-image-update | |
--pkg ovirt-engine-appliance | |
jobs: | |
centos-release-ovirt45-stream8: | |
runs-on: ubuntu-latest | |
container: | |
image: quay.io/centos/centos:stream8 | |
steps: | |
- name: Enable repositories | |
run: | | |
dnf distro-sync -y | |
dnf install -y centos-release-ovirt45 | |
- 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 4.5 CBS released content | |
run: | | |
dnf repoclosure --newest --refresh \ | |
--check centos-ovirt45 \ | |
--repo ovirt-45-upstream \ | |
$EXTRA_REPOS_EL8 | |
- name: Run repoclosure on oVirt 4.5 resource.ovirt.org content | |
# We need to check only packages which are stored exclusively on resources.ovirt.org and omit packages, | |
# which are newly built on CBS due to bug in repoclosure around having different package versions on multiple | |
# repositories | |
run: | | |
dnf repoclosure --newest --refresh \ | |
--check ovirt-45-upstream \ | |
--repo centos-ovirt45 \ | |
$EXTRA_REPOS_EL8 \ | |
$NON_CBS_PACKAGES | |
centos-release-ovirt45-rocky-linux-8: | |
runs-on: ubuntu-latest | |
container: | |
image: rockylinux:8 | |
steps: | |
- name: Enable repositories | |
run: | | |
# On Rocky, extras contains broken centos-release-nfv package | |
dnf install -y dnf-plugins-core | |
dnf config-manager --set-disabled extras | |
cat >/etc/yum.repos.d/CentOS-Stream-Extras.repo <<'EOF' | |
[cs8-extras] | |
name=CentOS Stream $releasever - Extras | |
mirrorlist=http://mirrorlist.centos.org/?release=8-stream&arch=$basearch&repo=extras&infra=$infra | |
#baseurl=http://mirror.centos.org/$contentdir/8-stream/extras/$basearch/os/ | |
gpgcheck=1 | |
enabled=1 | |
gpgkey=https://www.centos.org/keys/RPM-GPG-KEY-CentOS-Official | |
EOF | |
cat >/etc/yum.repos.d/CentOS-Stream-Extras-common.repo <<'EOF' | |
[cs8-extras-common] | |
name=CentOS Stream $releasever - Extras common packages | |
mirrorlist=http://mirrorlist.centos.org/?release=8-stream&arch=$basearch&repo=extras-extras-common | |
#baseurl=http://mirror.centos.org/$contentdir/8-stream/extras/$basearch/extras-common/ | |
gpgcheck=1 | |
enabled=1 | |
gpgkey=https://www.centos.org/keys/RPM-GPG-KEY-CentOS-SIG-Extras | |
EOF | |
echo "8-stream" > /etc/yum/vars/stream | |
dnf distro-sync -y | |
dnf install -y centos-release-ovirt45 | |
- 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 | |
dnf module enable -y jaxb:4 | |
- name: Run repoclosure on oVirt 4.5 CBS released content | |
run: | | |
dnf repoclosure --newest --refresh \ | |
--check centos-ovirt45 \ | |
--repo ovirt-45-upstream \ | |
$EXTRA_REPOS_EL8 | |
- name: Run repoclosure on oVirt 4.5 resource.ovirt.org content | |
# We need to check only packages which are stored exclusively on resources.ovirt.org and omit packages, | |
# which are newly built on CBS due to bug in repoclosure around having different package versions on multiple | |
# repositories | |
run: | | |
dnf repoclosure --newest --refresh \ | |
--check ovirt-45-upstream \ | |
--repo centos-ovirt45 \ | |
$EXTRA_REPOS_EL8 \ | |
$NON_CBS_PACKAGES | |
centos-release-ovirt45-alma-linux-8: | |
runs-on: ubuntu-latest | |
container: | |
image: almalinux:8 | |
steps: | |
- name: Enable repositories | |
run: | | |
cat >/etc/yum.repos.d/CentOS-Stream-Extras.repo <<'EOF' | |
[cs8-extras] | |
name=CentOS Stream $releasever - Extras | |
mirrorlist=http://mirrorlist.centos.org/?release=8-stream&arch=$basearch&repo=extras&infra=$infra | |
#baseurl=http://mirror.centos.org/$contentdir/8-stream/extras/$basearch/os/ | |
gpgcheck=1 | |
enabled=1 | |
gpgkey=https://www.centos.org/keys/RPM-GPG-KEY-CentOS-Official | |
EOF | |
cat >/etc/yum.repos.d/CentOS-Stream-Extras-common.repo <<'EOF' | |
[cs8-extras-common] | |
name=CentOS Stream $releasever - Extras common packages | |
mirrorlist=http://mirrorlist.centos.org/?release=8-stream&arch=$basearch&repo=extras-extras-common | |
#baseurl=http://mirror.centos.org/$contentdir/8-stream/extras/$basearch/extras-common/ | |
gpgcheck=1 | |
enabled=1 | |
gpgkey=https://www.centos.org/keys/RPM-GPG-KEY-CentOS-SIG-Extras | |
EOF | |
echo "8-stream" > /etc/yum/vars/stream | |
dnf distro-sync -y | |
dnf install -y centos-release-ovirt45 | |
- 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 | |
dnf module enable -y jaxb:4 | |
- name: Run repoclosure on oVirt 4.5 CBS released content | |
run: | | |
dnf repoclosure --newest --refresh \ | |
--check centos-ovirt45 \ | |
--repo ovirt-45-upstream \ | |
$EXTRA_REPOS_EL8 | |
- name: Run repoclosure on oVirt 4.5 resource.ovirt.org content | |
# We need to check only packages which are stored exclusively on resources.ovirt.org and omit packages, | |
# which are newly built on CBS due to bug in repoclosure around having different package versions on multiple | |
# repositories | |
run: | | |
dnf repoclosure --newest --refresh \ | |
--check ovirt-45-upstream \ | |
--repo centos-ovirt45 \ | |
$EXTRA_REPOS_EL8 \ | |
$NON_CBS_PACKAGES | |
centos-release-ovirt45-stream9: | |
runs-on: ubuntu-latest | |
container: | |
image: quay.io/centos/centos:stream9 | |
steps: | |
- name: Enable repositories | |
run: | | |
dnf distro-sync -y | |
dnf install -y centos-release-ovirt45 | |
- name: Run repoclosure on oVirt 4.5 Released content | |
run: | | |
dnf repoclosure --newest --refresh \ | |
--check centos-ovirt45 \ | |
--check ovirt-45-upstream \ | |
$EXTRA_REPOS_EL9 | |
close-45-issue-on-success: | |
name: Report workflow success | |
runs-on: ubuntu-latest | |
needs: | |
- centos-release-ovirt45-stream8 | |
- centos-release-ovirt45-rocky-linux-8 | |
- centos-release-ovirt45-alma-linux-8 | |
- centos-release-ovirt45-stream9 | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v3 | |
- name: Add a comment about successful job and close issue | |
run: | | |
set -e | |
LABEL="repoclosure-45-failed" | |
ISSUENO=$(gh issue list -l $LABEL | awk ' { print $1 } ' | head -n 1) | |
if [ -n "$ISSUENO" ]; then | |
MESSAGE="✅ The oVirt 4.5 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-45-issue-on-failure: | |
name: Report workflow failure | |
runs-on: ubuntu-latest | |
if: ${{ always() && ( | |
needs.centos-release-ovirt45-stream8.result=='failure' || | |
needs.centos-release-ovirt45-stream9.result=='failure' || | |
needs.centos-release-ovirt45-rocky-linux-8.result=='failure' || | |
needs.centos-release-ovirt45-alma-linux-8=='failure' | |
) }} | |
needs: | |
- centos-release-ovirt45-stream8 | |
- centos-release-ovirt45-rocky-linux-8 | |
- centos-release-ovirt45-alma-linux-8 | |
- centos-release-ovirt45-stream9 | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v3 | |
- name: Add a comment about failed job | |
run: | | |
set -e | |
TITLE="Failed oVirt 4.5 repoclosure job" | |
LABEL="repoclosure-45-failed" | |
ISSUENO=$(gh issue list -l $LABEL | awk ' { print $1 } ' | head -n 1) | |
if [ -z "$ISSUENO" ]; then | |
MESSAGE="❌ The repoclosure oVirt 4.5 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 oVirt 4.5 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 }} |