Skip to content

fix: Apply suggestions from peer review #1664

fix: Apply suggestions from peer review

fix: Apply suggestions from peer review #1664

name: Run Unit and Ganesha Tests
on:
push:
pull_request:
branches:
- "*"
jobs:
Run-Unit-Tests-and-Ganesha:
runs-on: ubuntu-24.04
env:
SAUNAFS_TEST_TIMEOUT_MULTIPLIER: 2
steps:
- name: Checkout repository
uses: actions/checkout@v4
- name: Install nfs-ganesha v4.3 from Ubuntu repository
run: |
sudo apt update
sudo apt install -y nfs-common nfs-ganesha nfs-ganesha-vfs
- name: Set up Python
uses: actions/setup-python@v4
with:
python-version: "3.x"
- name: Install SaunaFS dependencies, setup environment and build
run: |
sudo mkdir /mnt/hd{b,c,d}
cd $GITHUB_WORKSPACE/tests
sudo ./setup_machine.sh setup /mnt/hdb /mnt/hdc /mnt/hdd
cd $GITHUB_WORKSPACE
$GITHUB_WORKSPACE/utils/vcpkg_setup.sh
vcpkg install --triplet x64-linux
- name: Build SaunaFS
run: |
source /var/lib/saunafs_setup_machine_venv/bin/activate
mkdir -p build
cd build
nice cmake \
-DCMAKE_TOOLCHAIN_FILE="${HOME}/vcpkg/scripts/buildsystems/vcpkg.cmake" \
-DENABLE_CLIENT_LIB=ON \
-DENABLE_DOCS=ON \
-DENABLE_NFS_GANESHA=ON \
-DENABLE_POLONAISE=OFF \
-DENABLE_URAFT=ON \
-DGSH_CAN_HOST_LOCAL_FS=ON \
-DCMAKE_BUILD_TYPE=RelWithDebInfo \
-DCMAKE_INSTALL_PREFIX="${GITHUB_WORKSPACE}/install/saunafs/" \
-DENABLE_TESTS=ON \
-DCODE_COVERAGE=OFF \
-DSAUNAFS_TEST_POINTER_OBFUSCATION=ON \
-DENABLE_WERROR=ON \
"${GITHUB_WORKSPACE}"
make -j"$(nproc)" install
- name: Run Unit Tests suite
run: |
"${GITHUB_WORKSPACE}/build/src/unittests/unittests" --gtest_color=yes
- name: Run Ganesha suite
run: |
sudo chmod o+xr /home/runner/
sudo chown saunafstest:saunafstest /mnt/saunafstest_loop_*
sudo chown saunafstest:saunafstest /mnt/hd{b,c,d}
chmod +x "${GITHUB_WORKSPACE}/tests/ci_build/run-ganesha-tests.sh"
"${GITHUB_WORKSPACE}/tests/ci_build/run-ganesha-tests.sh"