diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 6911be43f0..018d7081d2 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -61,6 +61,7 @@ jobs: - fedora:39 - opensuse/leap:15 - alpine:3.19 + - centos:centos7 container: image: ${{ matrix.container }} diff --git a/.github/workflows/linux-ci-helper.sh b/.github/workflows/linux-ci-helper.sh index 0ec42de4c8..d2dc559b62 100755 --- a/.github/workflows/linux-ci-helper.sh +++ b/.github/workflows/linux-ci-helper.sh @@ -160,6 +160,77 @@ elif [ "${CONTAINER_FULLNAME}" = "rockylinux:8" ]; then # SHELLCHECK_DIRECT_INSTALL=1 +elif [ "${CONTAINER_FULLNAME}" = "centos:centos7" ]; then + # [NOTE] + # CentOS 7 will reach EOL on June 30, 2024. + # After EOL, we will prepare the environment for building and testing using the Vault repository. + # The following process switches from the EOL repository to Vault. + # + grep -v '^enabled=' /etc/yum.repos.d/CentOS-Base.repo | sed -e 's|gpgcheck=1|gpgcheck=1\nenabled=0|g' > /tmp/CentOS-Base.repo + cat /tmp/CentOS-Base.repo > /etc/yum.repos.d/CentOS-Base.repo + + { + # + # CentOS-Vault.repo does not have C7.9.2009 entry, so add it. + # + echo '' + echo '# C7.9.2009' + echo '[C7.9.2009-base]' + echo 'name=CentOS-7.9.2009 - Base' + echo "baseurl=http://vault.centos.org/7.9.2009/os/\$basearch/" + echo 'gpgcheck=1' + echo 'gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7' + echo 'enabled=1' + echo '' + echo '[C7.9.2009-updates]' + echo 'name=CentOS-7.9.2009 - Updates' + echo "baseurl=http://vault.centos.org/7.9.2009/updates/\$basearch/" + echo 'gpgcheck=1' + echo 'gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7' + echo 'enabled=1' + echo '' + echo '[C7.9.2009-extras]' + echo 'name=CentOS-7.9.2009 - Extras' + echo "baseurl=http://vault.centos.org/7.9.2009/extras/\$basearch/" + echo 'gpgcheck=1' + echo 'gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7' + echo 'enabled=1' + echo '' + echo '[C7.9.2009-centosplus]' + echo 'name=CentOS-7.9.2009 - CentOSPlus' + echo "baseurl=http://vault.centos.org/7.9.2009/centosplus/\$basearch/" + echo 'gpgcheck=1' + echo 'gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7' + echo 'enabled=1' + echo '' + echo '[C7.9.2009-fasttrack]' + echo 'name=CentOS-7.9.2009 - Fasttrack' + echo "baseurl=http://vault.centos.org/7.9.2009/fasttrack/\$basearch/" + echo 'gpgcheck=1' + echo 'gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7' + echo 'enabled=1' + echo '' + } >> /etc/yum.repos.d/CentOS-Base.repo + + yum clean all + yum update -q -y + # + # Finish change package repo to Vault. + # + + PACKAGE_MANAGER_BIN="yum" + PACKAGE_UPDATE_OPTIONS="update -y" + PACKAGE_INSTALL_OPTIONS="install -y" + + # [NOTE] + # ShellCheck version(0.3.8) is too low to check. + # And in this version, it cannot be passed due to following error. + # "shellcheck: ./test/integration-test-main.sh: hGetContents: invalid argument (invalid byte sequence)" + # + INSTALL_PACKAGES="curl-devel fuse fuse-devel gcc libstdc++-devel llvm-toolset-7-clang-tools-extra gcc-c++ glibc-langpack-en java-11-openjdk-headless libxml2-devel mailcap git automake make openssl openssl-devel attr curl python3 epel-release unzip" + INSTALL_CHECKER_PKGS="cppcheck jq" + INSTALL_CHECKER_PKG_OPTIONS="--enablerepo=epel" + elif [ "${CONTAINER_FULLNAME}" = "fedora:40" ]; then PACKAGE_MANAGER_BIN="dnf" PACKAGE_UPDATE_OPTIONS="update -y -qq"