aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAshley Pittman <ashley@pittman.co.uk>2024-03-23 19:50:59 +0000
committerBernd Schubert <bernd.schubert@fastmail.fm>2024-03-27 17:26:14 +0100
commite3bd7de51770d8f7c10e3e20d5b46cc4715ab153 (patch)
tree15c7608113e4f6cc130ec5f282a9c121b9e34665
parentdd95d13aaca940a310628f31bfcdd2deb38ad377 (diff)
downloadlibfuse-e3bd7de51770d8f7c10e3e20d5b46cc4715ab153.tar.gz
Install all test/build python packages from requirements.txt
Have GitHub actions setup python on runners and install all python dependencies via pip. Signed-off-by: Ashley Pittman <ashley@pittman.co.uk>
-rw-r--r--.github/workflows/pr-ci.yml7
-rw-r--r--requirements.txt8
-rwxr-xr-xtest/ci-build.sh6
-rwxr-xr-xtest/ci-install.sh9
4 files changed, 16 insertions, 14 deletions
diff --git a/.github/workflows/pr-ci.yml b/.github/workflows/pr-ci.yml
index 3b1b76e..f4e0c46 100644
--- a/.github/workflows/pr-ci.yml
+++ b/.github/workflows/pr-ci.yml
@@ -23,8 +23,11 @@ jobs:
steps:
- name: Install dependencies (Ubuntu)
if: runner.os == 'Linux'
- run: sudo apt-get update && sudo apt-get install -y clang doxygen gcc gcc-10 gcc-9 libstdc++-10-dev libstdc++-9-dev ninja-build python3-pip python3-setuptools valgrind
+ run: sudo apt-get update && sudo apt-get install -y clang doxygen gcc gcc-10 gcc-9 valgrind
- uses: actions/checkout@9bb56186c3b09b4f86b1c65136769dd318469633 # v4.1.2
- - run: test/ci-install.sh
+ - uses: actions/setup-python@v5
+ with:
+ python-version: '3.12'
+ - run: pip install -r requirements.txt
- run: test/ci-build.sh
diff --git a/requirements.txt b/requirements.txt
new file mode 100644
index 0000000..42cafe0
--- /dev/null
+++ b/requirements.txt
@@ -0,0 +1,8 @@
+# Packages required for building and testing libfuse only,
+# no python code is required when using libfuse.
+# Build packages:
+meson
+ninja
+# Test packages:
+looseversion
+pytest
diff --git a/test/ci-build.sh b/test/ci-build.sh
index 11ec5d5..af1e07a 100755
--- a/test/ci-build.sh
+++ b/test/ci-build.sh
@@ -56,7 +56,7 @@ non_sanitized_build()
meson setup -Dprefix=${PREFIX_DIR} -D werror=true ${build_opts} "${SOURCE_DIR}" || (cat meson-logs/meson-log.txt; false)
ninja
- sudo ninja install
+ sudo env PATH=$PATH ninja install
# libfuse will first try the install path and then system defaults
sudo chmod 4755 ${PREFIX_DIR}/bin/fusermount3
@@ -99,7 +99,7 @@ sanitized_build()
# reconfigure to ensure it uses all additional options
meson setup --reconfigure "${SOURCE_DIR}"
ninja
- sudo ninja install
+ sudo env PATH=$PATH ninja install
sudo chmod 4755 ${PREFIX_DIR}/bin/fusermount3
# also needed for some of the tests
@@ -107,7 +107,7 @@ sanitized_build()
sudo chmod 4755 util/fusermount3
# Test as root and regular user
- sudo ${TEST_CMD}
+ sudo env PATH=$PATH ${TEST_CMD}
# Cleanup temporary files (since they are now owned by root)
sudo rm -rf test/.pytest_cache/ test/__pycache__
diff --git a/test/ci-install.sh b/test/ci-install.sh
deleted file mode 100755
index 2d7b517..0000000
--- a/test/ci-install.sh
+++ /dev/null
@@ -1,9 +0,0 @@
-#!/bin/sh
-
-set -e
-
-sudo python3 -m pip install --upgrade pip
-sudo python3 -m pip install pytest meson==1.0.1 looseversion
-valgrind --version
-ninja --version
-meson --version