Skip to content

Commit

Permalink
move python packages to requirements.txt
Browse files Browse the repository at this point in the history
Platform specific scripts in contrib/CI are expected to be run as
root, but python packages should not be automatically installed into
the package manager's directories. They were moved out of the scripts
to requirements.txt so that they can be installed without root.
  • Loading branch information
calccrypto committed Feb 20, 2025
1 parent 6290d24 commit 660cdc9
Show file tree
Hide file tree
Showing 10 changed files with 41 additions and 15 deletions.
20 changes: 17 additions & 3 deletions .github/workflows/check.yml
Original file line number Diff line number Diff line change
Expand Up @@ -69,6 +69,7 @@ env:
CXX: clang++
DEP_INSTALL_PREFIX: ~/.local
COMMON_CONFIG: -DCMAKE_C_FLAGS="-Wall -Wextra -Werror -pedantic" -DCMAKE_CXX_FLAGS="-Wall -Wextra -Werror -pedantic" -DDEP_INSTALL_PREFIX="${DEP_INSTALL_PREFIX}" -DDEP_BUILD_THREADS=2 -DENABLE_SUDO_TESTS=On
PIP_BREAK_SYSTEM_PACKAGES: 1

jobs:
ShellCheck:
Expand All @@ -95,10 +96,11 @@ jobs:
- name: Ubuntu Prerequisites
run: sudo contrib/CI/ubuntu.sh

- name: Install Python Packages
run: python3 -m pip install -r contrib/CI/requirements.txt

- name: Install Extra Python Packages
run: |
sudo apt -y install python3-pip
sudo pip3 install pylint
run: python3 -m pip install pylint

- name: Configure CMake
run: cmake -B ${{ github.workspace }}/build ${{ env.COMMON_CONFIG }}
Expand Down Expand Up @@ -126,6 +128,9 @@ jobs:
- name: Install wget
run: yum -y install wget

- name: Install Python Packages
run: python3 -m pip install -r contrib/CI/requirements.txt

- name: Uninstall CMake from package manager
run: yum -y autoremove cmake3

Expand Down Expand Up @@ -196,6 +201,9 @@ jobs:
- name: Ubuntu Prerequisites
run: sudo contrib/CI/ubuntu.sh

- name: Install Python Packages
run: python3 -m pip install -r contrib/CI/requirements.txt

- name: Configure CMake
run: cmake -B ${{ github.workspace }}/build ${{ env.COMMON_CONFIG }} -DTEST_WORKING_DIRECTORY=/tmp

Expand Down Expand Up @@ -225,6 +233,9 @@ jobs:
- name: Install Valgrind
run: apt -y install valgrind

- name: Install Python Packages
run: python3 -m pip install -r contrib/CI/requirements.txt

- name: Configure CMake
run: cmake -B ${{ github.workspace }}/build ${{ env.COMMON_CONFIG }}

Expand All @@ -250,6 +261,9 @@ jobs:
- name: Ubuntu Prerequisites
run: sudo contrib/CI/ubuntu.sh

- name: Install Python Packages
run: python3 -m pip install -r contrib/CI/requirements.txt

- name: Configure CMake
run: cmake -B ${{ github.workspace }}/build ${{ env.COMMON_CONFIG }} -DDEP_USE_JEMALLOC=Off -DTEST_WORKING_DIRECTORY="$(pwd)"

Expand Down
4 changes: 4 additions & 0 deletions .github/workflows/codecov.yml
Original file line number Diff line number Diff line change
Expand Up @@ -69,6 +69,7 @@ env:
CXX: g++
DEP_INSTALL_PREFIX: ~/.local
COMMON_CONFIG: -DCMAKE_C_FLAGS="-Wall -Wextra -Werror -pedantic" -DCMAKE_CXX_FLAGS="-Wall -Wextra -Werror -pedantic -std=c++11" -DDEP_INSTALL_PREFIX="${DEP_INSTALL_PREFIX}" -DDEP_BUILD_THREADS=2 -DENABLE_SUDO_TESTS=On -DGCOV=On -DCMAKE_BUILD_TYPE=Debug
PIP_BREAK_SYSTEM_PACKAGES: 1

jobs:
CodeCoverage:
Expand All @@ -84,6 +85,9 @@ jobs:
- name: Ubuntu Prerequisites
run: sudo contrib/CI/ubuntu.sh

- name: Install Python Packages
run: python3 -m pip install -r contrib/CI/requirements.txt

- name: Coverage Prerequisites
run: |
sudo apt install gcovr
Expand Down
4 changes: 4 additions & 0 deletions .github/workflows/codeql.yml
Original file line number Diff line number Diff line change
Expand Up @@ -69,6 +69,7 @@ env:
CXX: clang++
DEP_INSTALL_PREFIX: ~/.local
COMMON_CONFIG: -DCMAKE_C_FLAGS="-Wall -Wextra -Werror -pedantic" -DCMAKE_CXX_FLAGS="-Wall -Wextra -Werror -pedantic" -DDEP_INSTALL_PREFIX="${DEP_INSTALL_PREFIX}" -DDEP_BUILD_THREADS=2 -DENABLE_SUDO_TESTS=On
PIP_BREAK_SYSTEM_PACKAGES: 1

