From fed3f1c2f750c5294a56eeb8d72445b63bc77540 Mon Sep 17 00:00:00 2001 From: Benjamin Rodenberg Date: Thu, 27 Feb 2025 12:02:46 +0100 Subject: [PATCH 1/6] Install into venv. --- .github/workflows/build-and-test.yml | 25 +++++++++++++++++-------- 1 file changed, 17 insertions(+), 8 deletions(-) diff --git a/.github/workflows/build-and-test.yml b/.github/workflows/build-and-test.yml index 6c1930e9..c761985f 100644 --- a/.github/workflows/build-and-test.yml +++ b/.github/workflows/build-and-test.yml @@ -22,13 +22,16 @@ jobs: apt-get -yy update apt-get install -y python3-pip pkg-config rm -rf /var/lib/apt/lists/* - pip3 install --upgrade --user pip + - name: Create venv + run: | + python3 -m venv .venv + . .venv/bin/activate - name: Install dependencies run: | - pip3 install --user toml + pip3 install toml python3 -c 'import toml; c = toml.load("pyproject.toml"); print("\n".join(c["build-system"]["requires"]))' | pip3 install -r /dev/stdin - name: Run setup install - run: python3 setup.py install --user + run: python3 setup.py install - name: Test install run: | export LD_LIBRARY_PATH=/usr/local/lib:$LD_LIBRARY_PATH @@ -85,10 +88,13 @@ jobs: apt-get -yy update apt-get install -y python3-pip pkg-config rm -rf /var/lib/apt/lists/* - pip3 install --upgrade --user pip - - name: Run pip install - run: pip3 install --user . + - name: Create venv + run: | + python3 -m venv .venv + . .venv/bin/activate - name: Run pip install + run: pip3 install . + - name: Check import run: | export LD_LIBRARY_PATH=/usr/local/lib:$LD_LIBRARY_PATH python3 -c "import precice" @@ -108,9 +114,12 @@ jobs: apt-get -yy update apt-get install -y python3-pip pkg-config rm -rf /var/lib/apt/lists/* - pip3 install --upgrade --user pip + - name: Create venv + run: | + python3 -m venv .venv + . .venv/bin/activate - name: Run pip install - run: pip3 install --user . + run: pip3 install . - name: Run solverdummy run: | export LD_LIBRARY_PATH=/usr/local/lib:$LD_LIBRARY_PATH From a0bf9841596e31a8c357d0adb1fc478354aa8ea1 Mon Sep 17 00:00:00 2001 From: Benjamin Rodenberg Date: Thu, 27 Feb 2025 12:05:35 +0100 Subject: [PATCH 2/6] Update solverdummies to venv. --- .github/workflows/run-solverdummy.yml | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/.github/workflows/run-solverdummy.yml b/.github/workflows/run-solverdummy.yml index fa03423a..5400720f 100644 --- a/.github/workflows/run-solverdummy.yml +++ b/.github/workflows/run-solverdummy.yml @@ -21,7 +21,10 @@ jobs: apt-get -qq update apt-get -qq install software-properties-common python3-dev python3-pip git apt-utils pkg-config rm -rf /var/lib/apt/lists/* - pip3 install --upgrade --user pip + - name: Create venv + run: | + python3 -m venv .venv + . .venv/bin/activate - name: Install bindings run: pip3 install --user . - name: Check whether preCICE was built with MPI # reformat version information as a dict and check whether preCICE was compiled with MPI @@ -29,4 +32,4 @@ jobs: - name: Run solverdummies run: | cd examples/solverdummy/ - python3 solverdummy.py precice-config.xml SolverOne & python3 solverdummy.py precice-config.xml SolverTwo + python3 solverdummy.py precice-config.xml SolverOne & python3 solverdummy.py precice-config.xml SolverTwo \ No newline at end of file From 592e6dd8b1f1bd845991d17266f14c997e9315e0 Mon Sep 17 00:00:00 2001 From: Benjamin Rodenberg Date: Thu, 27 Feb 2025 12:07:54 +0100 Subject: [PATCH 3/6] Install venv dependency. --- .github/workflows/build-and-test.yml | 10 +++++----- .github/workflows/run-solverdummy.yml | 2 +- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/.github/workflows/build-and-test.yml b/.github/workflows/build-and-test.yml index c761985f..3c0f27f7 100644 --- a/.github/workflows/build-and-test.yml +++ b/.github/workflows/build-and-test.yml @@ -20,7 +20,7 @@ jobs: - name: Install pip3, pkgconfig and upgrade pip3 run: | apt-get -yy update - apt-get install -y python3-pip pkg-config + apt-get install -y python3-pip python3.12-venv pkg-config rm -rf /var/lib/apt/lists/* - name: Create venv run: | @@ -83,10 +83,10 @@ jobs: steps: - name: Checkout Repository uses: actions/checkout@v2 - - name: Install pip3, pkgconfig and upgrade pip3 + - name: Install dependencies run: | apt-get -yy update - apt-get install -y python3-pip pkg-config + apt-get install -y python3-pip python3.12-venv pkg-config rm -rf /var/lib/apt/lists/* - name: Create venv run: | @@ -109,10 +109,10 @@ jobs: steps: - name: Checkout Repository uses: actions/checkout@v2 - - name: Install pip3, pkgconfig and upgrade pip3 + - name: Install dependencies run: | apt-get -yy update - apt-get install -y python3-pip pkg-config + apt-get install -y python3-pip python3.12-venv pkg-config rm -rf /var/lib/apt/lists/* - name: Create venv run: | diff --git a/.github/workflows/run-solverdummy.yml b/.github/workflows/run-solverdummy.yml index 5400720f..37df90be 100644 --- a/.github/workflows/run-solverdummy.yml +++ b/.github/workflows/run-solverdummy.yml @@ -19,7 +19,7 @@ jobs: - name: Install Dependencies run: | apt-get -qq update - apt-get -qq install software-properties-common python3-dev python3-pip git apt-utils pkg-config + apt-get -qq install software-properties-common python3-dev python3-pip python3.12-venv git apt-utils pkg-config rm -rf /var/lib/apt/lists/* - name: Create venv run: | From a2485154d6ef965410961f78a83372470828e7e1 Mon Sep 17 00:00:00 2001 From: Benjamin Rodenberg Date: Thu, 27 Feb 2025 12:13:51 +0100 Subject: [PATCH 4/6] Try different approach. --- .github/workflows/build-and-test.yml | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/.github/workflows/build-and-test.yml b/.github/workflows/build-and-test.yml index 3c0f27f7..a09614a5 100644 --- a/.github/workflows/build-and-test.yml +++ b/.github/workflows/build-and-test.yml @@ -22,12 +22,10 @@ jobs: apt-get -yy update apt-get install -y python3-pip python3.12-venv pkg-config rm -rf /var/lib/apt/lists/* - - name: Create venv + - name: Create venv & install dependencies run: | python3 -m venv .venv . .venv/bin/activate - - name: Install dependencies - run: | pip3 install toml python3 -c 'import toml; c = toml.load("pyproject.toml"); print("\n".join(c["build-system"]["requires"]))' | pip3 install -r /dev/stdin - name: Run setup install From 3d20a5697f3baf23348ebe0c87c86d86a065e8b8 Mon Sep 17 00:00:00 2001 From: Benjamin Rodenberg Date: Thu, 27 Feb 2025 12:17:53 +0100 Subject: [PATCH 5/6] Permanently activate venv. --- .github/workflows/build-and-test.yml | 17 +++++++++++++++-- .github/workflows/run-solverdummy.yml | 4 ++++ 2 files changed, 19 insertions(+), 2 deletions(-) diff --git a/.github/workflows/build-and-test.yml b/.github/workflows/build-and-test.yml index a09614a5..799d9dc2 100644 --- a/.github/workflows/build-and-test.yml +++ b/.github/workflows/build-and-test.yml @@ -22,10 +22,15 @@ jobs: apt-get -yy update apt-get install -y python3-pip python3.12-venv pkg-config rm -rf /var/lib/apt/lists/* - - name: Create venv & install dependencies + - name: Create venv + run: python3 -m venv .venv + - name: Activate venv + # see https://stackoverflow.com/a/74669486 run: | - python3 -m venv .venv . .venv/bin/activate + echo PATH=$PATH >> $GITHUB_ENV + - name: Install dependencies + run: | pip3 install toml python3 -c 'import toml; c = toml.load("pyproject.toml"); print("\n".join(c["build-system"]["requires"]))' | pip3 install -r /dev/stdin - name: Run setup install @@ -89,7 +94,11 @@ jobs: - name: Create venv run: | python3 -m venv .venv + - name: Activate venv + # see https://stackoverflow.com/a/74669486 + run: | . .venv/bin/activate + echo PATH=$PATH >> $GITHUB_ENV - name: Run pip install run: pip3 install . - name: Check import @@ -115,7 +124,11 @@ jobs: - name: Create venv run: | python3 -m venv .venv + - name: Activate venv + # see https://stackoverflow.com/a/74669486 + run: | . .venv/bin/activate + echo PATH=$PATH >> $GITHUB_ENV - name: Run pip install run: pip3 install . - name: Run solverdummy diff --git a/.github/workflows/run-solverdummy.yml b/.github/workflows/run-solverdummy.yml index 37df90be..85af4227 100644 --- a/.github/workflows/run-solverdummy.yml +++ b/.github/workflows/run-solverdummy.yml @@ -24,7 +24,11 @@ jobs: - name: Create venv run: | python3 -m venv .venv + - name: Activate venv + # see https://stackoverflow.com/a/74669486 + run: | . .venv/bin/activate + echo PATH=$PATH >> $GITHUB_ENV - name: Install bindings run: pip3 install --user . - name: Check whether preCICE was built with MPI # reformat version information as a dict and check whether preCICE was compiled with MPI From b30cdfcff16a9b7098c186c5e2dee5513fd36579 Mon Sep 17 00:00:00 2001 From: Benjamin Rodenberg Date: Thu, 27 Feb 2025 12:20:11 +0100 Subject: [PATCH 6/6] Remove unnecessary --user. --- .github/workflows/run-solverdummy.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/run-solverdummy.yml b/.github/workflows/run-solverdummy.yml index 85af4227..69b18094 100644 --- a/.github/workflows/run-solverdummy.yml +++ b/.github/workflows/run-solverdummy.yml @@ -30,7 +30,7 @@ jobs: . .venv/bin/activate echo PATH=$PATH >> $GITHUB_ENV - name: Install bindings - run: pip3 install --user . + run: pip3 install . - name: Check whether preCICE was built with MPI # reformat version information as a dict and check whether preCICE was compiled with MPI run: python3 -c "import precice; assert({item.split('=')[0]:item.split('=')[-1] for item in str(precice.get_version_information()).split(';')}['PRECICE_FEATURE_MPI_COMMUNICATION']=='Y')" - name: Run solverdummies