diff --git a/.github/workflows/centos-and-fedora.yml b/.github/workflows/centos-and-fedora.yml index abd34a803c..b2a395ac2b 100644 --- a/.github/workflows/centos-and-fedora.yml +++ b/.github/workflows/centos-and-fedora.yml @@ -59,7 +59,6 @@ jobs: # Any other version has to be built explicitly ! # Pls refer to https://github.com/rnpgp/rnp-ci-containers#readme for more image details image: - - { name: 'CentOS 7', container: 'centos-7-amd64', backend: 'Botan', botan_ver: 'system', gpg_ver: 'stable' } - { name: 'CentOS 9', container: 'centos-9-amd64', backend: 'Botan', botan_ver: 'system', gpg_ver: 'system' } - { name: 'CentOS 9', container: 'centos-9-amd64', backend: 'Botan', botan_ver: 'system', sm2: Off, gpg_ver: 'lts' } - { name: 'Fedora 39', container: 'fedora-39-amd64', backend: 'Botan', botan_ver: 'system', gpg_ver: 'system' } @@ -73,14 +72,7 @@ jobs: - { name: 'RHEL 8', container: 'redhat-8-ubi', backend: 'OpenSSL', gpg_ver: 'system' } - { name: 'RHEL 9', container: 'redhat-9-ubi', backend: 'OpenSSL', gpg_ver: 'system' } -# There is some ABI incompatibility between llvm-7, bitan shared library from ribose repo and sanitizer -# So we are enforving static lib for sanitizers on CentOS 7 - exclude: - - image: { name: 'CentOS 7', container: 'centos-7-amd64', gpg_ver: stable, backend: Botan, botan_ver: 'system' } - env: { CC: clang, CXX: clang++, BUILD_MODE: sanitize, SHARED_LIBS: on } include: - - image: { name: 'CentOS 7', container: 'centos-7-amd64', gpg_ver: stable, backend: Botan, botan_ver: 'system' } - env: { CC: clang, CXX: clang++, BUILD_MODE: sanitize, SHARED_LIBS: off } # Coverage report for Botan 2.x backend - image: { name: 'CentOS 9 Coverage', container: 'centos-9-amd64', gpg_ver: stable, backend: Botan, botan_ver: 'system' } env: { CC: gcc, CXX: g++, BUILD_MODE: coverage, SHARED_LIBS: on } @@ -107,15 +99,7 @@ jobs: env: ${{ matrix.env }} steps: - # CentOS 7 doesn't support node.js:20. To be removed once it is EOLed at June, 2024. - - name: Checkout v3 - if: matrix.image.container == 'centos-7-amd64' - uses: actions/checkout@v3 - with: - submodules: true - - - name: Checkout v4 - if: matrix.image.container != 'centos-7-amd64' + - name: Checkout uses: actions/checkout@v4 with: submodules: true @@ -204,15 +188,8 @@ jobs: if: env.BUILD_MODE != 'coverage' && env.SHARED_LIBS == 'on' run: cmake --install build - - name: Checkout shell test framework v3 - if: env.BUILD_MODE != 'coverage' && env.SHARED_LIBS == 'on' && matrix.image.container == 'centos-7-amd64' - uses: actions/checkout@v3 - with: - repository: kward/shunit2 - path: ci/tests/shunit2 - - - name: Checkout shell test framework v4 - if: env.BUILD_MODE != 'coverage' && env.SHARED_LIBS == 'on' && matrix.image.container != 'centos-7-amd64' + - name: Checkout shell test framework + if: env.BUILD_MODE != 'coverage' && env.SHARED_LIBS == 'on' uses: actions/checkout@v4 with: repository: kward/shunit2 @@ -231,7 +208,6 @@ jobs: fail-fast: false matrix: image: - - { name: 'CentOS 7', container: 'centos-7-amd64' } - { name: 'CentOS 9', container: 'centos-9-amd64' } - { name: 'Fedora 39', container: 'fedora-39-amd64' } - { name: 'Fedora 40', container: 'fedora-40-amd64' } @@ -242,14 +218,7 @@ jobs: - name: Install rpm tools run: yum -y install rpm-build - - name: Checkout v3 - if: matrix.image.container == 'centos-7-amd64' - uses: actions/checkout@v3 - with: - submodules: true - - - name: Checkout v4 - if: matrix.image.container != 'centos-7-amd64' + - name: Checkout uses: actions/checkout@v4 with: submodules: true @@ -260,32 +229,14 @@ jobs: - name: Package SRPM run: cpack -B build/SRPM -G RPM --config build/CPackSourceConfig.cmake - - name: Upload SRPM v3 - if: matrix.image.container == 'centos-7-amd64' - uses: actions/upload-artifact@v3 - with: - name: 'SRPM ${{ matrix.image.name }}' - path: 'build/SRPM/*.src.rpm' - retention-days: 5 - - - name: Upload SRPM v4 - if: matrix.image.container != 'centos-7-amd64' + - name: Upload SRPM uses: actions/upload-artifact@v4 with: name: 'SRPM ${{ matrix.image.name }}' path: 'build/SRPM/*.src.rpm' retention-days: 5 - - name: Stash packaging tests v3 - if: matrix.image.container == 'centos-7-amd64' - uses: actions/upload-artifact@v3 - with: - name: 'tests-${{ matrix.image.name }}' - path: 'ci/tests/**' - retention-days: 1 - - - name: Stash packaging tests v4 - if: matrix.image.container != 'centos-7-amd64' + - name: Stash packaging tests uses: actions/upload-artifact@v4 with: name: 'tests-${{ matrix.image.name }}' @@ -301,7 +252,6 @@ jobs: fail-fast: false matrix: image: - - { name: 'CentOS 7', container: 'centos-7-amd64' } - { name: 'CentOS 9', container: 'centos-9-amd64' } - { name: 'Fedora 39', container: 'fedora-39-amd64' } - { name: 'Fedora 40', container: 'fedora-40-amd64' } @@ -311,15 +261,7 @@ jobs: - name: Install rpm tools run: yum -y install rpm-build - - name: Download SRPM v3 - if: matrix.image.container == 'centos-7-amd64' - uses: actions/download-artifact@v3 - with: - name: 'SRPM ${{ matrix.image.name }}' - path: ~/rpmbuild/SRPMS - - - name: Download SRPM v4 - if: matrix.image.container != 'centos-7-amd64' + - name: Download SRPM uses: actions/download-artifact@v4 with: name: 'SRPM ${{ matrix.image.name }}' @@ -339,16 +281,7 @@ jobs: - name: Package rpm run: cpack -G RPM -B ~/rpmbuild/SOURCES/RPMS --config ~/rpmbuild/SOURCES/BUILD/CPackConfig.cmake - - name: Upload Artifact v3 - if: matrix.image.container == 'centos-7-amd64' - uses: actions/upload-artifact@v3 - with: - name: 'RPM ${{ matrix.image.name}}' - path: '~/rpmbuild/SOURCES/RPMS/*.rpm' - retention-days: 5 - - - name: Upload Artifact v4 - if: matrix.image.container != 'centos-7-amd64' + - name: Upload Artifact uses: actions/upload-artifact@v4 with: name: 'RPM ${{ matrix.image.name}}' @@ -368,7 +301,6 @@ jobs: fail-fast: false matrix: image: - - { name: 'CentOS 7', container: 'centos:7' } - { name: 'CentOS 9', container: 'quay.io/centos/centos:stream9' } # Fedora 39 is disabled since it has cmake issue which prevents man pages to be packaged. # Please see package step for error message. @@ -380,16 +312,8 @@ jobs: - name: Install prerequisites run: yum -y install sudo wget binutils -# CentOS 7 packages depend on botan.so.16 that gets installed from ribose repo # Fedora 39/40 packages depend on botan.so.19 that comes Fedora package, that is available by default # CentOS 9 depend on botan.so.19 and needs EPEL9 repo that needs to be installed -# ribose repo is also a source of json-c (v12 aka json-c12) for CentOS 7 - - - name: Install ribose-packages - if: matrix.image.container == 'centos:7' - run: | - sudo rpm --import https://github.com/riboseinc/yum/raw/master/ribose-packages-next.pub - sudo wget https://github.com/riboseinc/yum/raw/master/ribose.repo -O /etc/yum.repos.d/ribose.repo - name: Install epel-release if: matrix.image.container == 'quay.io/centos/centos:stream9' @@ -402,40 +326,18 @@ jobs: if: matrix.image.container == 'fedora:39' run: sudo yum -y install findutils - - name: Download rnp rpms v3 - if: matrix.image.container == 'centos:7' - uses: actions/download-artifact@v3 - with: - name: 'RPM ${{ matrix.image.name}}' - - - name: Download rnp rpms v4 - if: matrix.image.container != 'centos:7' + - name: Download rnp rpms uses: actions/download-artifact@v4 with: name: 'RPM ${{ matrix.image.name}}' - - name: Checkout shell test framework v3 - if: matrix.image.container == 'centos:7' - uses: actions/checkout@v3 - with: - repository: kward/shunit2 - path: ci/tests/shunit2 - - - name: Checkout shell test framework v4 - if: matrix.image.container != 'centos:7' + - name: Checkout shell test framework uses: actions/checkout@v4 with: repository: kward/shunit2 path: ci/tests/shunit2 - - name: Unstash tests v3 - if: matrix.image.container == 'centos:7' - uses: actions/download-artifact@v3 - with: - name: tests-${{ matrix.image.name }} - path: ci/tests - - - name: Unstash tests v4 + - name: Unstash tests if: matrix.image.container != 'centos:7' uses: actions/download-artifact@v4 with: @@ -465,14 +367,8 @@ jobs: wget https://github.com/Kitware/CMake/releases/download/v3.12.0/cmake-3.12.0-Linux-x86_64.sh -O cmake/cmake.sh sudo sh cmake/cmake.sh --skip-license --prefix=/usr/local -# Ribose repo provides json-c12-devel for CentOS7; # el8, el9, fr35, fr36 provide json-c-devel (version 12+) - - name: Setup json-c12 - if: matrix.image.container == 'centos:7' - run: sudo yum -y install json-c12-devel - - name: Setup json-c - if: matrix.image.container != 'centos:7' run: sudo yum -y install json-c-devel - name: Run packaging tests diff --git a/README.adoc b/README.adoc index cbd3e575ab..2cca53f2fc 100644 --- a/README.adoc +++ b/README.adoc @@ -2,7 +2,6 @@ image:https://github.com/rnpgp/rnp/workflows/macos/badge.svg["macOS Build Status", link="https://github.com/rnpgp/rnp/actions?workflow=macos"] image:https://github.com/rnpgp/rnp/workflows/ubuntu/badge.svg["Ubuntu Build Status", link="https://github.com/rnpgp/rnp/actions?workflow=ubuntu"] -image:https://github.com/rnpgp/rnp/workflows/centos7/badge.svg["CentOS 7 Build Status", link="https://github.com/rnpgp/rnp/actions?workflow=centos7"] image:https://github.com/rnpgp/rnp/workflows/windows-native/badge.svg["Windows Native Build Status", link="https://github.com/rnpgp/rnp/actions?workflow=windows-native"] image:https://github.com/rnpgp/rnp/workflows/windows-msys2/badge.svg["Windows MSys2 Build Status", link="https://github.com/rnpgp/rnp/actions?workflow=windows-msys2"] image:https://github.com/rnpgp/rnp/workflows/nix/badge.svg["Nix Build Status", link="https://github.com/rnpgp/rnp/actions?workflow=nix"]