diff --git a/.github/workflows/build-and-test.yml b/.github/workflows/build-and-test.yml index 6c1930e9..799d9dc2 100644 --- a/.github/workflows/build-and-test.yml +++ b/.github/workflows/build-and-test.yml @@ -20,15 +20,21 @@ 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/* - pip3 install --upgrade --user pip + - 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 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 @@ -80,15 +86,22 @@ 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/* - pip3 install --upgrade --user pip - - name: Run pip install - run: pip3 install --user . + - 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 run: | export LD_LIBRARY_PATH=/usr/local/lib:$LD_LIBRARY_PATH python3 -c "import precice" @@ -103,14 +116,21 @@ 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/* - pip3 install --upgrade --user pip + - 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 --user . + run: pip3 install . - name: Run solverdummy run: | export LD_LIBRARY_PATH=/usr/local/lib:$LD_LIBRARY_PATH diff --git a/.github/workflows/run-solverdummy.yml b/.github/workflows/run-solverdummy.yml index fa03423a..69b18094 100644 --- a/.github/workflows/run-solverdummy.yml +++ b/.github/workflows/run-solverdummy.yml @@ -19,14 +19,21 @@ 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/* - pip3 install --upgrade --user pip + - 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 . + 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 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