Recent changes (master)

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



The following changes since commit 7bc12310ac39f8bf694a6785d027e4cee96dbbdf:

  Merge branch 'errdetails' of https://github.com/minwooim/fio (2024-08-16 08:21:20 -0600)

are available in the Git repository at:

  git://git.kernel.dk/fio.git master

for you to fetch changes up to 2d416331db2735031e85c8da64ce93382796799b:

  ci: install isal packages for testing (2024-08-21 20:31:46 +0000)

----------------------------------------------------------------
Vincent Fu (3):
      ci: remove arm64 case for tests
      ci: run tests in containers
      ci: install isal packages for testing

 .github/workflows/ci.yml | 32 ++++++++++++++++++++++++
 ci/actions-build.sh      | 14 ++++++++---
 ci/actions-full-test.sh  | 28 ++++++++++++++++++---
 ci/actions-install.sh    | 63 ++++++++++++++++++++++++++++++++++++++++++++++--
 4 files changed, 128 insertions(+), 9 deletions(-)

---

Diff of recent changes:

diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml
index e53082c3..1601aa9e 100644
--- a/.github/workflows/ci.yml
+++ b/.github/workflows/ci.yml
@@ -5,6 +5,38 @@ on:
   pull_request:
 
 jobs:
+  build-containers:
+    runs-on: ubuntu-latest
+
+    strategy:
+      fail-fast: false
+      matrix:
+        container:
+        - {os: 'debian', dh: 'debian', ver: 'bookworm', target_arch: 'x86_64'}
+        - {os: 'fedora', dh: 'fedora', ver: '40', target_arch: 'x86_64'}
+        - {os: 'ubuntu', dh: 'ubuntu', ver: 'noble', target_arch: 'i686'}
+        - {os: 'ubuntu', dh: 'ubuntu', ver: 'noble', target_arch: 'x86_64'}
+
+    container:
+      image: ${{ matrix.container.dh }}:${{ matrix.container.ver }}
+      env:
+        CI_TARGET_BUILD: Linux
+        CI_TARGET_ARCH: ${{ matrix.container.target_arch }}
+        CI_TARGET_OS: ${{ matrix.container.os }}
+        CI_TARGET_OS_VER: ${{ matrix.container.ver }}
+
+    steps:
+    - name: Checkout repo
+      uses: actions/checkout@v4
+    - name: Install dependencies
+      run:  ./ci/actions-install.sh
+    - name: Build
+      run:  ./ci/actions-build.sh
+    - name: Smoke test
+      run:  ./ci/actions-smoke-test.sh
+    - name: Full test
+      run:  ./ci/actions-full-test.sh
+
   build:
     runs-on: ${{ matrix.os }}
     strategy:
diff --git a/ci/actions-build.sh b/ci/actions-build.sh
index 47d4f044..de444a22 100755
--- a/ci/actions-build.sh
+++ b/ci/actions-build.sh
@@ -1,4 +1,4 @@
-#!/bin/bash
+#!/usr/bin/env bash
 # This script expects to be invoked from the base fio directory.
 set -eu
 
@@ -29,7 +29,16 @@ main() {
                 return 1
             fi
             ;;
-        */linux)
+        */linux | */ubuntu)
+            case "${CI_TARGET_ARCH}" in
+                "x86_64")
+                    configure_flags+=(
+                        "--enable-cuda"
+                    )
+                    ;;
+	    esac
+	    ;;&
+        */linux | */ubuntu | */debian | */fedora)
             case "${CI_TARGET_ARCH}" in
                 "i686")
                     extra_cflags="${extra_cflags} -m32"
@@ -37,7 +46,6 @@ main() {
                     ;;
                 "x86_64")
                     configure_flags+=(
-                        "--enable-cuda"
                         "--enable-libiscsi"
                         "--enable-libnbd"
                     )
