Skip to content

Use importlib for version #1165

Use importlib for version

Use importlib for version #1165

Workflow file for this run

name: Build and Test
on:
push:
branches:
- "*"
pull_request:
branches:
- "*"
jobs:
setup_install:
name: Run setup install
runs-on: ubuntu-latest
container:
image: precice/precice:nightly
options: --user root
steps:
- name: Checkout Repository
uses: actions/checkout@v2
- name: Install pip3, pkgconfig and upgrade pip3
run: |
apt-get -yy update
apt-get install -y python3-pip python3.12-venv pkg-config
rm -rf /var/lib/apt/lists/*
- 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 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
- name: Test install
run: |
export LD_LIBRARY_PATH=/usr/local/lib:$LD_LIBRARY_PATH
python3 -c "import precice"
run_tox:
name: Run tox
runs-on: ubuntu-latest
steps:
- name: Checkout Repository
uses: actions/checkout@v2
- uses: actions/setup-python@v1
- name: Install OpenMPI, CMake, Boost library, Eigen and pkg-config
run: |
sudo apt-get -yy update
sudo apt-get install -y libopenmpi-dev cmake libboost-all-dev libeigen3-dev pkg-config
sudo rm -rf /var/lib/apt/lists/*
- uses: BSFishy/pip-action@v1
with:
packages: toml
- name: Checkout precice and make required files discoverable
run: |
git clone --branch develop https://github.com/precice/precice.git precice-core
mkdir -p precice
cp precice-core/src/precice/Participant.hpp precice/Participant.hpp
cp precice-core/src/precice/Tooling.hpp precice/Tooling.hpp
cp precice-core/src/precice/Tooling.cpp precice/Tooling.cpp
cd precice-core
mkdir build && cd build
cmake .. -DPRECICE_FEATURE_MPI_COMMUNICATION=OFF -DPRECICE_FEATURE_PETSC_MAPPING=OFF -DPRECICE_FEATURE_PYTHON_ACTIONS=OFF -DBUILD_TESTING=OFF
- name: Install tox
run: pip install tox
- name: Run tox
env:
PKG_CONFIG_SYSTEM_INCLUDE_PATH: 1
run: |
export CFLAGS=-I$GITHUB_WORKSPACE
export PKG_CONFIG_PATH=$(readlink -f "precice-core/build")
tox
pip_install:
name: Run pip install
needs: [setup_test]

Check failure on line 80 in .github/workflows/build-and-test.yml

View workflow run for this annotation

GitHub Actions / Build and Test

Invalid workflow file

The workflow is not valid. .github/workflows/build-and-test.yml (Line: 80, Col: 13): Job 'pip_install' depends on unknown job 'setup_test'. .github/workflows/build-and-test.yml (Line: 110, Col: 13): Job 'solverdummy_test' depends on job 'pip_install' which creates a cycle in the dependency graph.
runs-on: ubuntu-latest
container:
image: precice/precice:nightly
options: --user root
steps:
- name: Checkout Repository
uses: actions/checkout@v2
- name: Install dependencies
run: |
apt-get -yy update
apt-get install -y python3-pip python3.12-venv pkg-config
rm -rf /var/lib/apt/lists/*
- 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"
solverdummy_test:
name: Run solverdummy
needs: [pip_install]
runs-on: ubuntu-latest
container:
image: precice/precice:nightly
options: --user root
steps:
- name: Checkout Repository
uses: actions/checkout@v2
- name: Install dependencies
run: |
apt-get -yy update
apt-get install -y python3-pip python3.12-venv pkg-config
rm -rf /var/lib/apt/lists/*
- 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
run: |
export LD_LIBRARY_PATH=/usr/local/lib:$LD_LIBRARY_PATH
cd examples/solverdummy/
python3 solverdummy.py precice-config.xml SolverOne MeshOne & python3 solverdummy.py precice-config.xml SolverTwo MeshTwo