From f56d2006c8f707ebc3ca7a246869098815e0b717 Mon Sep 17 00:00:00 2001 From: Connor Ward Date: Mon, 11 Dec 2023 11:06:39 +0000 Subject: [PATCH 01/62] Fix cython files for Cython 3.0 --- firedrake/cython/dmcommon.pyx | 10 +++++----- firedrake/cython/mgimpl.pyx | 2 +- firedrake/cython/petschdr.pxi | 2 +- scripts/firedrake-install | 18 +++--------------- 4 files changed, 10 insertions(+), 22 deletions(-) diff --git a/firedrake/cython/dmcommon.pyx b/firedrake/cython/dmcommon.pyx index ea90928e78..0f498d375a 100644 --- a/firedrake/cython/dmcommon.pyx +++ b/firedrake/cython/dmcommon.pyx @@ -675,7 +675,7 @@ def closure_ordering(PETSc.DM dm, incident = 1 break if incident == 0: - face_indices[nfaces] += v * 10**(1-fi) + face_indices[nfaces] += v * 10**(1-fi) fi += 1 nfaces += 1 @@ -1019,7 +1019,7 @@ cdef inline PetscInt _compute_orientation_interval_tensor_product(PetscInt *fiat # io += (2**(dim - 1 - i)) * 0 pass elif plex_cone_copy[2 * j + 1] == fiat_cone[2 * i] and plex_cone_copy[2 * j] == fiat_cone[2 * i + 1]: - io += (2**(dim - 1 - i)) * 1 + io += (2**(dim - 1 - i)) * 1 else: raise RuntimeError("Found inconsistent fiat_cone and plex_cone") eo += np.math.factorial(dim - 1 - i) * j @@ -1031,7 +1031,7 @@ cdef inline PetscInt _compute_orientation_interval_tensor_product(PetscInt *fiat else: raise RuntimeError("Found inconsistent fiat_cone and plex_cone") assert dim1 == 0 - return (2**dim) * eo + io + return (2**dim) * eo + io cdef inline PetscInt _compute_orientation(PETSc.DM dm, @@ -2552,7 +2552,7 @@ cdef struct CommFacet: PetscInt global_u, global_v PetscInt local_facet -cdef int CommFacet_cmp(const void *x_, const void *y_) nogil: +cdef int CommFacet_cmp(void *x_, void *y_) noexcept nogil: """Three-way comparison C function for CommFacet structs.""" cdef: CommFacet *x = x_ @@ -3334,7 +3334,7 @@ cdef int DMPlexGetAdjacency_Facet_Support(PETSc.PetscDM dm, PetscInt p, PetscInt *adjSize, PetscInt adj[], - void *ctx) nogil: + void *ctx) noexcept nogil: """Custom adjacency callback for halo growth. :arg dm: The DMPlex object. diff --git a/firedrake/cython/mgimpl.pyx b/firedrake/cython/mgimpl.pyx index bd7f9d13f8..2867b5e79f 100644 --- a/firedrake/cython/mgimpl.pyx +++ b/firedrake/cython/mgimpl.pyx @@ -254,7 +254,7 @@ def coarse_to_fine_cells(mc, mf, clgmaps, flgmaps): cdm = mc.topology_dm fdm = mf.topology_dm dim = cdm.getDimension() - nref = 2 ** dim + nref = 2 ** dim ncoarse = mc.cell_set.size nfine = mf.cell_set.size co2n, _ = get_entity_renumbering(cdm, mc._cell_numbering, "cell") diff --git a/firedrake/cython/petschdr.pxi b/firedrake/cython/petschdr.pxi index 65d68572bd..99ed9a6a01 100644 --- a/firedrake/cython/petschdr.pxi +++ b/firedrake/cython/petschdr.pxi @@ -178,7 +178,7 @@ cdef inline int SETERR(int ierr) with gil: PyErr_SetObject(PyExc_RuntimeError, ierr) return ierr -cdef inline int CHKERR(int ierr) nogil except -1: +cdef inline int CHKERR(int ierr) except -1 nogil: if ierr == 0: return 0 # no error else: diff --git a/scripts/firedrake-install b/scripts/firedrake-install index 375ca65754..6a2f7e610f 100755 --- a/scripts/firedrake-install +++ b/scripts/firedrake-install @@ -1012,14 +1012,6 @@ def run_pip_install_wrap(reqs, parallel_compiler_env): if package_name in parallel_packages: with environment(**parallel_compiler_env): run_pip_install([req]) - elif package_name == "numpy": - # Downgrade setuptools and wheel for numpy - run_pip(["install", "-U", "setuptools==59.2.0"]) - run_pip(["install", "-U", "wheel==0.37.0"]) - run_pip_install(["numpy==1.24"]) - # Upgrade setuptools and wheel for everything else - run_pip(["install", "-U", "setuptools"]) - run_pip(["install", "-U", "wheel"]) else: run_pip_install([req]) @@ -1697,15 +1689,11 @@ if mode == "install": os.environ["VIRTUAL_ENV"] = firedrake_env # Ensure pip, setuptools, hatchling and wheel are at the latest version. -# numpy requires setuptools==59.2.0 and wheel==0.37.0 until it moves to meson build -run_pip(["install", "-U", "setuptools==59.2.0"]) +run_pip(["install", "-U", "setuptools"]) run_pip(["install", "-U", "hatch"]) run_pip(["install", "-U", "editables"]) run_pip(["install", "-U", "pip"]) -run_pip(["install", "-U", "wheel==0.37.0"]) - -# Pin Cython because it's causing multiple packages to fail to build -run_pip(["install", "-U", "Cython==0.29.36"]) +run_pip(["install", "-U", "wheel"]) # Loopy has additional build dependencies run_pip(["install", "-U", "scikit-build"]) @@ -1794,7 +1782,7 @@ if mode == "install": build_update_script() # Force Cython to install first to work around pip dependency issues. - run_pip_install(["Cython>=0.22"]) + run_pip_install(["Cython"]) # Pre-install requested packages if args.pip_packages is not None: From f789607013a6ae127f91f60f44ae3e64892e6391 Mon Sep 17 00:00:00 2001 From: Connor Ward Date: Mon, 11 Dec 2023 11:20:30 +0000 Subject: [PATCH 02/62] update firedrake-install for numpy deps --- scripts/firedrake-install | 15 ++++++--------- 1 file changed, 6 insertions(+), 9 deletions(-) diff --git a/scripts/firedrake-install b/scripts/firedrake-install index 6a2f7e610f..d3bac6096a 100755 --- a/scripts/firedrake-install +++ b/scripts/firedrake-install @@ -688,7 +688,6 @@ def check_output(args): raise -pyinstall = [python, "setup.py", "install"] if "PYTHONPATH" in os.environ and not args.honour_pythonpath: quit("""The PYTHONPATH environment variable is set. This is probably an error. If you really want to use your own Python packages, please run again with the @@ -992,14 +991,10 @@ def run_pip_install(pipargs): # subprocesses wrote out. # Particularly important for debugging petsc fails. with environment(**blas): - pipargs = ["-vvv"] + pipargs + pipargs = ["-v"] + pipargs check_call(pipinstall + pipargs) -def run_cmd(args): - check_call(args) - - def get_requirements(reqfname): with open(reqfname, "r") as f: reqs = f.readlines() @@ -1695,6 +1690,11 @@ run_pip(["install", "-U", "editables"]) run_pip(["install", "-U", "pip"]) run_pip(["install", "-U", "wheel"]) +# Extra numpy dependendencies, see +# https://github.com/numpy/numpy/blob/main/pyproject.toml +run_pip(["meson-python>=0.15.0"]) +run_pip_install(["Cython>=3.0"]) + # Loopy has additional build dependencies run_pip(["install", "-U", "scikit-build"]) run_pip(["install", "-U", "nanobind"]) @@ -1781,9 +1781,6 @@ if mode == "install": # recovery can be attempted if required. build_update_script() - # Force Cython to install first to work around pip dependency issues. - run_pip_install(["Cython"]) - # Pre-install requested packages if args.pip_packages is not None: for package in args.pip_packages: From 91e10155a10cf19302f4714f4961bc171d416cbd Mon Sep 17 00:00:00 2001 From: Connor Ward Date: Mon, 11 Dec 2023 11:22:40 +0000 Subject: [PATCH 03/62] lint --- scripts/firedrake-install | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/firedrake-install b/scripts/firedrake-install index d3bac6096a..9e4771663d 100755 --- a/scripts/firedrake-install +++ b/scripts/firedrake-install @@ -1690,7 +1690,7 @@ run_pip(["install", "-U", "editables"]) run_pip(["install", "-U", "pip"]) run_pip(["install", "-U", "wheel"]) -# Extra numpy dependendencies, see +# Extra numpy dependendencies, see # https://github.com/numpy/numpy/blob/main/pyproject.toml run_pip(["meson-python>=0.15.0"]) run_pip_install(["Cython>=3.0"]) From 57fde421ea2a69884214cdbd0f78b97407084f94 Mon Sep 17 00:00:00 2001 From: Connor Ward Date: Mon, 11 Dec 2023 11:25:49 +0000 Subject: [PATCH 04/62] Silly fixes --- scripts/firedrake-install | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/scripts/firedrake-install b/scripts/firedrake-install index 9e4771663d..6435285de3 100755 --- a/scripts/firedrake-install +++ b/scripts/firedrake-install @@ -1692,8 +1692,8 @@ run_pip(["install", "-U", "wheel"]) # Extra numpy dependendencies, see # https://github.com/numpy/numpy/blob/main/pyproject.toml -run_pip(["meson-python>=0.15.0"]) -run_pip_install(["Cython>=3.0"]) +run_pip(["install", "-U", "meson-python>=0.15.0"]) +run_pip(["install", "-U", "Cython>=3.0"]) # Loopy has additional build dependencies run_pip(["install", "-U", "scikit-build"]) From 714d8fd5ce9042da62e744048ecdd64f3b8c4d6b Mon Sep 17 00:00:00 2001 From: Connor Ward Date: Mon, 11 Dec 2023 11:34:27 +0000 Subject: [PATCH 05/62] Add ninja system dependency --- docs/source/download.rst | 1 + scripts/firedrake-install | 2 ++ 2 files changed, 3 insertions(+) diff --git a/docs/source/download.rst b/docs/source/download.rst index 7037f49cc2..d10fa49900 100644 --- a/docs/source/download.rst +++ b/docs/source/download.rst @@ -135,6 +135,7 @@ they have the system dependencies: * CMake * zlib * flex, bison +* Ninja Firedrake has been successfully installed on Windows 10 using the Windows Subsystem for Linux. There are more detailed instructions for diff --git a/scripts/firedrake-install b/scripts/firedrake-install index 6435285de3..69f3c04823 100755 --- a/scripts/firedrake-install +++ b/scripts/firedrake-install @@ -1527,6 +1527,7 @@ if mode == "install" or not args.update_script: "make", "automake", "cmake", + "ninja", "libtool", "boost"] if args.with_blas is None and mode == "install": @@ -1545,6 +1546,7 @@ if mode == "install" or not args.update_script: "pkgconf", # for p4est "libtool", "libxml2-dev", + "ninja-build", # for meson/numpy "python3-dev", "python3-pip", "python3-tk", From 4f69130d57acc1219c0319113b78fccf262ca47e Mon Sep 17 00:00:00 2001 From: Connor Ward Date: Mon, 11 Dec 2023 11:46:35 +0000 Subject: [PATCH 06/62] Since we are using the docker container --- .github/workflows/build.yml | 2 ++ docker/Dockerfile.env | 2 +- 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 473c4b933e..ea990a7a84 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -57,6 +57,8 @@ jobs: - name: Build Firedrake run: | cd .. + # DO NOT MERGE: just until we rebuild the Docker container + sudo apt install ninja-build # Linting should ignore unquoted shell variable $COMPLEX # shellcheck disable=SC2086 ./firedrake/scripts/firedrake-install \ diff --git a/docker/Dockerfile.env b/docker/Dockerfile.env index 8e2889e654..bc5ba1d9d9 100644 --- a/docker/Dockerfile.env +++ b/docker/Dockerfile.env @@ -13,7 +13,7 @@ RUN apt-get update \ cmake gfortran git libopenblas-serial-dev \ libtool python3-dev python3-pip python3-tk python3-venv \ python3-requests zlib1g-dev libboost-dev sudo gmsh \ - bison flex \ + bison flex ninja-build \ liboce-ocaf-dev \ swig graphviz \ libcurl4-openssl-dev libxml2-dev \ From 92b62aed4b83053809e751a0027570d8ce0ce9b9 Mon Sep 17 00:00:00 2001 From: Connor Ward Date: Mon, 11 Dec 2023 11:52:36 +0000 Subject: [PATCH 07/62] fixup --- .github/workflows/build.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index ea990a7a84..410392fa43 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -58,7 +58,8 @@ jobs: run: | cd .. # DO NOT MERGE: just until we rebuild the Docker container - sudo apt install ninja-build + sudo apt-get update + sudo apt-get -y install ninja-build # Linting should ignore unquoted shell variable $COMPLEX # shellcheck disable=SC2086 ./firedrake/scripts/firedrake-install \ From 9a4d5bc4608c02e2c546ed21505b334d94443eaa Mon Sep 17 00:00:00 2001 From: Connor Ward Date: Thu, 11 Apr 2024 09:06:21 +0100 Subject: [PATCH 08/62] Install with numpy 2.0 release candidate --- scripts/firedrake-install | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/scripts/firedrake-install b/scripts/firedrake-install index 69f3c04823..cc49fb34dc 100755 --- a/scripts/firedrake-install +++ b/scripts/firedrake-install @@ -1695,7 +1695,7 @@ run_pip(["install", "-U", "wheel"]) # Extra numpy dependendencies, see # https://github.com/numpy/numpy/blob/main/pyproject.toml run_pip(["install", "-U", "meson-python>=0.15.0"]) -run_pip(["install", "-U", "Cython>=3.0"]) +run_pip(["install", "-U", "Cython>=3.0.6"]) # Loopy has additional build dependencies run_pip(["install", "-U", "scikit-build"]) @@ -1849,6 +1849,10 @@ if mode == "install": with environment(**compiler_env, **link_env): run_pip_install(["--no-cache-dir", "mpi4py"]) + # 11/04/24 Install a 2.0 release candidate because 2.0 has not yet been + # officially released but we cannot build petsc4py without it. + run_pip_install(["numpy==2.0.0rc1"]) + for p in packages: pip_requirements(p, compiler_env) From d79f247c9cda84a2d500453594c95da0b25e8f58 Mon Sep 17 00:00:00 2001 From: Connor Ward Date: Thu, 11 Apr 2024 09:22:56 +0100 Subject: [PATCH 09/62] fixup --- scripts/firedrake-install | 18 +++++------------- 1 file changed, 5 insertions(+), 13 deletions(-) diff --git a/scripts/firedrake-install b/scripts/firedrake-install index cc49fb34dc..686e4421c3 100755 --- a/scripts/firedrake-install +++ b/scripts/firedrake-install @@ -1697,6 +1697,11 @@ run_pip(["install", "-U", "wheel"]) run_pip(["install", "-U", "meson-python>=0.15.0"]) run_pip(["install", "-U", "Cython>=3.0.6"]) +# 11/04/24 Install a 2.0 release candidate because 2.0 has not yet been +# officially released but we cannot build petsc4py without it. +run_pip_install(["numpy==2.0.0rc1"]) + + # Loopy has additional build dependencies run_pip(["install", "-U", "scikit-build"]) run_pip(["install", "-U", "nanobind"]) @@ -1789,15 +1794,6 @@ if mode == "install": log.info("Pip installing %s to venv" % package) run_pip_install_wrap(package.split(), {}) - # numpy requires old setuptools (+wheel) - log.info("Installing numpy using setuptools==59.2.0 and wheel==0.37.0 and Cython==0.29.36") - log.info("Installing numpy==1.24 due to performance regression") - # https://github.com/inducer/pytential/issues/211 - run_pip_install(["numpy==1.24"]) - log.info("Updating setuptools and wheel to latest versions") - run_pip(["install", "-U", "setuptools"]) - run_pip(["install", "-U", "wheel"]) - # Install VTK if not args.no_vtk: log.info("Pip installing VTK to venv") @@ -1849,10 +1845,6 @@ if mode == "install": with environment(**compiler_env, **link_env): run_pip_install(["--no-cache-dir", "mpi4py"]) - # 11/04/24 Install a 2.0 release candidate because 2.0 has not yet been - # officially released but we cannot build petsc4py without it. - run_pip_install(["numpy==2.0.0rc1"]) - for p in packages: pip_requirements(p, compiler_env) From ba3e86879fe3c940eff145fb3d14440ba2c62059 Mon Sep 17 00:00:00 2001 From: Connor Ward Date: Thu, 11 Apr 2024 11:10:16 +0100 Subject: [PATCH 10/62] fixup --- scripts/firedrake-install | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/scripts/firedrake-install b/scripts/firedrake-install index 686e4421c3..2651651185 100755 --- a/scripts/firedrake-install +++ b/scripts/firedrake-install @@ -1699,8 +1699,7 @@ run_pip(["install", "-U", "Cython>=3.0.6"]) # 11/04/24 Install a 2.0 release candidate because 2.0 has not yet been # officially released but we cannot build petsc4py without it. -run_pip_install(["numpy==2.0.0rc1"]) - +run_pip(["install", "-U", "numpy==2.0.0rc1"]) # Loopy has additional build dependencies run_pip(["install", "-U", "scikit-build"]) From 9c51eef97ac03913619d94622f7c9545be49fec5 Mon Sep 17 00:00:00 2001 From: Connor Ward Date: Thu, 11 Apr 2024 11:50:59 +0100 Subject: [PATCH 11/62] fixup --- .github/workflows/build.yml | 1 + scripts/firedrake-install | 3 ++- 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 410392fa43..3e424c21f5 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -85,6 +85,7 @@ jobs: --install defcon \ --install gadopt \ --install asQ \ + --package-branch fiat connorjward/numpy2 \ || (cat firedrake-install.log && /bin/false) - name: Install test dependencies run: | diff --git a/scripts/firedrake-install b/scripts/firedrake-install index 2651651185..309596f0db 100755 --- a/scripts/firedrake-install +++ b/scripts/firedrake-install @@ -1307,7 +1307,8 @@ def build_and_install_torch(): raise InstallError("CUDA installation is not available on MacOS.") if sys.version_info >= (3, 10): run_pip_install(["typing_extensions"]) - extra_index_url = ["--extra-index-url", "https://download.pytorch.org/whl/cpu"] if args.torch == "cpu" else [] + # FIXME: use nightly to see if that makes numpy 2.0 happy + extra_index_url = ["--extra-index-url", "https://download.pytorch.org/whl/nightly/cpu"] if args.torch == "cpu" else [] run_pip_install(["torch"] + extra_index_url) From a868c84b03027573e1f325e8f9c8f78ef2252a4f Mon Sep 17 00:00:00 2001 From: Connor Ward Date: Thu, 11 Apr 2024 12:09:40 +0100 Subject: [PATCH 12/62] fixup --- scripts/firedrake-install | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/firedrake-install b/scripts/firedrake-install index 309596f0db..c7b271e183 100755 --- a/scripts/firedrake-install +++ b/scripts/firedrake-install @@ -1309,7 +1309,7 @@ def build_and_install_torch(): run_pip_install(["typing_extensions"]) # FIXME: use nightly to see if that makes numpy 2.0 happy extra_index_url = ["--extra-index-url", "https://download.pytorch.org/whl/nightly/cpu"] if args.torch == "cpu" else [] - run_pip_install(["torch"] + extra_index_url) + run_pip_install(["--pre", "torch"] + extra_index_url) def build_and_install_slepc(): From 5da6d1162838ca66631f69ad520e8ce7d3f95b69 Mon Sep 17 00:00:00 2001 From: Connor Ward Date: Thu, 11 Apr 2024 15:11:48 +0100 Subject: [PATCH 13/62] fixup --- firedrake/cython/dmcommon.pyx | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/firedrake/cython/dmcommon.pyx b/firedrake/cython/dmcommon.pyx index 0f498d375a..e10570b03d 100644 --- a/firedrake/cython/dmcommon.pyx +++ b/firedrake/cython/dmcommon.pyx @@ -2,6 +2,7 @@ # Utility functions common to all DMs used in Firedrake import functools +import math import cython import numpy as np import firedrake @@ -970,7 +971,7 @@ cdef inline PetscInt _compute_orientation_simplex(PetscInt *fiat_cone, coneSize1 -= 1 assert n == coneSize for k in range(n): - o += np.math.factorial(n - 1 - k) * inds[k] + o += math.factorial(n - 1 - k) * inds[k] CHKERR(PetscFree(cone1)) CHKERR(PetscFree(inds)) return o @@ -1022,7 +1023,7 @@ cdef inline PetscInt _compute_orientation_interval_tensor_product(PetscInt *fiat io += (2**(dim - 1 - i)) * 1 else: raise RuntimeError("Found inconsistent fiat_cone and plex_cone") - eo += np.math.factorial(dim - 1 - i) * j + eo += math.factorial(dim - 1 - i) * j for k in range(j, dim1 - 1): plex_cone_copy[2 * k] = plex_cone_copy[2 * k + 2] plex_cone_copy[2 * k + 1] = plex_cone_copy[2 * k + 3] From 23908375877acf4f0c2483bc395f7de7540fb8a8 Mon Sep 17 00:00:00 2001 From: Connor Ward Date: Thu, 11 Apr 2024 15:46:16 +0100 Subject: [PATCH 14/62] PYOP2 branch --- .github/workflows/build.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 3e424c21f5..bf4651a47d 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -86,6 +86,7 @@ jobs: --install gadopt \ --install asQ \ --package-branch fiat connorjward/numpy2 \ + --package-branch pyop2 connorjward/numpy2 \ || (cat firedrake-install.log && /bin/false) - name: Install test dependencies run: | From e6b319c5dfd0fb491177e89a5d5add95343cc5c8 Mon Sep 17 00:00:00 2001 From: Connor Ward Date: Thu, 11 Apr 2024 17:13:03 +0100 Subject: [PATCH 15/62] fixup --- .github/workflows/build.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index bf4651a47d..2c3505b425 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -87,6 +87,7 @@ jobs: --install asQ \ --package-branch fiat connorjward/numpy2 \ --package-branch pyop2 connorjward/numpy2 \ + --package-branch tsfc connorjward/numpy2 \ || (cat firedrake-install.log && /bin/false) - name: Install test dependencies run: | From 2d66f28ae3455bd8266452464ddf945b728e51f5 Mon Sep 17 00:00:00 2001 From: Connor Date: Fri, 12 Apr 2024 09:34:50 +0100 Subject: [PATCH 16/62] fixup --- .github/workflows/build.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 2c3505b425..84db1d4e9e 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -88,6 +88,7 @@ jobs: --package-branch fiat connorjward/numpy2 \ --package-branch pyop2 connorjward/numpy2 \ --package-branch tsfc connorjward/numpy2 \ + --package-branch loopy connorjward/numpy2 \ || (cat firedrake-install.log && /bin/false) - name: Install test dependencies run: | From 79c656e906e9be8c6e5a32286efa1ff6079b4d33 Mon Sep 17 00:00:00 2001 From: Connor Date: Fri, 12 Apr 2024 13:17:57 +0100 Subject: [PATCH 17/62] fixup --- firedrake/checkpointing.py | 2 +- firedrake/preconditioners/patch.py | 11 +++++++---- tests/output/test_io_function.py | 6 +++--- tests/output/test_io_timestepping.py | 2 +- 4 files changed, 12 insertions(+), 9 deletions(-) diff --git a/firedrake/checkpointing.py b/firedrake/checkpointing.py index 85f3f206e4..35900b4445 100644 --- a/firedrake/checkpointing.py +++ b/firedrake/checkpointing.py @@ -1359,7 +1359,7 @@ def _load_function_topology(self, tmesh, element, tf_name, idx=None): if element.family() == "Real": assert not isinstance(element, (finat.ufl.VectorElement, finat.ufl.TensorElement)) value = self.get_attr(path, "_".join([PREFIX, "value" if idx is None else "value_" + str(idx)])) - tf.dat.data.itemset(value) + tf.dat.data[...] = value else: if path in self.h5pyfile: timestepping = self.has_attr(os.path.join(path, tf.name()), "timestepping") diff --git a/firedrake/preconditioners/patch.py b/firedrake/preconditioners/patch.py index e73c41b129..ff7bf4e01a 100644 --- a/firedrake/preconditioners/patch.py +++ b/firedrake/preconditioners/patch.py @@ -816,10 +816,13 @@ def initialize(self, obj): is_snes = False if len(bcs) > 0: - ghost_bc_nodes = numpy.unique(numpy.concatenate([bcdofs(bc, ghost=True) - for bc in bcs])) - global_bc_nodes = numpy.unique(numpy.concatenate([bcdofs(bc, ghost=False) - for bc in bcs])) + ghost_bc_nodes = numpy.unique( + numpy.concatenate([bcdofs(bc, ghost=True) for bc in bcs], + dtype=PETSc.IntType) + ) + global_bc_nodes = numpy.unique( + numpy.concatenate([bcdofs(bc, ghost=False) for bc in bcs], + dtype=PETSc.IntType)) else: ghost_bc_nodes = numpy.empty(0, dtype=PETSc.IntType) global_bc_nodes = numpy.empty(0, dtype=PETSc.IntType) diff --git a/tests/output/test_io_function.py b/tests/output/test_io_function.py index d5dcd0f7f8..fc48a220b4 100644 --- a/tests/output/test_io_function.py +++ b/tests/output/test_io_function.py @@ -218,7 +218,7 @@ def test_io_function_real(cell_type, tmpdir): VA = FunctionSpace(meshA, "Real", 0) fA = Function(VA, name=func_name) valueA = 3.14 - fA.dat.data.itemset(valueA) + fA.dat.data[...] = valueA with CheckpointFile(filename, 'w', comm=COMM_WORLD) as afile: afile.save_function(fA) # Load -> View cycle @@ -281,7 +281,7 @@ def test_io_function_mixed_real(cell_family_degree_tuples, tmpdir): fA = Function(VA, name=func_name) fA0, fA1 = fA.subfunctions _initialise_function(fA0, _get_expr(VA[0]), method) - fA1.dat.data.itemset(3.14) + fA1.dat.data[...] = 3.14 with CheckpointFile(filename, 'w', comm=COMM_WORLD) as afile: afile.save_function(fA) # Load -> View cycle @@ -297,7 +297,7 @@ def test_io_function_mixed_real(cell_family_degree_tuples, tmpdir): fBe = Function(VB) fBe0, fBe1 = fBe.subfunctions _initialise_function(fBe0, _get_expr(VB[0]), method) - fBe1.dat.data.itemset(3.14) + fBe1.dat.data[...] = 3.14 assert assemble(inner(fB - fBe, fB - fBe) * dx) < 1.e-16 with CheckpointFile(filename, 'w', comm=comm) as afile: afile.save_function(fB) diff --git a/tests/output/test_io_timestepping.py b/tests/output/test_io_timestepping.py index f00d008285..c12c30d74a 100644 --- a/tests/output/test_io_timestepping.py +++ b/tests/output/test_io_timestepping.py @@ -29,7 +29,7 @@ def _get_expr(V, i): def _project(f, expr, method): if f.function_space().ufl_element().family() == "Real": - f.dat.data.itemset(expr) + f.dat.data[...] = expr elif method == "project": getattr(f, method)(expr, solver_parameters={"ksp_rtol": 1.e-16}) elif method == "interpolate": From ca6efade209613103e606ccb74f94dab8605a535 Mon Sep 17 00:00:00 2001 From: Connor Date: Fri, 12 Apr 2024 15:02:02 +0100 Subject: [PATCH 18/62] fixup --- firedrake/mesh.py | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/firedrake/mesh.py b/firedrake/mesh.py index 12bc514b4e..1e7042c33f 100644 --- a/firedrake/mesh.py +++ b/firedrake/mesh.py @@ -21,7 +21,7 @@ from pyop2.mpi import ( MPI, COMM_WORLD, internal_comm, is_pyop2_comm, temp_internal_comm ) -from pyop2.utils import as_tuple, tuplify +from pyop2.utils import as_tuple import firedrake.cython.dmcommon as dmcommon import firedrake.cython.extrusion_numbering as extnum @@ -1445,7 +1445,14 @@ def make_dofs_per_plex_entity(self, entity_dofs): dofs_per_entity = np.zeros((1 + self._base_mesh.cell_dimension(), 2), dtype=IntType) for (b, v), entities in entity_dofs.items(): dofs_per_entity[b, v] += len(entities[0]) - return tuplify(dofs_per_entity) + + # Convert to a tuple of tuples with int (not numpy.intXX) values. This is + # to give us a string representation like ((0, 1), (2, 3)) instead of + # ((numpy.int32(0), numpy.int32(1)), (numpy.int32(2), numpy.int32(3))). + return tuple( + tuple(int(d_) for d_ in d) + for d in dofs_per_entity + ) @PETSc.Log.EventDecorator() def node_classes(self, nodes_per_entity, real_tensorproduct=False): From b94816f3236bc3bdb5e8ed040d33edfb92460a6e Mon Sep 17 00:00:00 2001 From: Connor Ward Date: Tue, 16 Apr 2024 18:47:54 +0100 Subject: [PATCH 19/62] loopy is now updated --- .github/workflows/build.yml | 1 - 1 file changed, 1 deletion(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 84db1d4e9e..2c3505b425 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -88,7 +88,6 @@ jobs: --package-branch fiat connorjward/numpy2 \ --package-branch pyop2 connorjward/numpy2 \ --package-branch tsfc connorjward/numpy2 \ - --package-branch loopy connorjward/numpy2 \ || (cat firedrake-install.log && /bin/false) - name: Install test dependencies run: | From ac7784debac4d51f609db100c973454a194f61d8 Mon Sep 17 00:00:00 2001 From: Jack Betteridge Date: Wed, 1 May 2024 16:43:44 +0100 Subject: [PATCH 20/62] Update branches of other dependencies --- .github/workflows/build.yml | 6 +++--- scripts/firedrake-install | 16 ++++++---------- 2 files changed, 9 insertions(+), 13 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 2c3505b425..9aa56c33d7 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -85,9 +85,9 @@ jobs: --install defcon \ --install gadopt \ --install asQ \ - --package-branch fiat connorjward/numpy2 \ - --package-branch pyop2 connorjward/numpy2 \ - --package-branch tsfc connorjward/numpy2 \ + --package-branch fiat JDBetteridge/numpy2_rebase \ + --package-branch pyop2 JDBetteridge/numpy2_rebase \ + --package-branch tsfc JDBetteridge/numpy2_rebase \ || (cat firedrake-install.log && /bin/false) - name: Install test dependencies run: | diff --git a/scripts/firedrake-install b/scripts/firedrake-install index c7b271e183..29d718e2df 100755 --- a/scripts/firedrake-install +++ b/scripts/firedrake-install @@ -132,18 +132,14 @@ log = logging.getLogger() log.info("Running %s" % " ".join(sys.argv)) -if sys.version_info >= (3, 12): - print("""\nCan not install Firedrake with Python 3.12 at the moment: -Some wheels are not yet available for Python 3.12 for some required package(s). -Please install with Python 3.11 (or an earlier version >= 3.8).""") +if sys.version_info >= (3, 13): + print("""\nCan not install Firedrake with Python 3.13 at the moment: +Some wheels are not yet available for Python 3.13 for some required package(s). +Please install with Python 3.12 (or an earlier version >= 3.9).""") sys.exit(1) -elif sys.version_info < (3, 9) and osname == "Darwin" and arch == "arm64": - print(""" -Installing Firedrake on Mac Arm (M1 or M2) requires at least Python 3.9 since -some required package(s) are not available for earlier Python versions.""") -elif sys.version_info < (3, 8): +elif sys.version_info < (3, 9): if mode == "install": - print("""\nInstalling Firedrake requires Python 3, at least version 3.8. + print("""\nInstalling Firedrake requires Python 3, at least version 3.9. You should run firedrake-install with python3.""") if mode == "update": if hasattr(sys, "real_prefix"): From 0b983ca76dc79d495a83b6ec2f3cb78122c7bc4d Mon Sep 17 00:00:00 2001 From: Jack Betteridge Date: Wed, 1 May 2024 16:54:09 +0100 Subject: [PATCH 21/62] Bump Zenodo canary Python version --- .github/workflows/zenodo-canary.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/zenodo-canary.yml b/.github/workflows/zenodo-canary.yml index 51933a2800..3f98507c1b 100644 --- a/.github/workflows/zenodo-canary.yml +++ b/.github/workflows/zenodo-canary.yml @@ -19,7 +19,7 @@ jobs: - name: Setup Python uses: actions/setup-python@v4 with: - python-version: 3.8 + python-version: 3.12 - name: Install deps run: | pip install requests From 0a088e166c4f0b6be909b299217bd70f7276d2ee Mon Sep 17 00:00:00 2001 From: Jack Betteridge Date: Thu, 2 May 2024 11:34:45 +0100 Subject: [PATCH 22/62] Build testing docker image --- docker/Dockerfile.env | 2 +- scripts/firedrake-install | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/docker/Dockerfile.env b/docker/Dockerfile.env index bc5ba1d9d9..5fec3c0305 100644 --- a/docker/Dockerfile.env +++ b/docker/Dockerfile.env @@ -1,6 +1,6 @@ # DockerFile for an environment into which firedrake can be installed. -FROM ubuntu:22.04 +FROM ubuntu:24.04 # Update and install required packages for Firedrake USER root diff --git a/scripts/firedrake-install b/scripts/firedrake-install index 29d718e2df..ae2f126808 100755 --- a/scripts/firedrake-install +++ b/scripts/firedrake-install @@ -1304,8 +1304,8 @@ def build_and_install_torch(): if sys.version_info >= (3, 10): run_pip_install(["typing_extensions"]) # FIXME: use nightly to see if that makes numpy 2.0 happy - extra_index_url = ["--extra-index-url", "https://download.pytorch.org/whl/nightly/cpu"] if args.torch == "cpu" else [] - run_pip_install(["--pre", "torch"] + extra_index_url) + extra_index_url = ["--extra-index-url", "https://download.pytorch.org/whl/test/cpu"] if args.torch == "cpu" else [] + run_pip_install(["torch==2.3.0"] + extra_index_url) def build_and_install_slepc(): From 4391c90d9bd86b755d0646c85196eb3f58b9acc2 Mon Sep 17 00:00:00 2001 From: Jack Betteridge Date: Thu, 2 May 2024 11:42:47 +0100 Subject: [PATCH 23/62] More workflow changes --- .github/workflows/build.yml | 8 ++++++++ .github/workflows/zenodo-canary.yml | 2 +- 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 9aa56c33d7..80eb9987a0 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -157,3 +157,11 @@ jobs: tag: ${{ needs.docker_tag.outputs.tag }} status: ${{ needs.build.result }} secrets: inherit + docker_testing: + # Strictly for testing! + uses: ./.github/workflows/docker_reuse.yml + with: + target: firedrake-test + tag: ${{ inputs.tag }} + dockerfile: docker/Dockerfile.env + secrets: inherit diff --git a/.github/workflows/zenodo-canary.yml b/.github/workflows/zenodo-canary.yml index 3f98507c1b..51b8c5a478 100644 --- a/.github/workflows/zenodo-canary.yml +++ b/.github/workflows/zenodo-canary.yml @@ -22,7 +22,7 @@ jobs: python-version: 3.12 - name: Install deps run: | - pip install requests + pip install requests packaging - name: Zenodo API canary run: | python scripts/firedrake-install --test-doi-resolution From b095b3a51247a75c81f65105e1fe8826cd877381 Mon Sep 17 00:00:00 2001 From: Jack Betteridge Date: Thu, 2 May 2024 11:43:43 +0100 Subject: [PATCH 24/62] fix --- .github/workflows/build.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 80eb9987a0..52aeb3a296 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -162,6 +162,6 @@ jobs: uses: ./.github/workflows/docker_reuse.yml with: target: firedrake-test - tag: ${{ inputs.tag }} + tag: latest dockerfile: docker/Dockerfile.env secrets: inherit From 215bfeb46983e093e15b5af3b2143d5543a27ee4 Mon Sep 17 00:00:00 2001 From: Jack Betteridge Date: Thu, 2 May 2024 11:46:55 +0100 Subject: [PATCH 25/62] New unbuntu packages --- docker/Dockerfile.env | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docker/Dockerfile.env b/docker/Dockerfile.env index 5fec3c0305..1b10ded6f8 100644 --- a/docker/Dockerfile.env +++ b/docker/Dockerfile.env @@ -14,7 +14,7 @@ RUN apt-get update \ libtool python3-dev python3-pip python3-tk python3-venv \ python3-requests zlib1g-dev libboost-dev sudo gmsh \ bison flex ninja-build \ - liboce-ocaf-dev \ + libocct-ocaf-dev libocct-data-exchange-dev \ swig graphviz \ libcurl4-openssl-dev libxml2-dev \ && rm -rf /var/lib/apt/lists/* From f08589c533a7c070aa8e73c84a24d0993fdcf540 Mon Sep 17 00:00:00 2001 From: Jack Betteridge Date: Thu, 2 May 2024 15:41:53 +0100 Subject: [PATCH 26/62] Build against testing container --- .github/workflows/build.yml | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 52aeb3a296..e48c5c44cf 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -26,7 +26,7 @@ jobs: # Run on our self-hosted machines runs-on: self-hosted container: - image: firedrakeproject/firedrake-env:latest + image: firedrakeproject/firedrake-test:latest strategy: # Don't immediately kill real if complex fails and vice versa. fail-fast: false @@ -157,11 +157,11 @@ jobs: tag: ${{ needs.docker_tag.outputs.tag }} status: ${{ needs.build.result }} secrets: inherit - docker_testing: - # Strictly for testing! - uses: ./.github/workflows/docker_reuse.yml - with: - target: firedrake-test - tag: latest - dockerfile: docker/Dockerfile.env - secrets: inherit + #~ docker_testing: + #~ # Strictly for testing! + #~ uses: ./.github/workflows/docker_reuse.yml + #~ with: + #~ target: firedrake-test + #~ tag: latest + #~ dockerfile: docker/Dockerfile.env + #~ secrets: inherit From eb3ffd6e7fea9e49da6d64b62685248d37273973 Mon Sep 17 00:00:00 2001 From: Jack Betteridge Date: Thu, 2 May 2024 16:08:41 +0100 Subject: [PATCH 27/62] Do I really need to specify root? --- .github/workflows/build.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index e48c5c44cf..b939e23cf0 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -27,6 +27,7 @@ jobs: runs-on: self-hosted container: image: firedrakeproject/firedrake-test:latest + options: --user root strategy: # Don't immediately kill real if complex fails and vice versa. fail-fast: false From e3ec363423c98bd3868abb032195bdd526134d96 Mon Sep 17 00:00:00 2001 From: Jack Betteridge Date: Thu, 2 May 2024 17:33:05 +0100 Subject: [PATCH 28/62] Test without Thetis due to issues --- .github/workflows/build.yml | 1 - 1 file changed, 1 deletion(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index b939e23cf0..f27b88ff44 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -77,7 +77,6 @@ jobs: --torch \ --netgen \ --slepc \ - --install thetis \ --install gusto \ --install icepack \ --install irksome \ From 6c4383dfc18eb0355d6b4c4c01fd87cd01fa03b9 Mon Sep 17 00:00:00 2001 From: Jack Betteridge Date: Wed, 8 May 2024 12:07:08 +0100 Subject: [PATCH 29/62] Don't become root --- .github/workflows/build.yml | 1 - 1 file changed, 1 deletion(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index f27b88ff44..48c51b81d0 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -27,7 +27,6 @@ jobs: runs-on: self-hosted container: image: firedrakeproject/firedrake-test:latest - options: --user root strategy: # Don't immediately kill real if complex fails and vice versa. fail-fast: false From 1b1696a368b726c82784bad8567d9f00833dfa11 Mon Sep 17 00:00:00 2001 From: Jack Betteridge Date: Wed, 8 May 2024 13:31:12 +0100 Subject: [PATCH 30/62] Try setting user --- .github/workflows/build.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 48c51b81d0..07fe94d68e 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -27,6 +27,7 @@ jobs: runs-on: self-hosted container: image: firedrakeproject/firedrake-test:latest + options: --user 1001:1002 strategy: # Don't immediately kill real if complex fails and vice versa. fail-fast: false From 4de170cc187ba2066ee559e03bd72b1a76f8031c Mon Sep 17 00:00:00 2001 From: Jack Betteridge Date: Wed, 8 May 2024 13:54:29 +0100 Subject: [PATCH 31/62] Noodling --- .github/workflows/build.yml | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 07fe94d68e..f5307014e0 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -49,6 +49,10 @@ jobs: COMPLEX: ${{ matrix.complex }} RDMAV_FORK_SAFE: 1 steps: + - name: Identify yourself + run: | + id -u + id -g - uses: actions/checkout@v4 - name: Cleanup if: ${{ always() }} @@ -58,9 +62,6 @@ jobs: - name: Build Firedrake run: | cd .. - # DO NOT MERGE: just until we rebuild the Docker container - sudo apt-get update - sudo apt-get -y install ninja-build # Linting should ignore unquoted shell variable $COMPLEX # shellcheck disable=SC2086 ./firedrake/scripts/firedrake-install \ From 2512d1064086af7329bd5b2ec99c085e5d852b8f Mon Sep 17 00:00:00 2001 From: Jack Betteridge Date: Wed, 8 May 2024 14:07:10 +0100 Subject: [PATCH 32/62] Noodling --- .github/workflows/build.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index f5307014e0..fe34ee3516 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -53,6 +53,7 @@ jobs: run: | id -u id -g + ls -lh /__w/_temp/_runner_file_commands - uses: actions/checkout@v4 - name: Cleanup if: ${{ always() }} From 5e6534f2ece1c56dace38e705d561f53e13c80a3 Mon Sep 17 00:00:00 2001 From: Jack Betteridge Date: Wed, 8 May 2024 14:10:57 +0100 Subject: [PATCH 33/62] Noodling --- .github/workflows/build.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index fe34ee3516..49b6b5487a 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -51,6 +51,7 @@ jobs: steps: - name: Identify yourself run: | + whoami id -u id -g ls -lh /__w/_temp/_runner_file_commands From f9398e62c2cf174215d56af0d3c3de05292bbc33 Mon Sep 17 00:00:00 2001 From: Jack Betteridge Date: Wed, 8 May 2024 14:12:55 +0100 Subject: [PATCH 34/62] Noodling --- .github/workflows/build.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 49b6b5487a..b016ca5569 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -55,6 +55,8 @@ jobs: id -u id -g ls -lh /__w/_temp/_runner_file_commands + id -u ubuntu + id -g ubuntu - uses: actions/checkout@v4 - name: Cleanup if: ${{ always() }} From fc0d221622ca2e61f46755829907d733ded8a3c2 Mon Sep 17 00:00:00 2001 From: Jack Betteridge Date: Wed, 8 May 2024 14:32:32 +0100 Subject: [PATCH 35/62] Noodling --- .github/workflows/build.yml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index b016ca5569..a50eff8ac5 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -57,6 +57,9 @@ jobs: ls -lh /__w/_temp/_runner_file_commands id -u ubuntu id -g ubuntu + echo + cat /etc/passwd + cat /etc/group - uses: actions/checkout@v4 - name: Cleanup if: ${{ always() }} From d3a9a34d8bd37a5c3e48fb34bfd13e98d54945ea Mon Sep 17 00:00:00 2001 From: Jack Betteridge Date: Wed, 8 May 2024 14:36:31 +0100 Subject: [PATCH 36/62] Noodling --- .github/workflows/build.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index a50eff8ac5..a86edf8e38 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -27,7 +27,7 @@ jobs: runs-on: self-hosted container: image: firedrakeproject/firedrake-test:latest - options: --user 1001:1002 + options: --user firedrake strategy: # Don't immediately kill real if complex fails and vice versa. fail-fast: false From ea03bf8e7db06efa0b65d9dfe9fae8c04d2f2845 Mon Sep 17 00:00:00 2001 From: Jack Betteridge Date: Wed, 8 May 2024 14:37:21 +0100 Subject: [PATCH 37/62] Noodling --- .github/workflows/build.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index a86edf8e38..fb11207a93 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -27,7 +27,7 @@ jobs: runs-on: self-hosted container: image: firedrakeproject/firedrake-test:latest - options: --user firedrake + options: --user ubuntu strategy: # Don't immediately kill real if complex fails and vice versa. fail-fast: false From c0e33a8b8327f3252a10302fced03d9977e252bb Mon Sep 17 00:00:00 2001 From: Jack Betteridge Date: Wed, 8 May 2024 15:36:59 +0100 Subject: [PATCH 38/62] Noodling --- .github/workflows/build.yml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index fb11207a93..d1e8e5b46e 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -60,6 +60,9 @@ jobs: echo cat /etc/passwd cat /etc/group + -name: Force clean + run: | + sudo rm -rf /__w/firedrake/firedrake - uses: actions/checkout@v4 - name: Cleanup if: ${{ always() }} From 13720f3452e56c4c03e33e07c2a44dcfdcdf3dc9 Mon Sep 17 00:00:00 2001 From: Jack Betteridge Date: Wed, 8 May 2024 15:38:09 +0100 Subject: [PATCH 39/62] Noodling --- .github/workflows/build.yml | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index d1e8e5b46e..423b9c3d2f 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -51,18 +51,18 @@ jobs: steps: - name: Identify yourself run: | - whoami - id -u - id -g - ls -lh /__w/_temp/_runner_file_commands - id -u ubuntu - id -g ubuntu - echo - cat /etc/passwd - cat /etc/group + whoami + id -u + id -g + ls -lh /__w/_temp/_runner_file_commands + id -u ubuntu + id -g ubuntu + echo + cat /etc/passwd + cat /etc/group -name: Force clean - run: | - sudo rm -rf /__w/firedrake/firedrake + run: | + sudo rm -rf /__w/firedrake/firedrake - uses: actions/checkout@v4 - name: Cleanup if: ${{ always() }} From d17d9912b486c141acd1d7fa1107beeadab85100 Mon Sep 17 00:00:00 2001 From: Jack Betteridge Date: Wed, 8 May 2024 15:39:06 +0100 Subject: [PATCH 40/62] Noodling --- .github/workflows/build.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 423b9c3d2f..0f156b7ef5 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -60,8 +60,8 @@ jobs: echo cat /etc/passwd cat /etc/group - -name: Force clean - run: | + - name: Force clean + run: | sudo rm -rf /__w/firedrake/firedrake - uses: actions/checkout@v4 - name: Cleanup From 71e0ae92b7f04c9b7c12054db6ce59e444b620e5 Mon Sep 17 00:00:00 2001 From: Jack Betteridge Date: Wed, 8 May 2024 15:43:42 +0100 Subject: [PATCH 41/62] Noodling --- .github/workflows/build.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 0f156b7ef5..7f6721f854 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -62,7 +62,7 @@ jobs: cat /etc/group - name: Force clean run: | - sudo rm -rf /__w/firedrake/firedrake + rm -rf /__w/firedrake/firedrake - uses: actions/checkout@v4 - name: Cleanup if: ${{ always() }} From a51161aa0699b83dabfc74e4fa5f2cf38df9e201 Mon Sep 17 00:00:00 2001 From: Jack Betteridge Date: Wed, 8 May 2024 15:48:10 +0100 Subject: [PATCH 42/62] Noodling --- .github/workflows/build.yml | 3 --- 1 file changed, 3 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 7f6721f854..537087c2d1 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -60,9 +60,6 @@ jobs: echo cat /etc/passwd cat /etc/group - - name: Force clean - run: | - rm -rf /__w/firedrake/firedrake - uses: actions/checkout@v4 - name: Cleanup if: ${{ always() }} From ff50e25c4048940479aeefb5344873d5bd11b943 Mon Sep 17 00:00:00 2001 From: Jack Betteridge Date: Wed, 8 May 2024 15:49:34 +0100 Subject: [PATCH 43/62] Noodling --- .github/workflows/build.yml | 1 - 1 file changed, 1 deletion(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 537087c2d1..013e2aadc0 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -27,7 +27,6 @@ jobs: runs-on: self-hosted container: image: firedrakeproject/firedrake-test:latest - options: --user ubuntu strategy: # Don't immediately kill real if complex fails and vice versa. fail-fast: false From ebd2168dc51b6c2de82c5fed97fc29f9f5cab866 Mon Sep 17 00:00:00 2001 From: Jack Betteridge Date: Thu, 9 May 2024 15:38:06 +0100 Subject: [PATCH 44/62] Reintroduce old hack --- .github/workflows/build.yml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 013e2aadc0..ad262d74cb 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -59,6 +59,9 @@ jobs: echo cat /etc/passwd cat /etc/group + - name: Fix permissions + run: | + sudo chmod -R 777 $GITHUB_WORKSPACE /github /__w/_temp - uses: actions/checkout@v4 - name: Cleanup if: ${{ always() }} From 97a1f0e351aae4982e9f7ff303ad2fb11b99e882 Mon Sep 17 00:00:00 2001 From: Jack Betteridge Date: Thu, 9 May 2024 16:33:56 +0100 Subject: [PATCH 45/62] Try user 1000 --- .github/workflows/build.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index ad262d74cb..5afed51946 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -27,6 +27,7 @@ jobs: runs-on: self-hosted container: image: firedrakeproject/firedrake-test:latest + options: --user 1000:1000 strategy: # Don't immediately kill real if complex fails and vice versa. fail-fast: false From dda904598d88b0b19a97cccc84b28a399997a9b1 Mon Sep 17 00:00:00 2001 From: Jack Betteridge Date: Thu, 9 May 2024 16:40:32 +0100 Subject: [PATCH 46/62] Remove sudo permissions hack --- .github/workflows/build.yml | 3 --- 1 file changed, 3 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 5afed51946..4214785f33 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -60,9 +60,6 @@ jobs: echo cat /etc/passwd cat /etc/group - - name: Fix permissions - run: | - sudo chmod -R 777 $GITHUB_WORKSPACE /github /__w/_temp - uses: actions/checkout@v4 - name: Cleanup if: ${{ always() }} From 49fd03c052b56085f5ce072aa7241f5ac9e8f00b Mon Sep 17 00:00:00 2001 From: Jack Betteridge Date: Thu, 9 May 2024 16:44:25 +0100 Subject: [PATCH 47/62] Try user 100 --- .github/workflows/build.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 4214785f33..704284c959 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -27,7 +27,7 @@ jobs: runs-on: self-hosted container: image: firedrakeproject/firedrake-test:latest - options: --user 1000:1000 + options: --user 1001:1002 strategy: # Don't immediately kill real if complex fails and vice versa. fail-fast: false From 62fe66d60818671469d322705a5e06832ca2543c Mon Sep 17 00:00:00 2001 From: Jack Betteridge Date: Thu, 9 May 2024 16:56:55 +0100 Subject: [PATCH 48/62] Try the hack again --- .github/workflows/build.yml | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 704284c959..070b95f8be 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -27,7 +27,7 @@ jobs: runs-on: self-hosted container: image: firedrakeproject/firedrake-test:latest - options: --user 1001:1002 + options: --user 1001:1001 strategy: # Don't immediately kill real if complex fails and vice versa. fail-fast: false @@ -60,6 +60,9 @@ jobs: echo cat /etc/passwd cat /etc/group + - name: Fix permissions + run: | + sudo chmod -R 777 $GITHUB_WORKSPACE /github /__w/_temp - uses: actions/checkout@v4 - name: Cleanup if: ${{ always() }} From b52bf52869fc016952e9670447fb252da25be1d4 Mon Sep 17 00:00:00 2001 From: Jack Betteridge Date: Thu, 9 May 2024 16:59:04 +0100 Subject: [PATCH 49/62] Revert me, check the old container --- .github/workflows/build.yml | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 070b95f8be..0b1cbc5567 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -26,8 +26,7 @@ jobs: # Run on our self-hosted machines runs-on: self-hosted container: - image: firedrakeproject/firedrake-test:latest - options: --user 1001:1001 + image: firedrakeproject/firedrake-env:latest strategy: # Don't immediately kill real if complex fails and vice versa. fail-fast: false @@ -60,9 +59,6 @@ jobs: echo cat /etc/passwd cat /etc/group - - name: Fix permissions - run: | - sudo chmod -R 777 $GITHUB_WORKSPACE /github /__w/_temp - uses: actions/checkout@v4 - name: Cleanup if: ${{ always() }} From 903cbc0528a9bb761cc9a2fb88af9d7422af7a61 Mon Sep 17 00:00:00 2001 From: Jack Betteridge Date: Thu, 9 May 2024 17:07:26 +0100 Subject: [PATCH 50/62] Revert me too --- .github/workflows/build.yml | 3 --- 1 file changed, 3 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 0b1cbc5567..02ac378f57 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -53,9 +53,6 @@ jobs: whoami id -u id -g - ls -lh /__w/_temp/_runner_file_commands - id -u ubuntu - id -g ubuntu echo cat /etc/passwd cat /etc/group From 42e3b8ac13a2b10500d4d33c32e68a5d649d7a9d Mon Sep 17 00:00:00 2001 From: Jack Betteridge Date: Thu, 9 May 2024 17:58:12 +0100 Subject: [PATCH 51/62] Build another testing container --- .github/workflows/build.yml | 24 ++++++++---------------- docker/Dockerfile.env | 8 ++++++-- 2 files changed, 14 insertions(+), 18 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 02ac378f57..1568ca75d5 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -48,14 +48,6 @@ jobs: COMPLEX: ${{ matrix.complex }} RDMAV_FORK_SAFE: 1 steps: - - name: Identify yourself - run: | - whoami - id -u - id -g - echo - cat /etc/passwd - cat /etc/group - uses: actions/checkout@v4 - name: Cleanup if: ${{ always() }} @@ -161,11 +153,11 @@ jobs: tag: ${{ needs.docker_tag.outputs.tag }} status: ${{ needs.build.result }} secrets: inherit - #~ docker_testing: - #~ # Strictly for testing! - #~ uses: ./.github/workflows/docker_reuse.yml - #~ with: - #~ target: firedrake-test - #~ tag: latest - #~ dockerfile: docker/Dockerfile.env - #~ secrets: inherit + docker_testing: + # Strictly for testing! + uses: ./.github/workflows/docker_reuse.yml + with: + target: firedrake-test + tag: latest + dockerfile: docker/Dockerfile.env + secrets: inherit diff --git a/docker/Dockerfile.env b/docker/Dockerfile.env index 1b10ded6f8..a0ad86b989 100644 --- a/docker/Dockerfile.env +++ b/docker/Dockerfile.env @@ -22,8 +22,12 @@ RUN apt-get update \ # Use a more sane locale ENV LC_ALL C.UTF-8 -# Set up user so that we do not run as root -RUN useradd -m -s /bin/bash -G sudo firedrake && \ +# Change the `ubuntu` user to `firedrake` +# and ensure that we do not run as root on self-hosted systems +RUN usermod -d /home/firedrake -m ubuntu && \ + usermod -l firedrake ubuntu && \ + groupmod -n firedrake ubuntu && \ + usermod -aG sudo firedrake && \ echo "firedrake:docker" | chpasswd && \ echo "firedrake ALL=(ALL) NOPASSWD: ALL" >> /etc/sudoers && \ ldconfig From 0b445bf89876c10a087f742a2f5e1dc6dd0b53f8 Mon Sep 17 00:00:00 2001 From: Jack Betteridge Date: Fri, 10 May 2024 11:16:46 +0100 Subject: [PATCH 52/62] Try again! --- .github/workflows/build.yml | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 1568ca75d5..2d192f935d 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -26,7 +26,7 @@ jobs: # Run on our self-hosted machines runs-on: self-hosted container: - image: firedrakeproject/firedrake-env:latest + image: firedrakeproject/firedrake-test:latest strategy: # Don't immediately kill real if complex fails and vice versa. fail-fast: false @@ -153,11 +153,11 @@ jobs: tag: ${{ needs.docker_tag.outputs.tag }} status: ${{ needs.build.result }} secrets: inherit - docker_testing: - # Strictly for testing! - uses: ./.github/workflows/docker_reuse.yml - with: - target: firedrake-test - tag: latest - dockerfile: docker/Dockerfile.env - secrets: inherit + #~ docker_testing: + #~ # Strictly for testing! + #~ uses: ./.github/workflows/docker_reuse.yml + #~ with: + #~ target: firedrake-test + #~ tag: latest + #~ dockerfile: docker/Dockerfile.env + #~ secrets: inherit From 14c4ad124c4dabcbed6cfb0d6139d5cda0f84aaf Mon Sep 17 00:00:00 2001 From: Jack Betteridge Date: Mon, 13 May 2024 21:11:25 +0100 Subject: [PATCH 53/62] Re-enable thetis and tinyASM to test the branches --- .github/workflows/build.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 2d192f935d..462224e84b 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -70,9 +70,11 @@ jobs: --no-package-manager \ --disable-ssh \ --documentation-dependencies \ + --tinyasm \ --torch \ --netgen \ --slepc \ + --install thetis \ --install gusto \ --install icepack \ --install irksome \ From 8231d45796c2ecd64e796e5a1e3c8fae6352ad10 Mon Sep 17 00:00:00 2001 From: Jack Betteridge Date: Tue, 14 May 2024 16:36:51 +0100 Subject: [PATCH 54/62] Try out the second numpy release candidate --- scripts/firedrake-install | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/firedrake-install b/scripts/firedrake-install index ae2f126808..b927376cf4 100755 --- a/scripts/firedrake-install +++ b/scripts/firedrake-install @@ -1696,7 +1696,7 @@ run_pip(["install", "-U", "Cython>=3.0.6"]) # 11/04/24 Install a 2.0 release candidate because 2.0 has not yet been # officially released but we cannot build petsc4py without it. -run_pip(["install", "-U", "numpy==2.0.0rc1"]) +run_pip(["install", "-U", "numpy==2.0.0rc2"]) # Loopy has additional build dependencies run_pip(["install", "-U", "scikit-build"]) From 451ad203183f676297d0edb245bd55cf3b93266b Mon Sep 17 00:00:00 2001 From: Jack Betteridge Date: Thu, 30 May 2024 14:07:52 +0100 Subject: [PATCH 55/62] What happens if we turn off coverage --- .github/workflows/build.yml | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 462224e84b..64176d6c09 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -92,7 +92,7 @@ jobs: . ../firedrake_venv/bin/activate python "$(which firedrake-clean)" python -m pip install \ - pytest-cov pytest-timeout pytest-xdist pytest-timeout ipympl + pytest-xdist pytest-timeout ipympl python -m pip list - name: Test Firedrake run: | @@ -102,7 +102,6 @@ jobs: python -m pytest -v tests/test_0init.py python -m pytest \ --durations=200 \ - --cov firedrake \ --timeout=1800 \ --timeout-method=thread \ -o faulthandler_timeout=1860 \ From 9957cfb37e5af71834ff1bcf799158cbbdf675f9 Mon Sep 17 00:00:00 2001 From: Jack Betteridge Date: Fri, 7 Jun 2024 16:28:40 +0100 Subject: [PATCH 56/62] More C consts --- firedrake/cython/dmcommon.pyx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/firedrake/cython/dmcommon.pyx b/firedrake/cython/dmcommon.pyx index e10570b03d..4d841a70a7 100644 --- a/firedrake/cython/dmcommon.pyx +++ b/firedrake/cython/dmcommon.pyx @@ -2553,7 +2553,7 @@ cdef struct CommFacet: PetscInt global_u, global_v PetscInt local_facet -cdef int CommFacet_cmp(void *x_, void *y_) noexcept nogil: +cdef int CommFacet_cmp(const void *x_, const void *y_) noexcept nogil: """Three-way comparison C function for CommFacet structs.""" cdef: CommFacet *x = x_ From 9ebdb662307516ed6f9528296c13a098243db8a0 Mon Sep 17 00:00:00 2001 From: Jack Betteridge <43041811+JDBetteridge@users.noreply.github.com> Date: Fri, 7 Jun 2024 16:42:33 +0100 Subject: [PATCH 57/62] All package branches merged --- .github/workflows/build.yml | 3 --- 1 file changed, 3 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 64176d6c09..1b67666a97 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -83,9 +83,6 @@ jobs: --install defcon \ --install gadopt \ --install asQ \ - --package-branch fiat JDBetteridge/numpy2_rebase \ - --package-branch pyop2 JDBetteridge/numpy2_rebase \ - --package-branch tsfc JDBetteridge/numpy2_rebase \ || (cat firedrake-install.log && /bin/false) - name: Install test dependencies run: | From a51ead9adec17c0c047000000ac9e925352fc336 Mon Sep 17 00:00:00 2001 From: Jack Betteridge <43041811+JDBetteridge@users.noreply.github.com> Date: Tue, 18 Jun 2024 11:39:19 +0100 Subject: [PATCH 58/62] Test --- scripts/firedrake-install | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/scripts/firedrake-install b/scripts/firedrake-install index b927376cf4..9c8e403014 100755 --- a/scripts/firedrake-install +++ b/scripts/firedrake-install @@ -1694,9 +1694,7 @@ run_pip(["install", "-U", "wheel"]) run_pip(["install", "-U", "meson-python>=0.15.0"]) run_pip(["install", "-U", "Cython>=3.0.6"]) -# 11/04/24 Install a 2.0 release candidate because 2.0 has not yet been -# officially released but we cannot build petsc4py without it. -run_pip(["install", "-U", "numpy==2.0.0rc2"]) +run_pip(["install", "-U", "numpy"]) # Loopy has additional build dependencies run_pip(["install", "-U", "scikit-build"]) From be7ef807d864ac8cb51101db3605bb5d6a42b58d Mon Sep 17 00:00:00 2001 From: Jack Betteridge Date: Thu, 20 Jun 2024 11:37:27 +0100 Subject: [PATCH 59/62] Use stable torch release --- scripts/firedrake-install | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/scripts/firedrake-install b/scripts/firedrake-install index 9c8e403014..dfe424ffe3 100755 --- a/scripts/firedrake-install +++ b/scripts/firedrake-install @@ -1303,9 +1303,8 @@ def build_and_install_torch(): raise InstallError("CUDA installation is not available on MacOS.") if sys.version_info >= (3, 10): run_pip_install(["typing_extensions"]) - # FIXME: use nightly to see if that makes numpy 2.0 happy - extra_index_url = ["--extra-index-url", "https://download.pytorch.org/whl/test/cpu"] if args.torch == "cpu" else [] - run_pip_install(["torch==2.3.0"] + extra_index_url) + extra_index_url = ["--extra-index-url", "https://download.pytorch.org/whl/cpu"] if args.torch == "cpu" else [] + run_pip_install(["torch"] + extra_index_url) def build_and_install_slepc(): From 129133f02659e1f935502e780828f53ebe1292f1 Mon Sep 17 00:00:00 2001 From: Jack Betteridge Date: Thu, 20 Jun 2024 11:52:17 +0100 Subject: [PATCH 60/62] Update documentation to Python3.9-3.12 --- docs/source/download.rst | 15 ++++++--------- docs/source/install-debug.dot | 4 ++-- 2 files changed, 8 insertions(+), 11 deletions(-) diff --git a/docs/source/download.rst b/docs/source/download.rst index d10fa49900..e47591e33d 100644 --- a/docs/source/download.rst +++ b/docs/source/download.rst @@ -107,18 +107,15 @@ packages can be installed into an existing Firedrake installation using System requirements ------------------- -Firedrake requires Python 3.8.x to 3.11.x. On MacOS Arm (M1 or M2) Python 3.9.x -to 3.11.x is required. Many externally managed dependencies such as VTK -have yet to create binary wheels for 3.11.x, but we have generated these -for the major supported platforms. -The installation script is tested on Ubuntu and MacOS X. On Ubuntu 22.04 -or later, the system installed Python 3 is supported and tested. On -MacOS, the homebrew_ installed Python 3 is supported:: +Firedrake requires Python 3.9 to 3.12. The installation script is +tested by CI on Ubuntu 24.04 LTS. On Ubuntu 22.04 or later, the system +installed Python 3 is supported. On MacOS, the homebrew_ installed +Python 3 is supported:: brew install python3 Installation is likely to work well on other Linux platforms, although -the script may stop to ask you to install some dependency packages. +the script may fail if dependency packages are not already installed. Installation on other Unix platforms may work but is untested. On Linux systems that do not use the Debian package management system, it will be necessary to pass the `--no-package-manager` option to the install @@ -129,7 +126,7 @@ they have the system dependencies: * A Fortran compiler (for PETSc) * Blas and Lapack * Git, Mercurial -* Python version 3.8.x-3.11.x (3.9.x-3.11.x on MacOS Arm) +* Python version 3.9-3.12 * The Python headers * autoconf, automake, libtool * CMake diff --git a/docs/source/install-debug.dot b/docs/source/install-debug.dot index f9ee8d5949..a043a0cded 100644 --- a/docs/source/install-debug.dot +++ b/docs/source/install-debug.dot @@ -8,7 +8,7 @@ digraph triage { venv_activated [label="venv activated?"]; install_script_up_to_date [label="Install script\nup to date?"]; using_anaconda [label="Using\nAnaconda?"]; - python_version [label="Python <3.8?"]; + python_version [label="Python <3.9?"]; using_macos [label="Using\nMacOS?"]; using_homebrew [label="Using\nHomebrew?"]; url_error [label="URL Error with SSL\ncertificate failure?"]; @@ -16,7 +16,7 @@ digraph triage { activate_venv [label="Activate the\nvenv first."]; uninstall_anaconda [label="Deactivate\nAnaconda."]; - update_python [label="Get Python 3.8-3.11"]; + update_python [label="Get Python 3.9-3.12"]; update_install_script [label="Fetch new\ninstall script"]; get_homebrew [label="Use Homebrew."]; brew_doctor [label="brew doctor"]; From fe93ed7515c731c8fbefc170f615ed9d4edda81f Mon Sep 17 00:00:00 2001 From: Jack Betteridge Date: Thu, 20 Jun 2024 12:06:44 +0100 Subject: [PATCH 61/62] tinyasm snuck back in during rebase --- .github/workflows/build.yml | 1 - 1 file changed, 1 deletion(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 1b67666a97..09f77f6688 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -70,7 +70,6 @@ jobs: --no-package-manager \ --disable-ssh \ --documentation-dependencies \ - --tinyasm \ --torch \ --netgen \ --slepc \ From e1c9e287272a76ad355a69a8fd34f56ed774b1b3 Mon Sep 17 00:00:00 2001 From: Jack Betteridge <43041811+JDBetteridge@users.noreply.github.com> Date: Thu, 20 Jun 2024 13:49:33 +0100 Subject: [PATCH 62/62] Apply suggestions from code review --- .github/workflows/build.yml | 10 +--------- 1 file changed, 1 insertion(+), 9 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 09f77f6688..4f61ab2d9b 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -26,7 +26,7 @@ jobs: # Run on our self-hosted machines runs-on: self-hosted container: - image: firedrakeproject/firedrake-test:latest + image: firedrakeproject/firedrake-env:latest strategy: # Don't immediately kill real if complex fails and vice versa. fail-fast: false @@ -150,11 +150,3 @@ jobs: tag: ${{ needs.docker_tag.outputs.tag }} status: ${{ needs.build.result }} secrets: inherit - #~ docker_testing: - #~ # Strictly for testing! - #~ uses: ./.github/workflows/docker_reuse.yml - #~ with: - #~ target: firedrake-test - #~ tag: latest - #~ dockerfile: docker/Dockerfile.env - #~ secrets: inherit