diff --git a/ci/actions-full-test.sh b/ci/actions-full-test.sh
index d2fb4201..23bdd219 100755
--- a/ci/actions-full-test.sh
+++ b/ci/actions-full-test.sh
@@ -10,11 +10,31 @@ main() {
 
     echo "Running long running tests..."
     export PYTHONUNBUFFERED="TRUE"
-    if [[ "${CI_TARGET_ARCH}" == "arm64" ]]; then
-        python3 t/run-fio-tests.py --skip 6 1007 1008 --debug -p 1010:"--skip 15 16 17 18 19 20"
-    else
-        python3 t/run-fio-tests.py --skip 6 1007 1008 --debug
+    skip=(
+        6
+	1007
+	1008
+    )
+    args=(
+        --debug
+    )
+    if [ "${GITHUB_JOB}" == "build-containers" ]; then
+        # io_uring is disabled in containers
+        # so skip the io_uring test
+        skip+=(
+            18
+        )
+	# cmd priority does not work in containers
+	# so skip the related latency test cases
+	args+=(
+	    -p
+            "1010:--skip 15 16 17 18 19 20 21 22"
+        )
+
     fi
+
+    echo python3 t/run-fio-tests.py --skip "${skip[@]}" "${args[@]}"
+    python3 t/run-fio-tests.py --skip "${skip[@]}" "${args[@]}"
     make -C doc html
 }
 
diff --git a/ci/actions-install.sh b/ci/actions-install.sh
index 6eb2d795..38d39de9 100755
--- a/ci/actions-install.sh
+++ b/ci/actions-install.sh
@@ -9,6 +9,12 @@ SCRIPT_DIR=$(dirname "$0")
 install_ubuntu() {
     local pkgs
 
+    if [ "${GITHUB_JOB}" == "build-containers" ]; then
+        # containers run as root and do not have sudo
+        apt update
+        apt -y install sudo
+    fi
+
     cat <<DPKGCFG | sudo tee /etc/dpkg/dpkg.cfg.d/dpkg-speedup > /dev/null
 # Skip fsync
 force-unsafe-io
@@ -17,6 +23,7 @@ path-exclude=/usr/share/man/*
 path-exclude=/usr/share/locale/*/LC_MESSAGES/*.mo
 path-exclude=/usr/share/doc/*
 DPKGCFG
+
     # Packages available on i686 and x86_64
     pkgs=(
         libaio-dev
@@ -43,6 +50,7 @@ DPKGCFG
             pkgs+=(
                 libglusterfs-dev
                 libgoogle-perftools-dev
+                libisal-dev
                 libiscsi-dev
                 libnbd-dev
                 libpmem-dev
@@ -50,12 +58,18 @@ DPKGCFG
                 libprotobuf-c-dev
                 librbd-dev
                 libtcmalloc-minimal4
-                nvidia-cuda-dev
                 libibverbs-dev
                 librdmacm-dev
+	        pkg-config
             )
 	    echo "Removing libunwind-14-dev because of conflicts with libunwind-dev"
 	    sudo apt remove -y libunwind-14-dev
+	    if [ "${CI_TARGET_OS}" == "linux" ] || [ "${CI_TARGET_OS}" == "ubuntu" ]; then
+	        # Only for Ubuntu
+		pkgs+=(
+		   nvidia-cuda-dev
+		)
+	    fi
             ;;
     esac
 
@@ -66,6 +80,17 @@ DPKGCFG
 	python3-sphinx
 	python3-statsmodels
     )
+    if [ "${GITHUB_JOB}" == "build-containers" ]; then
+        pkgs+=(
+            bison
+            build-essential
+            cmake
+            flex
+            unzip
+            wget
+            zlib1g-dev
+        )
+    fi
 
     echo "Updating APT..."
     sudo apt-get -qq update
@@ -77,6 +102,40 @@ DPKGCFG
     fi
 }
 
+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 \
+
+    # install librpma from sources
+    ci/actions-install-librpma.sh
+}
+
+install_debian() {
+    install_ubuntu
+}
+
 install_linux() {
     install_ubuntu
 }
@@ -86,7 +145,7 @@ install_macos() {
     #echo "Updating homebrew..."
     #brew update >/dev/null 2>&1
     echo "Installing packages..."
-    HOMEBREW_NO_AUTO_UPDATE=1 brew install cunit libnfs
+    HOMEBREW_NO_AUTO_UPDATE=1 brew install cunit libnfs bash
     pip3 install scipy six statsmodels sphinx
 }
 




[Index of Archives]     [Linux Kernel]     [Linux SCSI]     [Linux IDE]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux SCSI]

  Powered by Linux