jobs:
SecurityCheck:
Expand All @@ -92,6 +93,9 @@ jobs:
- name: Ubuntu Prerequisites
run: sudo contrib/CI/ubuntu.sh

- name: Install Python Packages
run: python3 -m pip install -r contrib/CI/requirements.txt

- name: Configure CMake
run: cmake -B ${{ github.workspace }}/build ${{ env.COMMON_CONFIG }}

Expand Down
4 changes: 4 additions & 0 deletions .github/workflows/rpm.yml
Original file line number Diff line number Diff line change
Expand Up @@ -69,6 +69,7 @@ env:
CXX: clang++
DEP_INSTALL_PREFIX: ~/.local
COMMON_CONFIG: -DCMAKE_C_FLAGS="-Wall -Wextra -Werror -pedantic" -DCMAKE_CXX_FLAGS="-Wall -Wextra -Werror -pedantic" -DDEP_INSTALL_PREFIX="${DEP_INSTALL_PREFIX}" -DDEP_BUILD_THREADS=2
PIP_BREAK_SYSTEM_PACKAGES: 1

jobs:
RPMs:
Expand All @@ -89,6 +90,9 @@ jobs:
- name: Rocky Linux Prerequisites
run: contrib/CI/rockylinux.sh

- name: Install Python Packages
run: python3 -m pip install -r contrib/CI/requirements.txt

- name: Configure CMake
run: |
mkdir build
Expand Down
10 changes: 10 additions & 0 deletions .github/workflows/test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -69,6 +69,7 @@ env:
CXX: clang++
DEP_INSTALL_PREFIX: ~/.local
COMMON_CONFIG: -DCMAKE_C_FLAGS="-Wall -Wextra -Werror -pedantic" -DCMAKE_CXX_FLAGS="-Wall -Wextra -Werror -pedantic" -DDEP_INSTALL_PREFIX="${DEP_INSTALL_PREFIX}" -DDEP_BUILD_THREADS=2 -DENABLE_SUDO_TESTS=On
PIP_BREAK_SYSTEM_PACKAGES: 1

jobs:
Linux:
Expand Down Expand Up @@ -99,6 +100,9 @@ jobs:
if: startsWith(matrix.img, 'ubuntu:')
run: contrib/CI/ubuntu.sh

- name: Install Python Packages
run: python3 -m pip install -r contrib/CI/requirements.txt

- name: Configure CMake
run: cmake -B ${{ github.workspace }}/build ${{ env.COMMON_CONFIG }}

Expand Down Expand Up @@ -126,6 +130,9 @@ jobs:
- name: macOS Prerequisites
run: contrib/CI/macos.sh

- name: Install Python Packages
run: python3 -m pip install -r contrib/CI/requirements.txt

- name: Configure CMake
run: cmake -B ${{ github.workspace }}/build ${{ env.COMMON_CONFIG }} -DTEST_WORKING_DIRECTORY="$(pwd)"

Expand Down Expand Up @@ -157,6 +164,9 @@ jobs:
- name: Set Up Python3
run: ln -sf /usr/bin/python3.9 /usr/bin/python3

- name: Install Python Packages
run: python3 -m pip install -r contrib/CI/requirements.txt

- name: Configure CMake
run: >-
export PATH=/usr/bin:$(cygpath ${SYSTEMROOT})/system32 &&
Expand Down
3 changes: 0 additions & 3 deletions contrib/CI/centos8.sh
Original file line number Diff line number Diff line change
Expand Up @@ -78,6 +78,3 @@ yum -y install attr autoconf clang cmake3 diffutils fuse git make patch pkgconfi

# SQLAlchemy needs Python.h
yum -y install python3-devel

# install pip packages
python3 -m pip install pugsql sqlalchemy
3 changes: 0 additions & 3 deletions contrib/CI/macos.sh
Original file line number Diff line number Diff line change
Expand Up @@ -78,6 +78,3 @@ brew install autoconf coreutils cmake pcre2 python
# get osxfuse from homebrew/cask
brew tap homebrew/cask
brew install --cask osxfuse || true # brew 4.0.0 switches to macfuse, but pkg-config can't find it

# install pip packages
PIP_BREAK_SYSTEM_PACKAGES=1 python3 -m pip install pugsql sqlalchemy
2 changes: 2 additions & 0 deletions contrib/CI/requirements.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
pugsql
sqlalchemy
3 changes: 0 additions & 3 deletions contrib/CI/rockylinux.sh
Original file line number Diff line number Diff line change
Expand Up @@ -75,6 +75,3 @@ dnf -y install attr autoconf clang cmake3 findutils fuse git make patch pkgconfi

# SQLAlchemy needs Python.h
yum -y install python3-devel

# install pip packages
python3 -m pip install pugsql sqlalchemy
3 changes: 0 additions & 3 deletions contrib/CI/ubuntu.sh
Original file line number Diff line number Diff line change
Expand Up @@ -88,6 +88,3 @@ apt -y install \
python3 \
python3-pip \
sudo

# install pip packages
PIP_BREAK_SYSTEM_PACKAGES=1 python3 -m pip install pugsql sqlalchemy

0 comments on commit 660cdc9

Please sign in to comment.