The following changes since commit 2d416331db2735031e85c8da64ce93382796799b: ci: install isal packages for testing (2024-08-21 20:31:46 +0000) are available in the Git repository at: git://git.kernel.dk/fio.git master for you to fetch changes up to 2a26258077b987ddba0633d07aaec0abfb5462a2: ci: add containers for Alma, Oracle, and Rocky Linux (2024-08-27 18:29:54 +0000) ---------------------------------------------------------------- Vincent Fu (2): ci: install updated bash on macOS platforms via workflow ci: add containers for Alma, Oracle, and Rocky Linux .github/workflows/ci.yml | 6 +++ ci/actions-build.sh | 2 +- ci/actions-install.sh | 103 +++++++++++++++++++++++++++++++++++------------ 3 files changed, 84 insertions(+), 27 deletions(-) --- Diff of recent changes: diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 1601aa9e..6fbba591 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -14,6 +14,9 @@ jobs: container: - {os: 'debian', dh: 'debian', ver: 'bookworm', target_arch: 'x86_64'} - {os: 'fedora', dh: 'fedora', ver: '40', target_arch: 'x86_64'} + - {os: 'alma', dh: 'almalinux', ver: '9', target_arch: 'x86_64'} + - {os: 'oracle', dh: 'oraclelinux', ver: '9', target_arch: 'x86_64'} + - {os: 'rocky', dh: 'rockylinux', ver: '9', target_arch: 'x86_64'} - {os: 'ubuntu', dh: 'ubuntu', ver: 'noble', target_arch: 'i686'} - {os: 'ubuntu', dh: 'ubuntu', ver: 'noble', target_arch: 'x86_64'} @@ -127,6 +130,9 @@ jobs: mingw-w64-${{matrix.arch}}-python-statsmodels mingw-w64-${{matrix.arch}}-python-sphinx + - name: install bash 4 (macOS) + if: ${{ contains( matrix.build, 'macOS' ) }} + run: HOMEBREW_NO_AUTO_UPDATE=1 brew install bash - name: Install dependencies run: ${{matrix.shell}} ./ci/actions-install.sh if: ${{ !contains( matrix.build, 'msys2' ) }} diff --git a/ci/actions-build.sh b/ci/actions-build.sh index de444a22..861ed3a8 100755 --- a/ci/actions-build.sh +++ b/ci/actions-build.sh @@ -38,7 +38,7 @@ main() { ;; esac ;;& - */linux | */ubuntu | */debian | */fedora) + */linux | */ubuntu | */debian | */fedora | */alma | */oracle | */rocky) case "${CI_TARGET_ARCH}" in "i686") extra_cflags="${extra_cflags} -m32" diff --git a/ci/actions-install.sh b/ci/actions-install.sh index 38d39de9..77c511af 100755 --- a/ci/actions-install.sh +++ b/ci/actions-install.sh @@ -1,4 +1,4 @@ -#!/bin/bash +#!/usr/bin/env bash # This script expects to be invoked from the base fio directory. set -eu @@ -102,36 +102,87 @@ DPKGCFG fi } +# Fedora and related distributions install_fedora() { - dnf install -y \ - bison-devel \ - cmake \ - cunit-devel \ - flex-devel \ - isa-l-devel \ - kernel-devel \ - libaio-devel \ - libgfapi-devel \ - libibverbs-devel \ - libiscsi-devel \ - libnbd-devel \ - libnfs-devel \ - libpmem-devel \ - libpmem2-devel \ - librbd-devel \ - numactl-devel \ - protobuf-c-devel \ - python3-scipy \ - python3-sphinx \ - python3-statsmodels \ - unzip \ - valgrind-devel \ - wget \ + pkgs=( + bison-devel + git + cmake + flex-devel + gperftools + isa-l-devel + kernel-devel + libaio-devel + libibverbs-devel + libiscsi-devel + libnbd-devel + libnfs-devel + libpmem-devel + libpmem2-devel + librbd-devel + numactl-devel + protobuf-c-devel + python3-scipy + python3-sphinx + sudo + unzip + valgrind-devel + wget + ) + + case "${CI_TARGET_OS}" in + "fedora") + pkgs+=( + cunit-devel + libgfapi-devel + python3-statsmodels + ) + ;; + "rocky" | "alma" | "oracle") + pkgs+=( + CUnit-devel + python-pip + ) + ;;& + "rocky" | "alma") + pkgs+=( + glusterfs-api-devel + ) + ;; + esac + dnf install -y "${pkgs[@]}" # install librpma from sources ci/actions-install-librpma.sh } +install_rhel_clone() { + dnf install -y epel-release + install_fedora + + # I could not find a python3-statsmodels package in the repos + pip3 install statsmodels +} + +install_oracle() { + dnf config-manager --set-enabled ol9_codeready_builder + install_rhel_clone +} + +install_alma() { + dnf install -y 'dnf-command(config-manager)' + dnf config-manager --set-enabled crb + dnf install -y almalinux-release-devel + install_rhel_clone +} + +install_rocky() { + dnf install -y 'dnf-command(config-manager)' + dnf config-manager --set-enabled crb + dnf config-manager --set-enabled devel + install_rhel_clone +} + install_debian() { install_ubuntu } @@ -145,7 +196,7 @@ install_macos() { #echo "Updating homebrew..." #brew update >/dev/null 2>&1 echo "Installing packages..." - HOMEBREW_NO_AUTO_UPDATE=1 brew install cunit libnfs bash + HOMEBREW_NO_AUTO_UPDATE=1 brew install cunit libnfs pip3 install scipy six statsmodels sphinx }