From 042b9ba414aeb42f1a408d54bd48c5398c5537e7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=B8rgen=20Schartum=20Dokken?= Date: Mon, 30 May 2022 15:21:12 +0100 Subject: [PATCH] Fix complex mode in dolfinx/dolfinx and dolfinx/lab images (#2217) Probably related to a change in the way that pip builds packages. Co-authored-by: Jack S. Hale --- .dockerignore | 1 - .github/workflows/docker.yml | 4 +++- docker/Dockerfile | 5 +++-- 3 files changed, 6 insertions(+), 4 deletions(-) delete mode 100644 .dockerignore diff --git a/.dockerignore b/.dockerignore deleted file mode 100644 index f3b64113ec5..00000000000 --- a/.dockerignore +++ /dev/null @@ -1 +0,0 @@ -**/.git diff --git a/.github/workflows/docker.yml b/.github/workflows/docker.yml index 5df04e79207..f7e777fd176 100644 --- a/.github/workflows/docker.yml +++ b/.github/workflows/docker.yml @@ -273,10 +273,12 @@ jobs: run: | docker buildx build --file dolfinx/docker/Dockerfile ${DOCKER_BUILD_ARGS} \ --target lab --tag dolfinx/lab . - - name: Run basic test inside container + - name: Run basic tests inside container run: | docker run --rm dolfinx/dolfinx \ python3 -c "import dolfinx; from dolfinx.fem import FunctionSpace; from dolfinx.mesh import create_unit_square; from mpi4py import MPI; mesh = create_unit_square(MPI.COMM_WORLD, 10, 10); V = FunctionSpace(mesh, ('Lagrange', 1));" + docker run --rm dolfinx/dolfinx \ + /bin/bash -c "source /usr/local/bin/dolfinx-complex-mode && python3 -c $'import dolfinx; from dolfinx.fem import FunctionSpace; from dolfinx.mesh import create_unit_square; from mpi4py import MPI; mesh = create_unit_square(MPI.COMM_WORLD, 10, 10); V = FunctionSpace(mesh, (\"Lagrange\", 1));'" - name: Log into the DockerHub registry run: echo ${{ secrets.DOCKERHUB_TOKEN }} | docker login -u ${{ secrets.DOCKERHUB_USERNAME }} --password-stdin - name: Push to the DockerHub registry diff --git a/docker/Dockerfile b/docker/Dockerfile index b13a2ee336c..6ade0357a3b 100644 --- a/docker/Dockerfile +++ b/docker/Dockerfile @@ -418,7 +418,8 @@ ONBUILD RUN cd dolfinx && \ PETSC_ARCH=linux-gnu-real-32 cmake -G Ninja -DCMAKE_INSTALL_PREFIX=/usr/local/dolfinx-real -DCMAKE_BUILD_TYPE=${DOLFINX_CMAKE_BUILD_TYPE} -DCMAKE_CXX_FLAGS=${DOLFINX_CMAKE_CXX_FLAGS} ../cpp && \ ninja install && \ cd ../python && \ - CXXFLAGS=${DOLFINX_CMAKE_CXX_FLAGS} PETSC_ARCH=linux-gnu-real-32 pip3 install --target /usr/local/dolfinx-real/lib/python${PYTHON_VERSION}/dist-packages --no-dependencies . && \ + CXXFLAGS=${DOLFINX_CMAKE_CXX_FLAGS} PETSC_ARCH=linux-gnu-real-32 pip3 install -v --target /usr/local/dolfinx-real/lib/python${PYTHON_VERSION}/dist-packages --no-dependencies --no-cache-dir . && \ + git clean -fdx && \ cd ../ && \ mkdir -p build-complex && \ cd build-complex && \ @@ -426,7 +427,7 @@ ONBUILD RUN cd dolfinx && \ ninja install && \ . /usr/local/dolfinx-complex/lib/dolfinx/dolfinx.conf && \ cd ../python && \ - CXXFLAGS=${DOLFINX_CMAKE_CXX_FLAGS} PETSC_ARCH=linux-gnu-complex-32 pip3 install --target /usr/local/dolfinx-complex/lib/python${PYTHON_VERSION}/dist-packages --no-dependencies . + CXXFLAGS=${DOLFINX_CMAKE_CXX_FLAGS} PETSC_ARCH=linux-gnu-complex-32 pip3 install -v --target /usr/local/dolfinx-complex/lib/python${PYTHON_VERSION}/dist-packages --no-dependencies --no-cache-dir . # Real by default. ONBUILD ENV PKG_CONFIG_PATH=/usr/local/dolfinx-real/lib/pkgconfig:$PKG_CONFIG_PATH \