Skip to content

Commit 7770a4f

Browse files
author
Ben Fulton
committed
Update dockerfiles for Ubuntu 24 and allow workflow_dispatch
1 parent b66d03c commit 7770a4f

File tree

3 files changed

+43
-15
lines changed

3 files changed

+43
-15
lines changed

.github/workflows/ubuntu.yml

Lines changed: 13 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@ permissions:
55
contents: read
66

77
on:
8+
workflow_dispatch:
89
push:
910
branches:
1011
- pablo_dev3
@@ -18,6 +19,7 @@ on:
1819
- meissam_dev_new
1920
- hayley_dev
2021
- ruixiao_dev_new
22+
- master_ubuntu24
2123

2224
jobs:
2325

@@ -36,6 +38,9 @@ jobs:
3638

3739
- name: "Build Focal"
3840
release: focal
41+
42+
- name: "Build Noble"
43+
release: noble
3944
steps:
4045

4146
- name: Check Out Repo
@@ -81,6 +86,11 @@ jobs:
8186
command: "make THREADS=1 serialtest-mp-xml"
8287
output: "multiphase_test_results.xml"
8388

89+
- name: "Noble"
90+
release: noble
91+
runner: ubuntu-latest
92+
command: "make THREADS=1 serialtest-mp-xml"
93+
output: "multiphase_test_results.xml"
8494
steps:
8595

8696
- name: Run tests (${{ matrix.name }})
@@ -112,12 +122,14 @@ jobs:
112122

113123
strategy:
114124
matrix:
115-
name: [ "Report Bionic", "Report Focal" ]
125+
name: [ "Report Bionic", "Report Focal", "Report Noble" ]
116126
include:
117127
- name: "Report Bionic"
118128
release: bionic
119129
- name: "Report Focal"
120130
release: focal
131+
- name: "Report Noble"
132+
release: noble
121133

122134
steps:
123135
- uses: actions/download-artifact@v4

docker/Dockerfile.noble

Lines changed: 23 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -2,9 +2,10 @@
22

33
# Use a Noble base image
44
FROM ubuntu:noble
5+
RUN userdel -r ubuntu
56

67
# This DockerFile is looked after by
7-
MAINTAINER Tim Greaves
8+
LABEL MAINTAINER="Tim Greaves"
89

910
# Installs shouldn't expect input
1011
ENV DEBIAN_FRONTEND=noninteractive
@@ -18,20 +19,26 @@ RUN apt-get update && \
1819
gpg --export --armor 33BAC3BE | apt-key add - && \
1920
apt-get update && \
2021
echo "Europe/London" > /etc/timezone && \
21-
apt-get -y install fluidity-dev texlive-pstricks texlive texlive-latex-extra texlive-science python3-pip && \
22+
apt-get -y install fluidity-dev texlive-pstricks texlive texlive-latex-extra texlive-science \
23+
python3-pip python3-numpy python3.12-venv libvtk9-dev libparmetis-dev gir1.2-gtksource-3.0 libnetcdff-dev && \
2224
rm -rf /var/cache/apt && \
2325
rm -rf /var/lib/apt/lists
2426

25-
RUN python3 -m pip install --upgrade junit-xml
2627

2728
WORKDIR /usr/local
2829
RUN curl -fsL https://gmsh.info/bin/Linux/gmsh-4.8.3-Linux64.tgz | tar --strip-components=1 -zxf -
29-
30-
ENV PETSC_DIR /usr/lib/petscdir/3.19
31-
ENV LDFLAGS -L/usr/lib/x86_64-linux-gnu/hdf5/openmpi
32-
ENV CPPFLAGS -I/usr/include/hdf5/openmpi
33-
ENV OMPI_MCA_btl_vader_single_copy_mechanism none
34-
ENV OMPI_MCA_rmaps_base_oversubscribe 1
30+
RUN curl -LO https://github.com/sandialabs/Zoltan/archive/refs/tags/v3.83.tar.gz && \
31+
tar -zxf v3.83.tar.gz && rm v3.83.tar.gz && \
32+
cd Zoltan-3.83 && mkdir build && cd build && \
33+
../configure --prefix=/usr/local/zoltan --with-parmetis --with-parmetis-libdir=default --enable-mpi --with-mpi-compilers --enable-f90interface --with-fcflags="-fallow-argument-mismatch" && \
34+
make everything && make install
35+
36+
ENV PETSC_DIR=/usr/lib/petscdir/3.19
37+
ENV LDFLAGS=-L/usr/lib/x86_64-linux-gnu/hdf5/openmpi
38+
ENV CPPFLAGS=-I/usr/include/hdf5/openmpi
39+
ENV OMPI_MCA_btl_vader_single_copy_mechanism=none
40+
ENV OMPI_MCA_rmaps_base_oversubscribe=1
41+
ENV FCFLAGS="-I/usr/local/zoltan/include -L/usr/local/zoltan/lib"
3542

3643
# Add a Fluidity user who will be the default user for this container
3744
# Make sure the user has a userid matching the host system
@@ -41,3 +48,10 @@ RUN adduser --disabled-password --gecos "" -u $userid fluidity
4148

4249
USER fluidity
4350
WORKDIR /home/fluidity
51+
52+
# Create a virtual environment
53+
RUN python3 -m venv python_venv
54+
55+
# Install packages using the venv's pip
56+
RUN python_venv/bin/pip install --upgrade pip
57+
RUN python_venv/bin/pip install junit-xml

docker/actions/Dockerfile.actions.noble

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
FROM fluidity/baseimages:noble
1+
FROM benfulton/icferst:noble
22

33
USER root
44

@@ -12,8 +12,10 @@ RUN chown -R fluidity /home/fluidity
1212

1313
USER fluidity
1414

15-
ENV FCFLAGS="-I/usr/include"
15+
ENV FCFLAGS="-I/usr/local/zoltan/include -L/usr/local/zoltan/lib"
1616

17-
RUN ./configure --enable-2d-adaptivity
18-
RUN make mp
19-
RUN make fltools
17+
RUN ./configure2 --enable-2d-adaptivity
18+
RUN cp libjudy/libtool libspud
19+
RUN make -j8 mp
20+
21+
# RUN make fltools

0 commit comments

Comments
 (0)