diff --git a/.github/actions/set-env/action.yml b/.github/actions/set-env/action.yml
new file mode 100644
index 0000000..91e6a0e
--- /dev/null
+++ b/.github/actions/set-env/action.yml
@@ -0,0 +1,19 @@
+name: set-env
+description: set ubuntu os version and modules base directory
+outputs:
+ modules_dir:
+ description: "the modules base directory"
+ value: ${{ steps.set-vars.outputs.modules_dir }}
+ os_ver:
+ description: "the ubuntu os version"
+ value: ${{ steps.set-vars.outputs.os_ver }}
+runs:
+ using: composite
+ steps:
+ - id: set-vars
+ run: |
+ source /etc/os-release
+ os_ver="$(echo ${ID}${VERSION_ID} | sed 's/\.//')"
+ echo "os_ver=${os_ver}" >> $GITHUB_OUTPUT
+ echo "modules_dir=$HOME/modules" >> $GITHUB_OUTPUT
+ shell: bash
diff --git a/.github/actions/setup-boost/action.yml b/.github/actions/setup-boost/action.yml
index 9ed27f4..e6d8f86 100644
--- a/.github/actions/setup-boost/action.yml
+++ b/.github/actions/setup-boost/action.yml
@@ -7,24 +7,32 @@ inputs:
runs:
using: composite
steps:
+ - id: set-env
+ uses: ./.github/actions/set-env
+
- id: cache-boost
- uses: actions/cache@v3
+ uses: actions/cache@v4
with:
path: |
- ${{ env.MODULES_DIR }}/opt/boost/${{ inputs.boost_ver }}
- ${{ env.MODULES_DIR }}/modulefiles/boost/${{ inputs.boost_ver }}
- key: ${{ env.OS_VERSION }}-boost-${{ inputs.boost_ver }}-${{ hashFiles('scripts/install_boost.sh') }}
+ ${{ steps.set-env.outputs.modules_dir }}/opt/boost/${{ inputs.boost_ver }}
+ ${{ steps.set-env.outputs.modules_dir }}/modulefiles/boost/${{ inputs.boost_ver }}
+ key: |
+ ${{ steps.set-env.outputs.os_ver }}-boost-${{ inputs.boost_ver }}-${{ hashFiles('scripts/install_boost.sh') }}
restore-keys: |
- ${{ env.OS_VERSION }}-boost-${{ inputs.boost_ver }}-
-
+ ${{ steps.set-env.outputs.os_ver }}-boost-${{ inputs.boost_ver }}-
+
- name: install boost module
if: steps.cache-boost.outputs.cache-hit != 'true'
- working-directory: ${{ github.workspace }}
- run: ./scripts/install_boost.sh --version=${{ inputs.boost_ver }} --modules-dir=${{ env.MODULES_DIR }}
+ run: |
+ ./install_boost.sh \
+ --version=${{ inputs.boost_ver }} \
+ --modules-dir=${{ steps.set-env.outputs.modules_dir }}
+ working-directory: ${{ github.workspace }}/scripts
shell: bash
-
+
- name: test boost module
run: |
+ module use ${{ steps.set-env.outputs.modules_dir }}/modulefiles
module load boost/${{ inputs.boost_ver }}
module test boost/${{ inputs.boost_ver }}
- shell: bash --login -e -o pipefail {0} # login to load /etc/profile.d/modules.sh
+ shell: bash --login -e -o pipefail {0} # login to source /etc/profile.d/modules.sh
diff --git a/.github/actions/setup-defaults/action.yml b/.github/actions/setup-defaults/action.yml
index 6612621..0b0f475 100644
--- a/.github/actions/setup-defaults/action.yml
+++ b/.github/actions/setup-defaults/action.yml
@@ -3,26 +3,15 @@ description: setup environment and dependencies
runs:
using: composite
steps:
- - name: set environment variables
- run: |
- . /etc/os-release
- os_version="$(echo ${ID}${VERSION_ID} | sed 's/\.//')"
- echo "OS_VERSION=${os_version}" >> ${GITHUB_ENV}
- echo "MODULES_DIR=${{ github.workspace }}/modules" >> ${GITHUB_ENV}
- echo "CHASTE_TEST_OUTPUT=${{ github.workspace }}/testoutput" >> ${GITHUB_ENV}
- shell: bash
+ - id: set-env
+ uses: ./.github/actions/set-env
- - name: install dependencies
- working-directory: ${{ github.workspace }}
- run: sudo ./scripts/setup_${{ env.OS_VERSION }}.sh
- shell: bash
-
- - name: configure environment modules
- run: |
- mkdir -p ${{ env.MODULES_DIR }}/modulefiles
- echo "module use ${{ env.MODULES_DIR }}/modulefiles" | sudo tee -a /etc/profile.d/modules.sh
+ - name: install os dependencies
+ run: ./scripts/setup_${{ steps.set-env.outputs.os_ver }}.sh
shell: bash
- name: test module command
- run: module avail
- shell: bash --login -e -o pipefail {0} # login to load /etc/profile.d/modules.sh
+ run: |
+ source /etc/profile.d/modules.sh
+ module avail
+ shell: bash
diff --git a/.github/actions/setup-petsc_hdf5/action.yml b/.github/actions/setup-petsc_hdf5/action.yml
index f73fbd3..f62dd4e 100644
--- a/.github/actions/setup-petsc_hdf5/action.yml
+++ b/.github/actions/setup-petsc_hdf5/action.yml
@@ -13,24 +13,34 @@ inputs:
runs:
using: composite
steps:
+ - id: set-env
+ uses: ./.github/actions/set-env
+
- id: cache-petsc_hdf5
- uses: actions/cache@v3
+ uses: actions/cache@v4
with:
path: |
- ${{ env.MODULES_DIR }}/opt/petsc_hdf5/${{ inputs.petsc_ver }}_${{ inputs.hdf5_ver }}
- ${{ env.MODULES_DIR }}/modulefiles/petsc_hdf5/${{ inputs.petsc_ver }}_${{ inputs.hdf5_ver }}/${{ inputs.petsc_arch }}
- key: ${{ env.OS_VERSION }}-petsc_hdf5-${{ inputs.petsc_ver }}-${{ inputs.hdf5_ver }}-${{ inputs.petsc_arch }}-${{ hashFiles('scripts/install_petsc_hdf5.sh') }}
+ ${{ steps.set-env.outputs.modules_dir }}/opt/petsc_hdf5/${{ inputs.petsc_ver }}_${{ inputs.hdf5_ver }}
+ ${{ steps.set-env.outputs.modules_dir }}/modulefiles/petsc_hdf5/${{ inputs.petsc_ver }}_${{ inputs.hdf5_ver }}/${{ inputs.petsc_arch }}
+ key: |
+ ${{ steps.set-env.outputs.os_ver }}-petsc_hdf5-${{ inputs.petsc_ver }}-${{ inputs.hdf5_ver }}-${{ inputs.petsc_arch }}-${{ hashFiles('scripts/install_petsc_hdf5.sh') }}
restore-keys: |
- ${{ env.OS_VERSION }}-petsc_hdf5-${{ inputs.petsc_ver }}-${{ inputs.hdf5_ver }}-${{ inputs.petsc_arch }}-
-
+ ${{ steps.set-env.outputs.os_ver }}-petsc_hdf5-${{ inputs.petsc_ver }}-${{ inputs.hdf5_ver }}-${{ inputs.petsc_arch }}-
+
- name: build and install petsc_hdf5 module
if: steps.cache-petsc_hdf5.outputs.cache-hit != 'true'
- working-directory: ${{ github.workspace }}
- run: ./scripts/install_petsc_hdf5.sh --petsc-version=${{ inputs.petsc_ver }} --hdf5-version=${{ inputs.hdf5_ver }} --petsc-arch=${{ inputs.petsc_arch }} --modules-dir=${{ env.MODULES_DIR }}
+ run: |
+ ./install_petsc_hdf5.sh \
+ --petsc-version=${{ inputs.petsc_ver }} \
+ --hdf5-version=${{ inputs.hdf5_ver }} \
+ --petsc-arch=${{ inputs.petsc_arch }} \
+ --modules-dir=${{ steps.set-env.outputs.modules_dir }}
+ working-directory: ${{ github.workspace }}/scripts
shell: bash
- name: test petsc_hdf5 module
run: |
+ module use ${{ steps.set-env.outputs.modules_dir }}/modulefiles
module load petsc_hdf5/${{ inputs.petsc_ver }}_${{ inputs.hdf5_ver }}/${{ inputs.petsc_arch }}
module test petsc_hdf5/${{ inputs.petsc_ver }}_${{ inputs.hdf5_ver }}/${{ inputs.petsc_arch }}
- shell: bash --login -e -o pipefail {0} # login to load /etc/profile.d/modules.sh
+ shell: bash --login -e -o pipefail {0} # login to source /etc/profile.d/modules.sh
diff --git a/.github/actions/setup-sundials/action.yml b/.github/actions/setup-sundials/action.yml
index f86642a..080ba68 100644
--- a/.github/actions/setup-sundials/action.yml
+++ b/.github/actions/setup-sundials/action.yml
@@ -7,24 +7,32 @@ inputs:
runs:
using: composite
steps:
+ - id: set-env
+ uses: ./.github/actions/set-env
+
- id: cache-sundials
- uses: actions/cache@v3
+ uses: actions/cache@v4
with:
path: |
- ${{ env.MODULES_DIR }}/opt/sundials/${{ inputs.sundials_ver }}
- ${{ env.MODULES_DIR }}/modulefiles/sundials/${{ inputs.sundials_ver }}
- key: ${{ env.OS_VERSION }}-sundials-${{ inputs.sundials_ver }}-${{ hashFiles('scripts/install_sundials.sh') }}
+ ${{ steps.set-env.outputs.modules_dir }}/opt/sundials/${{ inputs.sundials_ver }}
+ ${{ steps.set-env.outputs.modules_dir }}/modulefiles/sundials/${{ inputs.sundials_ver }}
+ key: |
+ ${{ steps.set-env.outputs.os_ver }}-sundials-${{ inputs.sundials_ver }}-${{ hashFiles('scripts/install_sundials.sh') }}
restore-keys: |
- ${{ env.OS_VERSION }}-sundials-${{ inputs.sundials_ver }}-
-
+ ${{ steps.set-env.outputs.os_ver }}-sundials-${{ inputs.sundials_ver }}-
+
- name: build and install sundials module
if: steps.cache-sundials.outputs.cache-hit != 'true'
- working-directory: ${{ github.workspace }}
- run: ./scripts/install_sundials.sh --version=${{ inputs.sundials_ver }} --modules-dir=${{ env.MODULES_DIR }}
+ run: |
+ ./install_sundials.sh \
+ --version=${{ inputs.sundials_ver }} \
+ --modules-dir=${{ steps.set-env.outputs.modules_dir }}
+ working-directory: ${{ github.workspace }}/scripts
shell: bash
-
+
- name: test sundials module
run: |
+ module use ${{ steps.set-env.outputs.modules_dir }}/modulefiles
module load sundials/${{ inputs.sundials_ver }}
module test sundials/${{ inputs.sundials_ver }}
- shell: bash --login -e -o pipefail {0} # login to load /etc/profile.d/modules.sh
+ shell: bash --login -e -o pipefail {0} # login to source /etc/profile.d/modules.sh
diff --git a/.github/actions/setup-vtk/action.yml b/.github/actions/setup-vtk/action.yml
index 68fa522..0c46f64 100644
--- a/.github/actions/setup-vtk/action.yml
+++ b/.github/actions/setup-vtk/action.yml
@@ -7,24 +7,32 @@ inputs:
runs:
using: composite
steps:
+ - id: set-env
+ uses: ./.github/actions/set-env
+
- id: cache-vtk
- uses: actions/cache@v3
+ uses: actions/cache@v4
with:
path: |
- ${{ env.MODULES_DIR }}/opt/vtk/${{ inputs.vtk_ver }}
- ${{ env.MODULES_DIR }}/modulefiles/vtk/${{ inputs.vtk_ver }}
- key: ${{ env.OS_VERSION }}-vtk-${{ inputs.vtk_ver }}-${{ hashFiles('scripts/install_vtk.sh') }}
+ ${{ steps.set-env.outputs.modules_dir }}/opt/vtk/${{ inputs.vtk_ver }}
+ ${{ steps.set-env.outputs.modules_dir }}/modulefiles/vtk/${{ inputs.vtk_ver }}
+ key: |
+ ${{ steps.set-env.outputs.os_ver }}-vtk-${{ inputs.vtk_ver }}-${{ hashFiles('scripts/install_vtk.sh') }}
restore-keys: |
- ${{ env.OS_VERSION }}-vtk-${{ inputs.vtk_ver }}-
-
- - name: Build and install vtk module
+ ${{ steps.set-env.outputs.os_ver }}-vtk-${{ inputs.vtk_ver }}-
+
+ - name: build and install vtk module
if: steps.cache-vtk.outputs.cache-hit != 'true'
- working-directory: ${{ github.workspace }}
- run: ./scripts/install_vtk.sh --version=${{ inputs.vtk_ver }} --modules-dir=${{ env.MODULES_DIR }}
+ run: |
+ ./install_vtk.sh \
+ --version=${{ inputs.vtk_ver }} \
+ --modules-dir=${{ steps.set-env.outputs.modules_dir }}
+ working-directory: ${{ github.workspace }}/scripts
shell: bash
-
+
- name: test vtk module
run: |
+ module use ${{ steps.set-env.outputs.modules_dir }}/modulefiles
module load vtk/${{ inputs.vtk_ver }}
module test vtk/${{ inputs.vtk_ver }}
- shell: bash --login -e -o pipefail {0} # login to load /etc/profile.d/modules.sh
+ shell: bash --login -e -o pipefail {0} # login to source /etc/profile.d/modules.sh
diff --git a/.github/actions/setup-xercesc/action.yml b/.github/actions/setup-xercesc/action.yml
index c6fddd6..6aeb1de 100644
--- a/.github/actions/setup-xercesc/action.yml
+++ b/.github/actions/setup-xercesc/action.yml
@@ -7,24 +7,32 @@ inputs:
runs:
using: composite
steps:
+ - id: set-env
+ uses: ./.github/actions/set-env
+
- id: cache-xercesc
- uses: actions/cache@v3
+ uses: actions/cache@v4
with:
path: |
- ${{ env.MODULES_DIR }}/opt/xercesc/${{ inputs.xercesc_ver }}
- ${{ env.MODULES_DIR }}/modulefiles/xercesc/${{ inputs.xercesc_ver }}
- key: ${{ env.OS_VERSION }}-xercesc-${{ inputs.xercesc_ver }}-${{ hashFiles('scripts/install_xercesc.sh') }}
+ ${{ steps.set-env.outputs.modules_dir }}/opt/xercesc/${{ inputs.xercesc_ver }}
+ ${{ steps.set-env.outputs.modules_dir }}/modulefiles/xercesc/${{ inputs.xercesc_ver }}
+ key: |
+ ${{ steps.set-env.outputs.os_ver }}-xercesc-${{ inputs.xercesc_ver }}-${{ hashFiles('scripts/install_xercesc.sh') }}
restore-keys: |
- ${{ env.OS_VERSION }}-xercesc-${{ inputs.xercesc_ver }}-
+ ${{ steps.set-env.outputs.os_ver }}-xercesc-${{ inputs.xercesc_ver }}-
- name: build and install xercesc module
if: steps.cache-xercesc.outputs.cache-hit != 'true'
- working-directory: ${{ github.workspace }}
- run: ./scripts/install_xercesc.sh --version=${{ inputs.xercesc_ver }} --modules-dir=${{ env.MODULES_DIR }}
+ run: |
+ ./install_xercesc.sh \
+ --version=${{ inputs.xercesc_ver }} \
+ --modules-dir=${{ steps.set-env.outputs.modules_dir }}
+ working-directory: ${{ github.workspace }}/scripts
shell: bash
- name: test xercesc module
run: |
+ module use ${{ steps.set-env.outputs.modules_dir }}/modulefiles
module load xercesc/${{ inputs.xercesc_ver }}
module test xercesc/${{ inputs.xercesc_ver }}
- shell: bash --login -e -o pipefail {0} # login to load /etc/profile.d/modules.sh
+ shell: bash --login -e -o pipefail {0} # login to source /etc/profile.d/modules.sh
diff --git a/.github/actions/setup-xsd/action.yml b/.github/actions/setup-xsd/action.yml
index a751720..f198059 100644
--- a/.github/actions/setup-xsd/action.yml
+++ b/.github/actions/setup-xsd/action.yml
@@ -7,24 +7,32 @@ inputs:
runs:
using: composite
steps:
+ - id: set-env
+ uses: ./.github/actions/set-env
+
- id: cache-xsd
- uses: actions/cache@v3
+ uses: actions/cache@v4
with:
path: |
- ${{ env.MODULES_DIR }}/opt/xsd/${{ inputs.xsd_ver }}
- ${{ env.MODULES_DIR }}/modulefiles/xsd/${{ inputs.xsd_ver }}
- key: ${{ env.OS_VERSION }}-xsd-${{ inputs.xsd_ver }}-${{ hashFiles('scripts/install_xsd.sh') }}
+ ${{ steps.set-env.outputs.modules_dir }}/opt/xsd/${{ inputs.xsd_ver }}
+ ${{ steps.set-env.outputs.modules_dir }}/modulefiles/xsd/${{ inputs.xsd_ver }}
+ key: |
+ ${{ steps.set-env.outputs.os_ver }}-xsd-${{ inputs.xsd_ver }}-${{ hashFiles('scripts/install_xsd.sh') }}
restore-keys: |
- ${{ env.OS_VERSION }}-xsd-${{ inputs.xsd_ver }}-
-
+ ${{ steps.set-env.outputs.os_ver }}-xsd-${{ inputs.xsd_ver }}-
+
- name: install xsd module
if: steps.cache-xsd.outputs.cache-hit != 'true'
- working-directory: ${{ github.workspace }}
- run: ./scripts/install_xsd.sh --version=${{ inputs.xsd_ver }} --modules-dir=${{ env.MODULES_DIR }}
+ run: |
+ ./install_xsd.sh \
+ --version=${{ inputs.xsd_ver }} \
+ --modules-dir=${{ steps.set-env.outputs.modules_dir }}
+ working-directory: ${{ github.workspace }}/scripts
shell: bash
-
+
- name: test xsd module
run: |
+ module use ${{ steps.set-env.outputs.modules_dir }}/modulefiles
module load xsd/${{ inputs.xsd_ver }}
module test xsd/${{ inputs.xsd_ver }}
- shell: bash --login -e -o pipefail {0} # login to load /etc/profile.d/modules.sh
+ shell: bash --login -e -o pipefail {0} # login to source /etc/profile.d/modules.sh
diff --git a/.github/workflows/boost.yml b/.github/workflows/boost.yml
index abae076..ffbbfd0 100644
--- a/.github/workflows/boost.yml
+++ b/.github/workflows/boost.yml
@@ -4,29 +4,31 @@ on:
workflow_dispatch:
inputs:
boost_ver:
- description: 'Boost version'
+ description: "Boost version"
required: true
type: string
- default: '1.74.0'
+ default: "1.83.0"
os:
- description: 'OS'
+ description: "OS"
required: true
type: choice
options:
- - 'ubuntu-20.04'
- - 'ubuntu-22.04'
- default: 'ubuntu-22.04'
+ - "ubuntu:22.04"
+ - "ubuntu:24.04"
+ default: "ubuntu:24.04"
jobs:
setup:
name: build and cache boost
-
- runs-on: ${{ github.event.inputs.os }}
+
+ runs-on: ubuntu-latest
+ container:
+ image: ${{ github.event.inputs.os }}
steps:
- name: checkout
- uses: actions/checkout@v3
+ uses: actions/checkout@v4
- name: setup os
uses: ./.github/actions/setup-defaults
diff --git a/.github/workflows/ubuntu-tests.yml b/.github/workflows/build-all.yml
similarity index 82%
rename from .github/workflows/ubuntu-tests.yml
rename to .github/workflows/build-all.yml
index d3a9193..59ec703 100644
--- a/.github/workflows/ubuntu-tests.yml
+++ b/.github/workflows/build-all.yml
@@ -1,42 +1,36 @@
-name: ubuntu-tests
+name: build-all
on:
workflow_dispatch:
jobs:
setup:
- name: test modules on ubuntu
+ name: build all modules and compile chaste build info
strategy:
+ fail-fast: false
matrix:
include:
- - os: ubuntu-20.04
+ - os: ubuntu:24.04
xsd_ver: 4.0.0
xercesc_ver: 3.2.4
- sundials_ver: 5.8.0
- boost_ver: 1.74.0
- vtk_ver: 7.1.1
- petsc_ver: 3.15.5
- hdf5_ver: 1.10.8
+ sundials_ver: 6.4.1
+ boost_ver: 1.83.0
+ vtk_ver: 9.1.0
+ petsc_ver: 3.19.2
+ hdf5_ver: 1.10.10
petsc_arch: linux-gnu
- - os: ubuntu-22.04
- xsd_ver: 4.0.0
- xercesc_ver: 3.2.4
- sundials_ver: 5.8.0
- boost_ver: 1.74.0
- vtk_ver: 7.1.1
- petsc_ver: 3.15.5
- hdf5_ver: 1.10.8
- petsc_arch: linux-gnu
-
- fail-fast: false
-
- runs-on: ${{ matrix.os }}
+ runs-on: ubuntu-latest
+ container:
+ image: ${{ matrix.os }}
steps:
- name: checkout
- uses: actions/checkout@v3
+ uses: actions/checkout@v4
+
+ - id: set-env
+ uses: ./.github/actions/set-env
- name: setup defaults
uses: ./.github/actions/setup-defaults
@@ -74,7 +68,7 @@ jobs:
petsc_arch: ${{ matrix.petsc_arch }}
- name: checkout chaste
- uses: actions/checkout@v3
+ uses: actions/checkout@v4
with:
repository: Chaste/Chaste
path: Chaste
@@ -83,12 +77,13 @@ jobs:
- name: make build and test directories
run: |
mkdir -p Chaste/build
- mkdir -p ${CHASTE_TEST_OUTPUT}
+ mkdir -p chaste-test-dir
+ echo "CHASTE_TEST_OUTPUT=$(pwd)/chaste-test-dir" >> ${GITHUB_ENV}
- name: compile chaste build info
- working-directory: Chaste/build
run: |
module purge
+ module use ${{ steps.set-env.outputs.modules_dir }}/modulefiles
module load xsd/${{ matrix.xsd_ver }}
module load xercesc/${{ matrix.xercesc_ver }}
module load sundials/${{ matrix.sundials_ver }}
@@ -97,16 +92,12 @@ jobs:
module load petsc_hdf5/${{ matrix.petsc_ver }}_${{ matrix.hdf5_ver }}/${{ matrix.petsc_arch }}
cmake -DCMAKE_BUILD_TYPE=Release ..
-
cmake --build . --parallel $(nproc) --target TestChasteBuildInfo
-
ctest -V -R TestChasteBuildInfo --output-on-failure | tee buildinfo
-
- # login to source /etc/profile.d/modules.sh
- shell: bash --login -e -o pipefail {0}
+ working-directory: Chaste/build
+ shell: bash --login -e -o pipefail {0} # login to source /etc/profile.d/modules.sh
- name: verify dependency versions
- working-directory: Chaste/build
run: |
sed -i.bak 's/"//g' buildinfo # removes quotes from old sundials versions
@@ -128,4 +119,5 @@ jobs:
grep "${vtk_ver}" buildinfo
grep "${petsc_ver}" buildinfo
grep "${hdf5_ver}" buildinfo
+ working-directory: Chaste/build
shell: bash
diff --git a/.github/workflows/docker-portability-01.yml b/.github/workflows/docker-portability-01.yml
index f98dab6..6fe1039 100644
--- a/.github/workflows/docker-portability-01.yml
+++ b/.github/workflows/docker-portability-01.yml
@@ -6,7 +6,7 @@ on:
jobs:
docker:
runs-on: ubuntu-latest
-
+
strategy:
fail-fast: false
matrix:
@@ -23,41 +23,41 @@ jobs:
VTK=6.3.0
PETSC=3.12.4
HDF5=1.10.4
-
+
steps:
- name: Checkout
- uses: actions/checkout@v3
-
+ uses: actions/checkout@v4
+
- name: Set up QEMU
- uses: docker/setup-qemu-action@v2
+ uses: docker/setup-qemu-action@v3
- name: Set up Docker Buildx
- uses: docker/setup-buildx-action@v2
+ uses: docker/setup-buildx-action@v3
- name: Login to DockerHub
- uses: docker/login-action@v2
+ uses: docker/login-action@v3
with:
username: ${{ secrets.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_TOKEN }}
- name: Build and export to Docker
- uses: docker/build-push-action@v4
+ uses: docker/build-push-action@v5
with:
context: .
pull: true
load: true
tags: ${{ matrix.tags }}
build-args: ${{ matrix.build-args }}
-
+
- name: Test image
run: |
tags=( ${{ matrix.tags }} )
for tag in "${tags[@]}"; do
docker run --rm --entrypoint /bin/bash ${tag}
done
-
+
- name: Build and push
- uses: docker/build-push-action@v4
+ uses: docker/build-push-action@v5
with:
context: .
pull: true
diff --git a/.github/workflows/docker-portability-02.yml b/.github/workflows/docker-portability-02.yml
index 46a1ff9..b6db8fd 100644
--- a/.github/workflows/docker-portability-02.yml
+++ b/.github/workflows/docker-portability-02.yml
@@ -6,7 +6,7 @@ on:
jobs:
docker:
runs-on: ubuntu-latest
-
+
strategy:
fail-fast: false
matrix:
@@ -22,41 +22,41 @@ jobs:
VTK=7.1.1
PETSC=3.13.6
HDF5=1.10.5
-
+
steps:
- name: Checkout
- uses: actions/checkout@v3
-
+ uses: actions/checkout@v4
+
- name: Set up QEMU
- uses: docker/setup-qemu-action@v2
+ uses: docker/setup-qemu-action@v3
- name: Set up Docker Buildx
- uses: docker/setup-buildx-action@v2
+ uses: docker/setup-buildx-action@v3
- name: Login to DockerHub
- uses: docker/login-action@v2
+ uses: docker/login-action@v3
with:
username: ${{ secrets.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_TOKEN }}
- name: Build and export to Docker
- uses: docker/build-push-action@v4
+ uses: docker/build-push-action@v5
with:
context: .
pull: true
load: true
tags: ${{ matrix.tags }}
build-args: ${{ matrix.build-args }}
-
+
- name: Test image
run: |
tags=( ${{ matrix.tags }} )
for tag in "${tags[@]}"; do
docker run --rm --entrypoint /bin/bash ${tag}
done
-
+
- name: Build and push
- uses: docker/build-push-action@v4
+ uses: docker/build-push-action@v5
with:
context: .
pull: true
diff --git a/.github/workflows/docker-portability-03.yml b/.github/workflows/docker-portability-03.yml
index 6383ad9..ccbd45a 100644
--- a/.github/workflows/docker-portability-03.yml
+++ b/.github/workflows/docker-portability-03.yml
@@ -6,7 +6,7 @@ on:
jobs:
docker:
runs-on: ubuntu-latest
-
+
strategy:
fail-fast: false
matrix:
@@ -22,41 +22,41 @@ jobs:
VTK=9.0.3
PETSC=3.14.6
HDF5=1.10.6
-
+
steps:
- name: Checkout
- uses: actions/checkout@v3
-
+ uses: actions/checkout@v4
+
- name: Set up QEMU
- uses: docker/setup-qemu-action@v2
+ uses: docker/setup-qemu-action@v3
- name: Set up Docker Buildx
- uses: docker/setup-buildx-action@v2
+ uses: docker/setup-buildx-action@v3
- name: Login to DockerHub
- uses: docker/login-action@v2
+ uses: docker/login-action@v3
with:
username: ${{ secrets.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_TOKEN }}
- name: Build and export to Docker
- uses: docker/build-push-action@v4
+ uses: docker/build-push-action@v5
with:
context: .
pull: true
load: true
tags: ${{ matrix.tags }}
build-args: ${{ matrix.build-args }}
-
+
- name: Test image
run: |
tags=( ${{ matrix.tags }} )
for tag in "${tags[@]}"; do
docker run --rm --entrypoint /bin/bash ${tag}
done
-
+
- name: Build and push
- uses: docker/build-push-action@v4
+ uses: docker/build-push-action@v5
with:
context: .
pull: true
diff --git a/.github/workflows/docker-portability-04.yml b/.github/workflows/docker-portability-04.yml
index 43e1934..53b30e0 100644
--- a/.github/workflows/docker-portability-04.yml
+++ b/.github/workflows/docker-portability-04.yml
@@ -6,7 +6,7 @@ on:
jobs:
docker:
runs-on: ubuntu-latest
-
+
strategy:
fail-fast: false
matrix:
@@ -22,41 +22,41 @@ jobs:
VTK=8.2.0
PETSC=3.15.5
HDF5=1.10.7
-
+
steps:
- name: Checkout
- uses: actions/checkout@v3
-
+ uses: actions/checkout@v4
+
- name: Set up QEMU
- uses: docker/setup-qemu-action@v2
+ uses: docker/setup-qemu-action@v3
- name: Set up Docker Buildx
- uses: docker/setup-buildx-action@v2
+ uses: docker/setup-buildx-action@v3
- name: Login to DockerHub
- uses: docker/login-action@v2
+ uses: docker/login-action@v3
with:
username: ${{ secrets.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_TOKEN }}
- name: Build and export to Docker
- uses: docker/build-push-action@v4
+ uses: docker/build-push-action@v5
with:
context: .
pull: true
load: true
tags: ${{ matrix.tags }}
build-args: ${{ matrix.build-args }}
-
+
- name: Test image
run: |
tags=( ${{ matrix.tags }} )
for tag in "${tags[@]}"; do
docker run --rm --entrypoint /bin/bash ${tag}
done
-
+
- name: Build and push
- uses: docker/build-push-action@v4
+ uses: docker/build-push-action@v5
with:
context: .
pull: true
diff --git a/.github/workflows/docker-portability-05.yml b/.github/workflows/docker-portability-05.yml
index 83efeb5..7a4aa32 100644
--- a/.github/workflows/docker-portability-05.yml
+++ b/.github/workflows/docker-portability-05.yml
@@ -6,7 +6,7 @@ on:
jobs:
docker:
runs-on: ubuntu-latest
-
+
strategy:
fail-fast: false
matrix:
@@ -22,41 +22,41 @@ jobs:
VTK=9.1.0
PETSC=3.15.5
HDF5=1.10.8
-
+
steps:
- name: Checkout
- uses: actions/checkout@v3
-
+ uses: actions/checkout@v4
+
- name: Set up QEMU
- uses: docker/setup-qemu-action@v2
+ uses: docker/setup-qemu-action@v3
- name: Set up Docker Buildx
- uses: docker/setup-buildx-action@v2
+ uses: docker/setup-buildx-action@v3
- name: Login to DockerHub
- uses: docker/login-action@v2
+ uses: docker/login-action@v3
with:
username: ${{ secrets.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_TOKEN }}
- name: Build and export to Docker
- uses: docker/build-push-action@v4
+ uses: docker/build-push-action@v5
with:
context: .
pull: true
load: true
tags: ${{ matrix.tags }}
build-args: ${{ matrix.build-args }}
-
+
- name: Test image
run: |
tags=( ${{ matrix.tags }} )
for tag in "${tags[@]}"; do
docker run --rm --entrypoint /bin/bash ${tag}
done
-
+
- name: Build and push
- uses: docker/build-push-action@v4
+ uses: docker/build-push-action@v5
with:
context: .
pull: true
diff --git a/.github/workflows/docker-portability-06.yml b/.github/workflows/docker-portability-06.yml
index 389f1db..4adab58 100644
--- a/.github/workflows/docker-portability-06.yml
+++ b/.github/workflows/docker-portability-06.yml
@@ -6,7 +6,7 @@ on:
jobs:
docker:
runs-on: ubuntu-latest
-
+
strategy:
fail-fast: false
matrix:
@@ -22,41 +22,41 @@ jobs:
VTK=9.2.6
PETSC=3.15.5
HDF5=1.12.2
-
+
steps:
- name: Checkout
- uses: actions/checkout@v3
-
+ uses: actions/checkout@v4
+
- name: Set up QEMU
- uses: docker/setup-qemu-action@v2
+ uses: docker/setup-qemu-action@v3
- name: Set up Docker Buildx
- uses: docker/setup-buildx-action@v2
+ uses: docker/setup-buildx-action@v3
- name: Login to DockerHub
- uses: docker/login-action@v2
+ uses: docker/login-action@v3
with:
username: ${{ secrets.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_TOKEN }}
- name: Build and export to Docker
- uses: docker/build-push-action@v4
+ uses: docker/build-push-action@v5
with:
context: .
pull: true
load: true
tags: ${{ matrix.tags }}
build-args: ${{ matrix.build-args }}
-
+
- name: Test image
run: |
tags=( ${{ matrix.tags }} )
for tag in "${tags[@]}"; do
docker run --rm --entrypoint /bin/bash ${tag}
done
-
+
- name: Build and push
- uses: docker/build-push-action@v4
+ uses: docker/build-push-action@v5
with:
context: .
pull: true
diff --git a/.github/workflows/docker-portability-dev.yml b/.github/workflows/docker-portability-dev.yml
index 7d1a45f..6c65b0d 100644
--- a/.github/workflows/docker-portability-dev.yml
+++ b/.github/workflows/docker-portability-dev.yml
@@ -6,7 +6,7 @@ on:
jobs:
docker:
runs-on: ubuntu-latest
-
+
strategy:
fail-fast: false
matrix:
@@ -22,41 +22,41 @@ jobs:
VTK=9.2.6
PETSC=3.15.5
HDF5=1.12.2
-
+
steps:
- name: Checkout
- uses: actions/checkout@v3
-
+ uses: actions/checkout@v4
+
- name: Set up QEMU
- uses: docker/setup-qemu-action@v2
+ uses: docker/setup-qemu-action@v3
- name: Set up Docker Buildx
- uses: docker/setup-buildx-action@v2
+ uses: docker/setup-buildx-action@v3
- name: Login to DockerHub
- uses: docker/login-action@v2
+ uses: docker/login-action@v3
with:
username: ${{ secrets.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_TOKEN }}
- name: Build and export to Docker
- uses: docker/build-push-action@v4
+ uses: docker/build-push-action@v5
with:
context: .
pull: true
load: true
tags: ${{ matrix.tags }}
build-args: ${{ matrix.build-args }}
-
+
- name: Test image
run: |
tags=( ${{ matrix.tags }} )
for tag in "${tags[@]}"; do
docker run --rm --entrypoint /bin/bash ${tag}
done
-
+
- name: Build and push
- uses: docker/build-push-action@v4
+ uses: docker/build-push-action@v5
with:
context: .
pull: true
diff --git a/.github/workflows/docker-portability-system.yml b/.github/workflows/docker-portability-system.yml
index b0f4974..ae2c769 100644
--- a/.github/workflows/docker-portability-system.yml
+++ b/.github/workflows/docker-portability-system.yml
@@ -4,15 +4,15 @@ on:
workflow_dispatch:
inputs:
ubuntu_release:
- description: 'Ubuntu release'
+ description: "Ubuntu release"
required: true
type: string
- default: 'mantic'
+ default: "mantic"
jobs:
docker:
runs-on: ubuntu-latest
-
+
strategy:
fail-fast: false
matrix:
@@ -28,41 +28,41 @@ jobs:
VTK=system
PETSC=system
HDF5=system
-
+
steps:
- name: Checkout
- uses: actions/checkout@v3
-
+ uses: actions/checkout@v4
+
- name: Set up QEMU
- uses: docker/setup-qemu-action@v2
+ uses: docker/setup-qemu-action@v3
- name: Set up Docker Buildx
- uses: docker/setup-buildx-action@v2
+ uses: docker/setup-buildx-action@v3
- name: Login to DockerHub
- uses: docker/login-action@v2
+ uses: docker/login-action@v3
with:
username: ${{ secrets.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_TOKEN }}
- name: Build and export to Docker
- uses: docker/build-push-action@v4
+ uses: docker/build-push-action@v5
with:
context: .
pull: true
load: true
tags: ${{ matrix.tags }}
build-args: ${{ matrix.build-args }}
-
+
- name: Test image
run: |
tags=( ${{ matrix.tags }} )
for tag in "${tags[@]}"; do
docker run --rm --entrypoint /bin/bash ${tag}
done
-
+
- name: Build and push
- uses: docker/build-push-action@v4
+ uses: docker/build-push-action@v5
with:
context: .
pull: true
diff --git a/.github/workflows/docker-release.yml b/.github/workflows/docker-release.yml
index bf64f50..c22c1c8 100644
--- a/.github/workflows/docker-release.yml
+++ b/.github/workflows/docker-release.yml
@@ -6,47 +6,45 @@ on:
jobs:
docker:
runs-on: ubuntu-latest
-
+
strategy:
fail-fast: false
matrix:
include:
- - base: focal
- tags: chaste/runner:focal, chaste/runner:latest
- - base: jammy
- tags: chaste/runner:jammy
-
+ - base: noble
+ tags: chaste/runner:noble, chaste/runner:latest
+
steps:
- name: Checkout
- uses: actions/checkout@v3
-
+ uses: actions/checkout@v4
+
- name: Set up QEMU
- uses: docker/setup-qemu-action@v2
+ uses: docker/setup-qemu-action@v3
- name: Set up Docker Buildx
- uses: docker/setup-buildx-action@v2
+ uses: docker/setup-buildx-action@v3
- name: Login to DockerHub
- uses: docker/login-action@v2
+ uses: docker/login-action@v3
with:
username: ${{ secrets.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_TOKEN }}
- name: Build and export to Docker
- uses: docker/build-push-action@v4
+ uses: docker/build-push-action@v5
with:
context: .
pull: true
load: true
build-args: BASE=${{ matrix.base }}
tags: ${{ matrix.tags }}
-
+
- name: Test image
run: |
docker run --rm --entrypoint /bin/bash chaste/runner:${{ matrix.base }}
-
+
- name: Build and push
- uses: docker/build-push-action@v4
+ uses: docker/build-push-action@v5
with:
context: .
pull: true
diff --git a/.github/workflows/docker-test.yml b/.github/workflows/docker-test.yml
index 9193e4e..e2d4cc4 100644
--- a/.github/workflows/docker-test.yml
+++ b/.github/workflows/docker-test.yml
@@ -6,7 +6,7 @@ on:
jobs:
docker:
runs-on: ubuntu-latest
-
+
strategy:
fail-fast: false
matrix:
@@ -22,32 +22,32 @@ jobs:
VTK=6.3.0
PETSC=3.12.4
HDF5=1.10.4
-
+
steps:
- name: Checkout
- uses: actions/checkout@v3
-
+ uses: actions/checkout@v4
+
- name: Set up QEMU
- uses: docker/setup-qemu-action@v2
+ uses: docker/setup-qemu-action@v3
- name: Set up Docker Buildx
- uses: docker/setup-buildx-action@v2
+ uses: docker/setup-buildx-action@v3
- name: Login to DockerHub
- uses: docker/login-action@v2
+ uses: docker/login-action@v3
with:
username: ${{ secrets.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_TOKEN }}
- name: Build and export to Docker
- uses: docker/build-push-action@v4
+ uses: docker/build-push-action@v5
with:
context: .
pull: true
load: true
tags: ${{ matrix.tags }}
build-args: ${{ matrix.build-args }}
-
+
- name: Test image
run: |
tags=( ${{ matrix.tags }} )
@@ -56,7 +56,7 @@ jobs:
done
- name: Build and push
- uses: docker/build-push-action@v4
+ uses: docker/build-push-action@v5
with:
context: .
pull: true
diff --git a/.github/workflows/image-tests.yml b/.github/workflows/image-tests.yml
index 5b98906..0350f57 100644
--- a/.github/workflows/image-tests.yml
+++ b/.github/workflows/image-tests.yml
@@ -4,20 +4,19 @@ on:
workflow_dispatch:
inputs:
chaste_branch:
- description: 'Chaste branch'
+ description: "Chaste branch"
required: true
type: string
- default: 'develop'
+ default: "develop"
image_tag:
- description: 'Runner image tag'
+ description: "Runner image tag"
required: true
type: string
- default: 'test'
+ default: "test"
jobs:
build-and-test:
-
runs-on: ubuntu-latest
container:
@@ -35,18 +34,18 @@ jobs:
defaults:
run:
shell: bash
-
+
steps:
- name: compiler version
run: ${CXX} --version
- name: checkout chaste
- uses: actions/checkout@v3
+ uses: actions/checkout@v4
with:
repository: Chaste/Chaste
path: Chaste
ref: ${{ github.event.inputs.chaste_branch }}
-
+
- name: make build and test directories
run: |
mkdir -p chaste-build-dir
@@ -68,7 +67,7 @@ jobs:
- name: set runner user privileges
run: chown -R runner:runner .
-
+
- name: cmake configure
run: |
source init.sh
diff --git a/.github/workflows/manual-tests.yml b/.github/workflows/manual-tests.yml
deleted file mode 100644
index 618f9d0..0000000
--- a/.github/workflows/manual-tests.yml
+++ /dev/null
@@ -1,145 +0,0 @@
-name: manual-tests
-
-on:
- workflow_dispatch:
- inputs:
- chaste_branch:
- description: 'Chaste branch'
- required: true
- type: string
- default: 'develop'
-
- test_suites:
- description: 'Test suites'
- required: true
- type: string
- default: 'Continuous,Nightly,Weekly'
-
- xsd_ver:
- description: 'XSD version'
- required: true
- type: choice
- options:
- - '4.0.0'
- default: '4.0.0'
-
- xercesc_ver:
- description: 'Xerces-C version'
- required: true
- type: choice
- options:
- - '3.2.2'
- - '3.2.3'
- - '3.2.3'
- - '3.2.4'
- default: '3.2.3'
-
- sundials_ver:
- description: 'Sundials version'
- required: false
- type: choice
- options:
- - ''
- - '3.1.2'
- - '3.2.1'
- - '4.0.2'
- - '4.1.0'
- - '5.0.0'
- - '5.1.0'
- - '5.2.0'
- - '5.4.0'
- - '5.5.0'
- - '5.6.1'
- - '5.7.0'
- - '5.8.0'
- - '6.0.0'
- - '6.1.1'
- - '6.2.0'
- - '6.3.0'
- - '6.4.1'
- - '6.5.0'
- default: '5.8.0'
-
- boost_ver:
- description: 'Boost version'
- required: true
- type: choice
- options:
- - '1.67.0'
- - '1.68.0'
- - '1.69.0'
- - '1.70.0'
- - '1.71.0'
- - '1.72.0'
- - '1.73.0'
- - '1.74.0'
- - '1.75.0'
- - '1.76.0'
- - '1.77.0'
- - '1.78.0'
- - '1.79.0'
- - '1.80.0'
- - '1.81.0'
- default: '1.74.0'
-
- vtk_ver:
- description: 'VTK version'
- required: false
- type: choice
- options:
- - ''
- - '6.3.0'
- - '7.1.0'
- - '8.1.0'
- - '8.2.0'
- - '9.1.0'
- - '9.2.0'
- default: '7.1.0'
-
- petsc_hdf5_ver:
- description: 'PETSc + HDF5 versions'
- required: true
- type: choice
- options:
- - '3.12.4 + 1.10.5'
- - '3.13.6 + 1.10.6'
- - '3.14.6 + 1.10.7'
- - '3.15.5 + 1.10.8'
- default: '3.12.4 + 1.10.5'
-
-jobs:
- versions:
- runs-on: [self-hosted]
- timeout-minutes: 60
-
- defaults:
- run:
- shell: bash
-
- outputs:
- petsc_ver: ${{ steps.parse.outputs.petsc_ver }}
- hdf5_ver: ${{ steps.parse.outputs.hdf5_ver }}
-
- steps:
- - id: parse
- run: |
- petsc_hdf5_ver=($(echo "${{ github.event.inputs.petsc_hdf5_ver }}" | tr '+' '\n'))
- petsc_ver=${petsc_hdf5_ver[0]}
- hdf5_ver=${petsc_hdf5_ver[1]}
- echo "petsc_ver=${petsc_ver}" >> ${GITHUB_OUTPUT}
- echo "hdf5_ver=${hdf5_ver}" >> ${GITHUB_OUTPUT}
-
- build-and-test:
- needs: versions
- uses: ./.github/workflows/version-tests.yml
- with:
- chaste_branch: ${{ github.event.inputs.chaste_branch }}
- test_suites: ${{ github.event.inputs.test_suites }}
- xsd_ver: ${{ github.event.inputs.xsd_ver }}
- xercesc_ver: ${{ github.event.inputs.xercesc_ver }}
- sundials_ver: ${{ github.event.inputs.sundials_ver }}
- boost_ver: ${{ github.event.inputs.boost_ver }}
- vtk_ver: ${{ github.event.inputs.vtk_ver }}
- petsc_ver: ${{ needs.versions.outputs.petsc_ver }}
- petsc_arch: linux-gnu
- hdf5_ver: ${{ needs.versions.outputs.hdf5_ver }}
diff --git a/.github/workflows/petsc_hdf5.yml b/.github/workflows/petsc_hdf5.yml
index 42ed00e..f445bef 100644
--- a/.github/workflows/petsc_hdf5.yml
+++ b/.github/workflows/petsc_hdf5.yml
@@ -4,44 +4,46 @@ on:
workflow_dispatch:
inputs:
petsc_ver:
- description: 'PETSc version'
+ description: "PETSc version"
required: true
type: string
- default: '3.15.5'
+ default: "3.19.2"
petsc_arch:
- description: 'PETSc arch'
+ description: "PETSc arch"
required: true
type: choice
options:
- - 'linux-gnu'
- - 'linux-gnu-opt'
- default: 'linux-gnu'
+ - "linux-gnu"
+ - "linux-gnu-opt"
+ default: "linux-gnu"
hdf5_ver:
- description: 'HDF5 version'
+ description: "HDF5 version"
required: true
type: string
- default: '1.10.8'
+ default: "1.10.10"
os:
- description: 'OS'
+ description: "OS"
required: true
type: choice
options:
- - 'ubuntu-20.04'
- - 'ubuntu-22.04'
- default: 'ubuntu-22.04'
+ - "ubuntu:22.04"
+ - "ubuntu:24.04"
+ default: "ubuntu:24.04"
jobs:
setup:
name: build and cache petsc_hdf5
-
- runs-on: ${{ github.event.inputs.os }}
-
+
+ runs-on: ubuntu-latest
+ container:
+ image: ${{ github.event.inputs.os }}
+
steps:
- name: checkout
- uses: actions/checkout@v3
+ uses: actions/checkout@v4
- name: setup os
uses: ./.github/actions/setup-defaults
diff --git a/.github/workflows/sundials.yml b/.github/workflows/sundials.yml
index 251a98a..6f55d31 100644
--- a/.github/workflows/sundials.yml
+++ b/.github/workflows/sundials.yml
@@ -4,29 +4,31 @@ on:
workflow_dispatch:
inputs:
sundials_ver:
- description: 'SUNDIALS version'
+ description: "SUNDIALS version"
required: true
type: string
- default: '5.8.0'
+ default: "6.4.1"
os:
- description: 'OS'
+ description: "OS"
required: true
type: choice
options:
- - 'ubuntu-20.04'
- - 'ubuntu-22.04'
- default: 'ubuntu-22.04'
+ - "ubuntu:22.04"
+ - "ubuntu:24.04"
+ default: "ubuntu:24.04"
jobs:
setup:
name: build and cache sundials
-
- runs-on: ${{ github.event.inputs.os }}
-
+
+ runs-on: ubuntu-latest
+ container:
+ image: ${{ github.event.inputs.os }}
+
steps:
- name: checkout
- uses: actions/checkout@v3
+ uses: actions/checkout@v4
- name: setup os
uses: ./.github/actions/setup-defaults
diff --git a/.github/workflows/version-tests.yml b/.github/workflows/version-tests.yml
deleted file mode 100644
index 2a06b62..0000000
--- a/.github/workflows/version-tests.yml
+++ /dev/null
@@ -1,323 +0,0 @@
-name: version-tests
-
-on:
- workflow_call:
- inputs:
- chaste_branch:
- description: 'Chaste branch'
- required: true
- type: string
- default: 'develop'
-
- test_suites:
- description: 'Test suites'
- required: true
- type: string
- default: 'Continuous,Nightly,Weekly'
-
- xsd_ver:
- description: 'XSD version'
- required: true
- type: string
- default: '4.0.0'
-
- xercesc_ver:
- description: 'Xerces-C version'
- required: true
- type: string
- default: '3.2.3'
-
- sundials_ver:
- description: 'Sundials version'
- required: false
- type: string
- default: '5.8.0'
-
- boost_ver:
- description: 'Boost version'
- required: true
- type: string
- default: '1.74.0'
-
- vtk_ver:
- description: 'VTK version'
- required: false
- type: string
- default: '7.1.0'
-
- petsc_ver:
- description: 'PETSc version'
- required: true
- type: string
- default: '3.12.4'
-
- petsc_arch:
- description: 'PETSc arch'
- required: true
- type: string
- default: 'linux-gnu'
-
- hdf5_ver:
- description: 'HDF5 version'
- required: true
- type: string
- default: '1.10.5'
-
-jobs:
- build-and-test:
- runs-on: [self-hosted]
- timeout-minutes: 360
-
- defaults:
- run:
- shell: bash
-
- steps:
- - name: Set environment
- run: |
- test_suites=($(echo "${{ inputs.test_suites }}" | tr '[:upper:]' '[:lower:]' | tr ',' '\n'))
-
- run_continuous=0;
- run_parallel=0
- run_nightly=0
- run_weekly=0
-
- for suite in "${test_suites[@]}"; do
- case $suite in
- continuous) run_continuous=1;;
- nightly) run_nightly=1;;
- weekly) run_weekly=1;;
- *) echo "Unknown test suite: $suite" 1>&2; exit 1;;
- esac
- done
-
- echo "run_continuous=${run_continuous}" >> ${GITHUB_ENV}
- echo "run_nightly=${run_nightly}" >> ${GITHUB_ENV}
- echo "run_weekly=${run_weekly}" >> ${GITHUB_ENV}
-
- modules_dir="${MODULES_DIR:-${HOME}/modules}"
- echo "modules_dir=${modules_dir}" >> ${GITHUB_ENV}
- mkdir -p ${modules_dir}/modulefiles
-
- echo "parallel=$(( $(nproc) < 12 ? $(nproc) : 12 ))" >> ${GITHUB_ENV}
- echo "niceness=10" >> ${GITHUB_ENV}
-
- testoutput="${HOME}/testoutput/$(date +'%Y%m%d%H%M%S')"
- echo "CHASTE_TEST_OUTPUT=${testoutput}" >> ${GITHUB_ENV}
- mkdir -p ${testoutput}
-
- - name: Create module loading script
- run: |
- echo "source /etc/profile.d/modules.sh" > modulesinit.sh
- echo "module use ${{ env.modules_dir }}/modulefiles" >> modulesinit.sh
- echo "module purge" >> modulesinit.sh
-
- - name: Setup xsd
- run: |
- source modulesinit.sh
- err=0 && module test xsd/${{ inputs.xsd_ver }} || err=$?
- if [ $err -ne 0 ]; then
- nice -n ${{ env.niceness }} install_xsd.sh \
- --version=${{ inputs.xsd_ver }} \
- --modules-dir=${{ env.modules_dir }}
- module test xsd/${{ inputs.xsd_ver }}
- fi
-
- - name: Setup xercesc
- run: |
- source modulesinit.sh
- err=0 && module test xercesc/${{ inputs.xercesc_ver }} || err=$?
- if [ $err -ne 0 ]; then
- nice -n ${{ env.niceness }} install_xercesc.sh \
- --version=${{ inputs.xercesc_ver }} \
- --modules-dir=${{ env.modules_dir }} \
- --parallel=${{ env.parallel }}
- module test xercesc/${{ inputs.xercesc_ver }}
- fi
-
- - name: Setup sundials
- run: |
- if [ -n "${{ inputs.sundials_ver }}" ]; then
- source modulesinit.sh
- err=0 && module test sundials/${{ inputs.sundials_ver }} || err=$?
- if [ $err -ne 0 ]; then
- nice -n ${{ env.niceness }} install_sundials.sh \
- --version=${{ inputs.sundials_ver }} \
- --modules-dir=${{ env.modules_dir }} \
- --parallel=${{ env.parallel }}
- module test sundials/${{ inputs.sundials_ver }}
- fi
- fi
-
- - name: Setup boost
- run: |
- source modulesinit.sh
- err=0 && module test boost/${{ inputs.boost_ver }} || err=$?
- if [ $err -ne 0 ]; then
- nice -n ${{ env.niceness }} install_boost.sh \
- --version=${{ inputs.boost_ver }} \
- --modules-dir=${{ env.modules_dir }} \
- --parallel=${{ env.parallel }}
- module test boost/${{ inputs.boost_ver }}
- fi
-
- - name: Setup vtk
- run: |
- if [ -n "${{ inputs.vtk_ver }}" ]; then
- source modulesinit.sh
- err=0 && module test vtk/${{ inputs.vtk_ver }} || err=$?
- if [ $err -ne 0 ]; then
- nice -n ${{ env.niceness }} install_vtk.sh \
- --version=${{ inputs.vtk_ver }} \
- --modules-dir=${{ env.modules_dir }} \
- --parallel=${{ env.parallel }}
- module test vtk/${{ inputs.vtk_ver }}
- fi
- fi
-
- - name: Setup petsc_hdf5
- run: |
- source modulesinit.sh
- err=0 && module test petsc_hdf5/${{ inputs.petsc_ver }}_${{ inputs.hdf5_ver }}/${{ inputs.petsc_arch }} || err=$?
- if [ $err -ne 0 ]; then
- nice -n ${{ env.niceness }} install_petsc_hdf5.sh \
- --petsc-version=${{ inputs.petsc_ver }} \
- --hdf5-version=${{ inputs.hdf5_ver }} \
- --petsc-arch=${{ inputs.petsc_arch }} \
- --modules-dir=${{ env.modules_dir }} \
- --parallel=${{ env.parallel }}
- module test petsc_hdf5/${{ inputs.petsc_ver }}_${{ inputs.hdf5_ver }}/${{ inputs.petsc_arch }}
- fi
-
- - name: Add versions to module loading script
- run: |
- echo "module load xsd/${{ inputs.xsd_ver }}" >> modulesinit.sh
- echo "module load xercesc/${{ inputs.xercesc_ver }}" >> modulesinit.sh
- echo "module load boost/${{ inputs.boost_ver }}" >> modulesinit.sh
- echo "module load petsc_hdf5/${{ inputs.petsc_ver }}_${{ inputs.hdf5_ver }}/${{ inputs.petsc_arch }}" >> modulesinit.sh
-
- if [ -n "${{ inputs.sundials_ver }}" ]; then
- echo "module load sundials/${{ inputs.sundials_ver }}" >> modulesinit.sh
- fi
-
- if [ -n "${{ inputs.vtk_ver }}" ]; then
- echo "module load vtk/${{ inputs.vtk_ver }}" >> modulesinit.sh
- fi
-
- - name: Checkout Chaste
- uses: actions/checkout@v3
- with:
- repository: Chaste/Chaste
- path: Chaste
- ref: ${{ inputs.chaste_branch }}
- submodules: recursive
-
- - name: Configure Chaste
- run: |
- source modulesinit.sh
-
- if [ -z "${{ inputs.sundials_ver }}" ]; then
- use_cvode="OFF"
- else
- use_cvode="ON"
- fi
-
- if [ -z "${{ inputs.vtk_ver }}" ]; then
- use_vtk="OFF"
- else
- use_vtk="ON"
- fi
-
- mkdir -p Chaste/build
- cd Chaste/build
- nice -n ${{ env.niceness }} cmake \
- -DChaste_USE_CVODE=${use_cvode} \
- -DChaste_USE_VTK=${use_vtk} \
- -DCMAKE_BUILD_TYPE=Release \
- ..
-
- - name: Compile Chaste build info
- run: |
- source modulesinit.sh
- cd Chaste/build
- nice -n ${{ env.niceness }} cmake --build . --parallel ${{ env.parallel }} --target TestChasteBuildInfo
- nice -n ${{ env.niceness }} ctest -V -R TestChasteBuildInfo --output-on-failure | tee buildinfo
-
- - name: Verify dependency versions
- run: |
- cd Chaste/build
- sed -i.bak 's/"//g' buildinfo # removes quotes from old sundials versions
-
- maj_min_rev='^[0-9]\+\.[0-9]\+\.[0-9]\+'
- maj_min='^[0-9]\+\.[0-9]\+'
-
- xsd_ver="$(echo ${{ inputs.xsd_ver }} | grep -o ${maj_min_rev})"
- grep "${xsd_ver}" buildinfo
-
- xercesc_ver="$(echo ${{ inputs.xercesc_ver }} | grep -o ${maj_min_rev})"
- grep "${xercesc_ver}" buildinfo
-
- if [ -n "${{ inputs.sundials_ver }}" ]; then
- sundials_ver="$(echo ${{ inputs.sundials_ver }} | grep -o ${maj_min_rev})"
- grep "${sundials_ver}" buildinfo
- fi
-
- boost_ver="$(echo ${{ inputs.boost_ver }} | grep -o ${maj_min_rev})"
- grep "${boost_ver}" buildinfo
-
- if [ -n "${{ inputs.vtk_ver }}" ]; then
- vtk_ver="$(echo ${{ inputs.vtk_ver }} | grep -o ${maj_min})"
- grep "${vtk_ver}" buildinfo
- fi
-
- petsc_ver="$(echo ${{ inputs.petsc_ver }} | grep -o ${maj_min_rev})"
- grep "${petsc_ver}" buildinfo
-
- hdf5_ver="$(echo ${{ inputs.hdf5_ver }} | grep -o ${maj_min_rev})"
- grep "${hdf5_ver}" buildinfo
-
- - name: Build Continuous test pack
- if: ${{ env.run_continuous == '1' }}
- run: |
- source modulesinit.sh
- cd Chaste/build
- nice -n ${{ env.niceness }} cmake --build . --parallel ${{ env.parallel }} --target Continuous
-
- - name: Run Continuous test pack
- if: ${{ env.run_continuous == '1' }}
- run: |
- source modulesinit.sh
- cd Chaste/build
- nice -n ${{ env.niceness }} ctest -j ${{ env.parallel }} -L Continuous --output-on-failure
-
- - name: Build Nightly test pack
- if: ${{ env.run_nightly == '1' }}
- run: |
- source modulesinit.sh
- cd Chaste/build
- nice -n ${{ env.niceness }} cmake --build . --parallel ${{ env.parallel }} --target Nightly
-
- - name: Run Nightly test pack
- if: ${{ env.run_nightly == '1' }}
- run: |
- source modulesinit.sh
- cd Chaste/build
- nice -n ${{ env.niceness }} ctest -j ${{ env.parallel }} -L Nightly --output-on-failure
-
- - name: Build Weekly test pack
- if: ${{ env.run_weekly == '1' }}
- run: |
- source modulesinit.sh
- cd Chaste/build
- nice -n ${{ env.niceness }} cmake --build . --parallel ${{ env.parallel }} --target Weekly
-
- - name: Run Weekly test pack
- if: ${{ env.run_weekly == '1' }}
- run: |
- source modulesinit.sh
- cd Chaste/build
- nice -n ${{ env.niceness }} ctest -j ${{ env.parallel }} -L Weekly --output-on-failure
-
- - name: Cleanup
- if: always()
- run: rm -rf ${{ env.modules_dir }}/src/*
diff --git a/.github/workflows/vtk.yml b/.github/workflows/vtk.yml
index 1088537..5756eb9 100644
--- a/.github/workflows/vtk.yml
+++ b/.github/workflows/vtk.yml
@@ -4,29 +4,31 @@ on:
workflow_dispatch:
inputs:
vtk_ver:
- description: 'VTK version'
+ description: "VTK version"
required: true
type: string
- default: '9.2.6'
+ default: "9.1.0"
os:
- description: 'OS'
+ description: "OS"
required: true
type: choice
options:
- - 'ubuntu-20.04'
- - 'ubuntu-22.04'
- default: 'ubuntu-22.04'
+ - "ubuntu:22.04"
+ - "ubuntu:24.04"
+ default: "ubuntu:24.04"
jobs:
setup:
name: build and cache vtk
-
- runs-on: ${{ github.event.inputs.os }}
-
+
+ runs-on: ubuntu-latest
+ container:
+ image: ${{ github.event.inputs.os }}
+
steps:
- name: checkout
- uses: actions/checkout@v3
+ uses: actions/checkout@v4
- name: setup os
uses: ./.github/actions/setup-defaults
diff --git a/.github/workflows/xercesc.yml b/.github/workflows/xercesc.yml
index 5e6fad4..2f318bc 100644
--- a/.github/workflows/xercesc.yml
+++ b/.github/workflows/xercesc.yml
@@ -4,29 +4,31 @@ on:
workflow_dispatch:
inputs:
xercesc_ver:
- description: 'XercesC version'
+ description: "XercesC version"
required: true
type: string
- default: '3.2.4'
+ default: "3.2.4"
os:
- description: 'OS'
+ description: "OS"
required: true
type: choice
options:
- - 'ubuntu-20.04'
- - 'ubuntu-22.04'
- default: 'ubuntu-22.04'
+ - "ubuntu:22.04"
+ - "ubuntu:24.04"
+ default: "ubuntu:24.04"
jobs:
setup:
name: build and cache xercesc
-
- runs-on: ${{ github.event.inputs.os }}
-
+
+ runs-on: ubuntu-latest
+ container:
+ image: ${{ github.event.inputs.os }}
+
steps:
- name: checkout
- uses: actions/checkout@v3
+ uses: actions/checkout@v4
- name: setup os
uses: ./.github/actions/setup-defaults
diff --git a/.github/workflows/xsd.yml b/.github/workflows/xsd.yml
index 63759fc..be23014 100644
--- a/.github/workflows/xsd.yml
+++ b/.github/workflows/xsd.yml
@@ -4,34 +4,36 @@ on:
workflow_dispatch:
inputs:
xsd_ver:
- description: 'XSD version'
+ description: "XSD version"
required: true
type: string
- default: '4.0.0'
+ default: "4.0.0"
os:
- description: 'OS'
+ description: "OS"
required: true
type: choice
options:
- - 'ubuntu-20.04'
- - 'ubuntu-22.04'
- default: 'ubuntu-22.04'
+ - "ubuntu:22.04"
+ - "ubuntu:24.04"
+ default: "ubuntu:24.04"
jobs:
setup:
- name: install and cache xsd
-
- runs-on: ${{ github.event.inputs.os }}
-
+ name: build and cache xsd
+
+ runs-on: ubuntu-latest
+ container:
+ image: ${{ github.event.inputs.os }}
+
steps:
- name: checkout
- uses: actions/checkout@v3
+ uses: actions/checkout@v4
- name: setup os
uses: ./.github/actions/setup-defaults
-
- - name: install and cache
+
+ - name: build and cache
uses: ./.github/actions/setup-xsd
with:
xsd_ver: ${{ github.event.inputs.xsd_ver }}
diff --git a/Dockerfile b/Dockerfile
index 2f7eb46..24b3bec 100755
--- a/Dockerfile
+++ b/Dockerfile
@@ -3,12 +3,12 @@ ARG BASE=focal
FROM ubuntu:${BASE}
ARG XSD=4.0.0
-ARG XERCESC=3.2.3
-ARG SUNDIALS=5.8.0
-ARG BOOST=1.73.0
-ARG VTK=7.1.1
-ARG PETSC=3.8.4
-ARG HDF5=1.10.8
+ARG XERCESC=3.2.4
+ARG SUNDIALS=6.4.1
+ARG BOOST=1.83.0
+ARG VTK=9.1.0
+ARG PETSC=3.19.2
+ARG HDF5=1.10.10
SHELL ["/bin/bash", "-e", "-o", "pipefail", "-c"]
diff --git a/README.md b/README.md
index 40da6ec..0071e39 100644
--- a/README.md
+++ b/README.md
@@ -1,4 +1,9 @@
-![ubuntu-tests](https://github.com/Chaste/dependency-modules/actions/workflows/ubuntu-tests.yml/badge.svg)
+![boost](https://github.com/Chaste/dependency-modules/actions/workflows/boost.yml/badge.svg)
+![petsc_hdf5](https://github.com/Chaste/dependency-modules/actions/workflows/petsc_hdf5.yml/badge.svg)
+![sundials](https://github.com/Chaste/dependency-modules/actions/workflows/sundials.yml/badge.svg)
+![vtk](https://github.com/Chaste/dependency-modules/actions/workflows/vtk.yml/badge.svg)
+![xercesc](https://github.com/Chaste/dependency-modules/actions/workflows/xercesc.yml/badge.svg)
+![xsd](https://github.com/Chaste/dependency-modules/actions/workflows/xsd.yml/badge.svg)
# Chaste Dependency Modules
diff --git a/scripts/install_vtk.sh b/scripts/install_vtk.sh
index e1e3e34..be0d22c 100755
--- a/scripts/install_vtk.sh
+++ b/scripts/install_vtk.sh
@@ -131,6 +131,18 @@ if [[ ${major} -eq 9 && ${minor} -eq 0 ]]; then # VTK == 9.0.x
patch -t -p1 < ${script_dir}/patches/vtk9.0-fix-limits.patch
fi
+# VTK 9.1.x patches: https://sources.debian.org/patches/vtk9/9.1.0%2Breally9.1.0%2Bdfsg2-7.1/
+if [[ ${major} -eq 9 && ${minor} -eq 1 ]]; then # VTK == 9.1.x
+ cd ${src_dir}
+ patch -t -p1 < ${script_dir}/patches/vtk/9.1/gcc-13.patch
+fi
+
+# VTK 9.2.x patches: https://sources.debian.org/patches/vtk9/9.1.0%2Breally9.1.0%2Bdfsg2-7.1/
+if [[ ${major} -eq 9 && ${minor} -eq 2 ]]; then # VTK == 9.2.x
+ cd ${src_dir}
+ patch -t -p1 < ${script_dir}/patches/vtk/9.1/gcc-13.patch
+fi
+
# Build and install
install_dir=${base_dir}/opt/vtk/${version}
mkdir -p ${install_dir}
diff --git a/scripts/patches/vtk/9.1/gcc-13.patch b/scripts/patches/vtk/9.1/gcc-13.patch
new file mode 100644
index 0000000..e5261b6
--- /dev/null
+++ b/scripts/patches/vtk/9.1/gcc-13.patch
@@ -0,0 +1,30 @@
+From 1233ceec268d5366c66f5e79786ec784042b591b Mon Sep 17 00:00:00 2001
+From: Laurent Rineau
+Date: Tue, 17 Jan 2023 16:18:53 +0100
+Subject: Add #include to compile with gcc13
+Origin: upstream, https://gitlab.kitware.com/vtk/vtk/-/commit/1233ceec268d5366c66f5e79786ec784042b591b
+
+The `vtkSEPReader` was introduced by MRs !4909 (from my former
+collaborator Maxime) and !4938. Then it was highly modified by
+!7516. The later MR is the one that introduced the uses of
+`std::uint8_t` and `std::uint32_t`.
+
+Those types needs the inclusion of ``.
+---
+ IO/Image/vtkSEPReader.h | 5 +++--
+ 1 file changed, 3 insertions(+), 2 deletions(-)
+
+--- vtk9.orig/IO/Image/vtkSEPReader.h
++++ vtk9/IO/Image/vtkSEPReader.h
+@@ -25,8 +25,9 @@
+ #include "vtkImageAlgorithm.h"
+ #include "vtkNew.h" // for ivars
+
+-#include // for std::array
+-#include // for std::string
++#include // for std::array
++#include // for std::uint8_t and std::uint32_t
++#include // for std::string
+
+ namespace details
+ {
diff --git a/scripts/setup_ubuntu1804.sh b/scripts/setup_ubuntu1804.sh
index 213b088..c0d71e9 100755
--- a/scripts/setup_ubuntu1804.sh
+++ b/scripts/setup_ubuntu1804.sh
@@ -1,50 +1,49 @@
#!/bin/sh
-# Package: chaste-dependencies
-# Version: 2018.04.18
-# Depends: cmake | scons, g++, libopenmpi-dev, petsc-dev, libhdf5-openmpi-dev,
-# xsdcxx, libboost-serialization-dev, libboost-filesystem-dev,
-# libboost-program-options-dev, libparmetis-dev, libmetis-dev,
-# libxerces-c-dev, libsundials-dev | libsundials-serial-dev,
-# libvtk7-dev | libvtk6-dev | libvtk5-dev, python-lxml, python-amara,
-# python-rdflib, libproj-dev
-# Recommends: git, valgrind, libpetsc3.7.7-dbg | libpetsc3.7.6-dbg |
-# libpetsc3.6.4-dbg | libpetsc3.6.2-dbg | libpetsc3.4.2-dbg,
-# libfltk1.1, hdf5-tools, cmake-curses-gui
-# Suggests: libgoogle-perftools-dev, doxygen, graphviz, eclipse-cdt,
-# eclipse-egit, libsvn-java, subversion, git-svn, gnuplot, paraview
-# APT-Sources: https://chaste.github.io/ubuntu bionic/ Packages
-
export DEBIAN_FRONTEND=noninteractive
-# https://chaste.github.io/docs/installguides/ubuntu-package/
-echo "deb https://chaste.github.io/ubuntu bionic/" > /etc/apt/sources.list.d/chaste.list
-apt-key adv --recv-keys --keyserver hkp://keyserver.ubuntu.com:80 422C4D99
+apt-get update && \
+apt-get install -y --no-install-recommends \
+ apt-utils \
+ apt-transport-https \
+ ca-certificates \
+ gnupg \
+ wget
apt-get update && \
apt-get install -y --no-install-recommends \
- chaste-dependencies \
- git \
- valgrind \
- libpetsc3.7.7-dbg \
- libfltk1.1 \
- hdf5-tools \
- cmake-curses-gui \
- libgoogle-perftools-dev \
- lcov \
- doxygen \
- graphviz \
- gnuplot \
- paraview \
- mencoder \
- python3 \
- python3-venv \
- python3-dev \
- python3-pip \
- python2.7 \
- libffi-dev \
- tcl \
- environment-modules
+ cmake \
+ cmake-curses-gui \
+ doxygen \
+ environment-modules \
+ g++ \
+ git \
+ gnuplot \
+ graphviz \
+ hdf5-tools \
+ lcov \
+ libboost-serialization-dev \
+ libboost-filesystem-dev \
+ libboost-program-options-dev \
+ libhdf5-openmpi-dev \
+ libmetis-dev \
+ libopenmpi-dev \
+ libparmetis-dev \
+ libpetsc3.7.7-dbg \
+ libsundials-dev \
+ libvtk9.1 \
+ libvtk9-dev \
+ libxerces-c-dev \
+ mencoder \
+ petsc-dev \
+ python3 \
+ python3-dev \
+ python3-pip \
+ python3-venv \
+ python2.7 \
+ tcl \
+ valgrind \
+ xsdcxx
# https://bugs.launchpad.net/ubuntu/+source/vtk7/+bug/1878103
# https://github.com/Chaste/chaste-docker/blob/4dd5a4819716c3defa0bfb5145bfa902bf07ecf4/Dockerfile#L89
diff --git a/scripts/setup_ubuntu2004.sh b/scripts/setup_ubuntu2004.sh
index 766bdef..7f67a03 100755
--- a/scripts/setup_ubuntu2004.sh
+++ b/scripts/setup_ubuntu2004.sh
@@ -1,45 +1,50 @@
#!/bin/sh
-# Package: chaste-dependencies
-# Version: 2020.10.05
-# Depends: cmake | scons, g++, libopenmpi-dev, petsc-dev, libhdf5-openmpi-dev,
-# xsdcxx, libboost-serialization-dev, libboost-filesystem-dev,
-# libboost-program-options-dev, libparmetis-dev, libmetis-dev,
-# libxerces-c-dev, libsundials-dev, libvtk7-dev | libvtk6-dev,
-# python3, python3-venv
-# Recommends: git, valgrind, libpetsc-real3.12-dbg, libfltk1.1,
-# hdf5-tools, cmake-curses-gui
-# Suggests: libgoogle-perftools-dev, doxygen, graphviz, subversion, git-svn,
-# gnuplot, paraview
-# APT-Sources: https://chaste.github.io/ubuntu focal/ Packages
-
export DEBIAN_FRONTEND=noninteractive
-# https://chaste.github.io/docs/installguides/ubuntu-package/
-echo "deb https://chaste.github.io/ubuntu focal/" > /etc/apt/sources.list.d/chaste.list
-apt-key adv --recv-keys --keyserver hkp://keyserver.ubuntu.com:80 422C4D99
+apt-get update && \
+apt-get install -y --no-install-recommends \
+ apt-utils \
+ apt-transport-https \
+ ca-certificates \
+ gnupg \
+ wget
apt-get update && \
apt-get install -y --no-install-recommends \
- chaste-dependencies \
- git \
- valgrind \
- libpetsc-real3.12-dbg \
- libfltk1.1 \
- hdf5-tools \
- cmake-curses-gui \
- libgoogle-perftools-dev \
- lcov \
- doxygen \
- graphviz \
- gnuplot \
- paraview \
- mencoder \
- python3-dev \
- python3-pip \
- python2.7 \
- libffi-dev \
- environment-modules
+ cmake \
+ cmake-curses-gui \
+ doxygen \
+ environment-modules \
+ g++ \
+ git \
+ gnuplot \
+ graphviz \
+ hdf5-tools \
+ lcov \
+ libboost-serialization-dev \
+ libboost-filesystem-dev \
+ libboost-program-options-dev \
+ libhdf5-openmpi-dev \
+ libmetis-dev \
+ libopenmpi-dev \
+ libparmetis-dev \
+ libpetsc-real3.12 \
+ libpetsc-real3.12-dbg \
+ libpetsc-real3.12-dev \
+ libsundials-dev \
+ libvtk9.1 \
+ libvtk9-dev \
+ libxerces-c-dev \
+ mencoder \
+ petsc-dev \
+ python3 \
+ python3-dev \
+ python3-pip \
+ python3-venv \
+ python2.7 \
+ valgrind \
+ xsdcxx
# https://bugs.launchpad.net/ubuntu/+source/vtk7/+bug/1878103
# https://github.com/Chaste/chaste-docker/blob/4dd5a4819716c3defa0bfb5145bfa902bf07ecf4/Dockerfile#L89
diff --git a/scripts/setup_ubuntu2204.sh b/scripts/setup_ubuntu2204.sh
index 3594dcb..89fee36 100755
--- a/scripts/setup_ubuntu2204.sh
+++ b/scripts/setup_ubuntu2204.sh
@@ -1,49 +1,50 @@
#!/bin/sh
-# Package: chaste-dependencies
-# Version: 2022.04.11
-# Depends: cmake | scons, g++, libopenmpi-dev, petsc-dev, libhdf5-openmpi-dev,
-# xsdcxx, libboost-serialization-dev, libboost-filesystem-dev,
-# libboost-program-options-dev, libparmetis-dev, libmetis-dev,
-# libxerces-c-dev, libsundials-dev, libvtk7-dev | libvtk6-dev,
-# python3, python3-venv
-# Recommends: git, valgrind, libpetsc-real3.15-dbg | libpetsc-real3.14-dbg |
-# libpetsc-real3.12-dbg, libfltk1.1, hdf5-tools, cmake-curses-gui
-# Suggests: libgoogle-perftools-dev, doxygen, graphviz, subversion, git-svn,
-# gnuplot, paraview
-# APT-Sources: https://chaste.github.io/ubuntu jammy/ Packages
-
export DEBIAN_FRONTEND=noninteractive
-# https://chaste.github.io/docs/installguides/ubuntu-package/
-echo "deb [signed-by=/usr/share/keyrings/chaste.asc] https://chaste.github.io/ubuntu jammy/" > /etc/apt/sources.list.d/chaste.list
-apt-key adv --recv-keys --keyserver hkp://keyserver.ubuntu.com:80 422C4D99
-wget -O /usr/share/keyrings/chaste.asc https://chaste.github.io/chaste.asc
-
apt-get update && \
apt-get install -y --no-install-recommends \
- chaste-dependencies \
- git \
- valgrind \
- libpetsc-real3.15-dbg \
- libfltk1.1 \
- hdf5-tools \
- cmake-curses-gui \
- lcov \
- doxygen \
- graphviz \
- gnuplot \
- paraview \
- mencoder \
- python3-dev \
- python3-pip \
- python2.7 \
- libffi-dev \
- environment-modules
+ apt-utils \
+ apt-transport-https \
+ ca-certificates \
+ gnupg \
+ wget
-# libgoogle-perftools-dev: libunwind dependency version required conflicts
-# with the pre-installed version on github ubuntu-22.04 runners
-# https://bugs.launchpad.net/ubuntu/+source/llvm-toolchain-14/+bug/1989124
+apt-get update && \
+apt-get install -y --no-install-recommends \
+ cmake \
+ cmake-curses-gui \
+ doxygen \
+ environment-modules \
+ g++ \
+ git \
+ gnuplot \
+ graphviz \
+ hdf5-tools \
+ lcov \
+ libboost-serialization-dev \
+ libboost-filesystem-dev \
+ libboost-program-options-dev \
+ libhdf5-openmpi-dev \
+ libmetis-dev \
+ libopenmpi-dev \
+ libparmetis-dev \
+ libpetsc-real3.15 \
+ libpetsc-real3.15-dbg \
+ libpetsc-real3.15-dev \
+ libsundials-dev \
+ libvtk9.1 \
+ libvtk9-dev \
+ libxerces-c-dev \
+ mencoder \
+ petsc-dev \
+ python3 \
+ python3-dev \
+ python3-pip \
+ python3-venv \
+ python2.7 \
+ valgrind \
+ xsdcxx
# https://bugs.launchpad.net/ubuntu/+source/vtk7/+bug/1878103
# https://github.com/Chaste/chaste-docker/blob/4dd5a4819716c3defa0bfb5145bfa902bf07ecf4/Dockerfile#L89
diff --git a/scripts/setup_ubuntu2304.sh b/scripts/setup_ubuntu2304.sh
index e809237..eeeeb4e 100755
--- a/scripts/setup_ubuntu2304.sh
+++ b/scripts/setup_ubuntu2304.sh
@@ -2,6 +2,14 @@
export DEBIAN_FRONTEND=noninteractive
+apt-get update && \
+apt-get install -y --no-install-recommends \
+ apt-utils \
+ apt-transport-https \
+ ca-certificates \
+ gnupg \
+ wget
+
apt-get update && \
apt-get install -y --no-install-recommends \
cmake \
diff --git a/scripts/setup_ubuntu2310.sh b/scripts/setup_ubuntu2310.sh
index e809237..eeeeb4e 100755
--- a/scripts/setup_ubuntu2310.sh
+++ b/scripts/setup_ubuntu2310.sh
@@ -2,6 +2,14 @@
export DEBIAN_FRONTEND=noninteractive
+apt-get update && \
+apt-get install -y --no-install-recommends \
+ apt-utils \
+ apt-transport-https \
+ ca-certificates \
+ gnupg \
+ wget
+
apt-get update && \
apt-get install -y --no-install-recommends \
cmake \
diff --git a/scripts/setup_ubuntu2404.sh b/scripts/setup_ubuntu2404.sh
new file mode 100755
index 0000000..3e56faa
--- /dev/null
+++ b/scripts/setup_ubuntu2404.sh
@@ -0,0 +1,49 @@
+#!/bin/sh
+
+export DEBIAN_FRONTEND=noninteractive
+
+apt-get update && \
+apt-get install -y --no-install-recommends \
+ apt-utils \
+ apt-transport-https \
+ ca-certificates \
+ gnupg \
+ wget
+
+apt-get update && \
+apt-get install -y --no-install-recommends \
+ cmake \
+ cmake-curses-gui \
+ doxygen \
+ environment-modules \
+ g++ \
+ git \
+ gnuplot \
+ graphviz \
+ hdf5-tools \
+ lcov \
+ libboost-serialization-dev \
+ libboost-filesystem-dev \
+ libboost-program-options-dev \
+ libhdf5-openmpi-dev \
+ libmetis-dev \
+ libopenmpi-dev \
+ libparmetis-dev \
+ libpetsc-real3.19 \
+ libpetsc-real3.19-dbg \
+ libpetsc-real3.19-dev \
+ libsundials-dev \
+ libvtk9.1 \
+ libvtk9-dev \
+ libxerces-c-dev \
+ mencoder \
+ petsc-dev \
+ python3 \
+ python3-dev \
+ python3-pip \
+ python3-venv \
+ valgrind \
+ xsdcxx
+
+update-alternatives --install /usr/local/bin/python python /usr/bin/python3 10
+update-alternatives --install /usr/local/bin/pip pip /usr/bin/pip3 10