Skip to content

Bump actions/upload-artifact from 5 to 6 #142

Bump actions/upload-artifact from 5 to 6

Bump actions/upload-artifact from 5 to 6 #142

Workflow file for this run

name: Test DOLFINx/FEniCS examples
on:
pull_request:
branches: [main]
push:
branches: [main]
jobs:
standard-examples:
name: Test on ${{ matrix.container }}
runs-on: ${{ matrix.platform }}
container: ${{ matrix.container }}
env:
DEB_PYTHON_INSTALL_LAYOUT: deb_system
strategy:
fail-fast: true
matrix:
platform: ["ubuntu-24.04", "ubuntu-24.04-arm"]
container:
[
"ghcr.io/fenics/dolfinx/dolfinx:stable",
"ghcr.io/fenics/dolfinx/dolfinx:nightly",
"ghcr.io/methods-group/proximalgalerkin:v0.5.0",
]
steps:
- uses: actions/checkout@v5
- name: Install package
id: install
run: |
python3 -m pip install -e .[obstacle,signorini,eikonal,monge_ampere]
- name: Run example 2
working-directory: ./examples/02_signorini
run: |
python3 generate_mesh.py
python3 signorini_dolfinx.py --disp=-0.1 --alpha_0=0.005 --output=small_disp file --filename=meshes/half_sphere.xdmf
python3 signorini_dolfinx.py --disp=-0.15 --alpha_0=0.005 --output=med_disp file --filename=meshes/half_sphere.xdmf
python3 signorini_dolfinx.py --disp=-0.2 --alpha_0=0.005 --output=large_disp file --filename=meshes/half_sphere.xdmf
- name: Run example 3
if: (steps.install.conclusion == 'success') && (matrix.platform == 'ubuntu-24.04')
working-directory: ./examples/03_fracture
run: |
python3 -m pip install -e ../../[fracture]
python3 fracture_dolfinx.py --Tmin=0 --Tmax=2 --num-load-steps=10 --write-frequency=9
- name: Run example 4
if: steps.install.conclusion == 'success'
working-directory: ./examples/04_multiphase
run: |
python3 multiphase_dolfinx.py -N 30 -M 30 --dt 1e-4 --T 1e-3 --write_frequency=25
- name: Run example 5
if: steps.install.conclusion == 'success'
working-directory: ./examples/05_obstacle_type_qvi
run: |
python3 thermoforming_dolfinx.py
- name: Run example 6
if: steps.install.conclusion == 'success'
working-directory: ./examples/06_gradient_constraints
run: |
python3 gradient_constraint_dolfinx.py
- name: Run example 7
if: steps.install.conclusion == 'success'
working-directory: ./examples/07_eigenvalue_constraints
run: |
python3 eigenvalue_constraints_dolfinx.py
- name: Run example 8
if: steps.install.conclusion == 'success'
working-directory: ./examples/08_intersecting_constraints
run: |
python3 intersecting_constraints_dolfinx.py
- name: Run example 9
if: steps.install.conclusion == 'success'
working-directory: ./examples/10_monge_ampere
run: |
python3 monge_ampere_dolfinx.py
obstacle:
runs-on: ${{ matrix.platform }}
container: ghcr.io/methods-group/proximalgalerkin:v0.5.0
env:
DEB_PYTHON_INSTALL_LAYOUT: deb_system
strategy:
fail-fast: true
matrix:
platform: ["ubuntu-24.04", "ubuntu-24.04-arm"]
steps:
- uses: actions/checkout@v5
- name: Install package
run: |
python3 -m pip install -e .[obstacle]
- name: Run example 1
working-directory: ./examples/01_obstacle_problem
run: |
python3 generate_mesh_gmsh.py
python3 compare_all.py -P ./meshes/disk_1.xdmf -O coarse
python3 compare_all.py -P ./meshes/disk_2.xdmf -O medium
python3 compare_all.py -P ./meshes/disk_3.xdmf -O fine
- name: Copy mesh-creation script
run: |
cp ./examples/09_eikonal/convert_mesh.cpp /root/LVPP/mfem/examples
- name: Compile mesh-creation script
working-directory: /root/LVPP/mfem/examples
run: |
make convert_mesh
./convert_mesh --mesh ../data/mobius-strip.mesh
- name: Install dependencies
run: |
python3 -m pip install -e .[eikonal]
- name: Run example 9
working-directory: ./examples/09_eikonal
run: |
python3 eikonal_dolfinx.py --mesh-dir=/root/LVPP/mfem/examples/mobius-strip.mesh