Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

5.1 release candidate #2720

Merged
merged 214 commits into from
Oct 4, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
214 commits
Select commit Hold shift + click to select a range
0732af0
Build containers in GHA CI
dschwoerer Feb 28, 2022
2b11fca
Ensure we found a parallel SUNDIALS
dschwoerer Jul 23, 2021
7d98f8e
Workaround for finding SUNDIALS
dschwoerer Aug 18, 2021
1dbebcf
Switching tests to CMake
dschwoerer Feb 22, 2022
7f54be1
add debug
dschwoerer Feb 22, 2022
8277875
Avoid adding `netcdf` to flags
dschwoerer Feb 28, 2022
28999d7
Cleanup tests
dschwoerer Feb 28, 2022
f53770d
debug
dschwoerer Mar 1, 2022
7b73f39
Fix static linking for petsc
dschwoerer Mar 1, 2022
c480555
Run only unit tests for coverage
dschwoerer Mar 1, 2022
6628bb5
Set sundials LD_LIBRARY_PATH
dschwoerer Mar 1, 2022
f5cdabf
Fix coverage job
dschwoerer Mar 1, 2022
d3c5ffa
CI: Install fastcov
dschwoerer Mar 1, 2022
995151d
try lcov for coverage
dschwoerer Mar 1, 2022
02bd701
fix coverage for cmake
dschwoerer Mar 4, 2022
f4d7607
Merge branch 'next' of https://github.com/boutproject/BOUT-dev into HEAD
dschwoerer Mar 4, 2022
5864e7f
Tidy up messages
dschwoerer Mar 5, 2022
d903927
Improve docker CI
dschwoerer Mar 4, 2022
eb7f84a
Only generate if file is executable
dschwoerer Mar 4, 2022
9a330ab
CI: Nicer name for builds
dschwoerer Mar 4, 2022
f96e84d
Merge branch 'next' into ci-cmake-only
ZedThree Jul 28, 2022
2b43271
Add deprecation warning to configure
ZedThree Jul 28, 2022
aa23f56
Merge branch 'next' into ci-cmake-only
dschwoerer Oct 25, 2022
bd73ab7
Merge remote-tracking branch 'origin/next' into ci-cmake-only
dschwoerer Nov 4, 2022
b73414e
make tarball after bumping version
dschwoerer Nov 4, 2022
a407a86
switch some docs to cmake
dschwoerer Nov 4, 2022
7765700
Switch advanced install to cmake
dschwoerer Nov 4, 2022
48daf16
Update recommendet PETSc
dschwoerer Nov 4, 2022
98edf23
Update installing to cmake
dschwoerer Nov 4, 2022
9d6de34
3D metrics user switched away from configure
dschwoerer Nov 4, 2022
6352653
make the cmake version more prominent
dschwoerer Nov 4, 2022
17baa1c
Some updates to the boutpp documentation
dschwoerer Nov 4, 2022
a2fcb78
Update more flags to the cmake version
dschwoerer Nov 4, 2022
7b908b0
Change some more options to cmake
dschwoerer Nov 4, 2022
eecf5ad
Update scorep section to cmake
dschwoerer Nov 4, 2022
3f647a6
Handle missing python better for finding numpy
dschwoerer Nov 16, 2022
6427a41
Remove references to build dir from install
dschwoerer Jan 9, 2023
9832fa5
Track more build options
dschwoerer Jan 24, 2023
6d3c611
Apply clang-format changes
dschwoerer Jan 24, 2023
0f88b0b
Rename use_cuda to has_cuda
dschwoerer Jan 26, 2023
9ce221e
Handle strings separately
dschwoerer Feb 2, 2023
7f35ad7
Apply black changes
dschwoerer Feb 2, 2023
efe5e3d
set CMAKE_INSTALL_RPATH to installed lib dir
dschwoerer Feb 3, 2023
0046c19
switch to BOUT_FOR
dschwoerer Oct 28, 2021
37528b7
Compute modulo only once
dschwoerer Dec 9, 2021
0aa5d94
Always provide applyParallelBoundary
dschwoerer Feb 22, 2022
bc8bedb
Fix BOUT_HAS_CUDA naming
dschwoerer Feb 7, 2023
428b035
workaround: apply BC
dschwoerer Nov 19, 2021
da3c335
Tidy: set variables as unused
dschwoerer Feb 23, 2022
b7dfa17
CI: Also build an image with utils installed
dschwoerer May 10, 2022
ef4c8c5
Cache invSg results
dschwoerer Nov 15, 2022
5cf7abe
Use parallel slices for parallel ops
dschwoerer Nov 16, 2022
bd8e707
Apply clang-format changes
dschwoerer Feb 7, 2023
554cf70
Fix getUniform warning
dschwoerer Nov 16, 2022
fbb5530
Cache 1/sqrt(g_22)
dschwoerer Dec 14, 2022
a620781
Set some _ROOT vars
dschwoerer Dec 14, 2022
06efe47
Apply clang-format changes
dschwoerer Feb 8, 2023
59966be
fix boutconfig's `has`
dschwoerer Feb 2, 2023
dea7ec8
Cleanup LocalNz usage
dschwoerer Feb 8, 2023
b415d37
[skip ci] Apply black changes
dschwoerer Feb 8, 2023
0697c3c
Apply clang-format changes
dschwoerer Feb 8, 2023
e3ebd6e
Apply clang-format changes
dschwoerer Feb 8, 2023
0bc67df
Fix it also for ./configure
dschwoerer Feb 8, 2023
deafbee
Merge branch 'next' of https://github.com/boutproject/BOUT-dev into i…
dschwoerer Feb 8, 2023
eecf690
Merge branch 'next' of https://github.com/boutproject/BOUT-dev into h…
dschwoerer Feb 8, 2023
4fba166
Merge branch 'next' into getUniform-warning
dschwoerer Feb 8, 2023
07cbc49
Merge pull request #2655 from boutproject/master
bendudson Feb 17, 2023
546d664
Merge remote-tracking branch 'origin/next' into build-opts
dschwoerer Feb 20, 2023
2092e5e
Merge remote-tracking branch 'origin/next' into fci-simplify
dschwoerer Feb 20, 2023
0e8b31c
Merge remote-tracking branch 'origin/next' into getUniform-warning
dschwoerer Feb 20, 2023
ac1c484
Merge branch 'getUniform-warning' of https://github.com/boutproject/B…
dschwoerer Feb 20, 2023
a47e617
apply clang-format v15.0.7 and .clang-format@d8f14fdd
dschwoerer Feb 20, 2023
2dc855a
Merge branch 'next' of github.com:boutproject/BOUT-dev into cmake-root
dschwoerer Feb 20, 2023
ae76881
Do not clang-format the confusing macro test
dschwoerer Feb 20, 2023
b12ebd4
Fix bad merge
dschwoerer Feb 20, 2023
9aa09ea
Apply clang-format changes
dschwoerer Feb 20, 2023
9a3787c
Merge pull request #2640 from boutproject/fci-simplify
ZedThree Feb 22, 2023
92ac396
Merge pull request #2644 from boutproject/getUniform-warning
ZedThree Feb 22, 2023
60da444
Merge pull request #2643 from boutproject/find-numpy
ZedThree Feb 22, 2023
2bea438
Do not include deprecated legacy_netcdf
dschwoerer Feb 22, 2023
2fff7e8
Avoid macro by returning a struct
dschwoerer Feb 22, 2023
b8d920a
Add const again
dschwoerer Feb 22, 2023
7056e3f
Merge branch 'next' of https://github.com/boutproject/BOUT-dev into f…
dschwoerer Feb 22, 2023
917a02e
Merge branch 'next' of github.com:boutproject/BOUT-dev into invSg
dschwoerer Feb 22, 2023
09b9377
Fix versions after release
dschwoerer Feb 23, 2023
6719b4a
Do not use template class initialisation without parameter
dschwoerer Feb 23, 2023
cd60379
Use helper function to avoid having to specify class
dschwoerer Feb 23, 2023
c199c5a
Merge pull request #2641 from boutproject/fv_ops_cleanup
ZedThree Feb 23, 2023
29aeab6
Merge pull request #2647 from boutproject/boutconfig-has-fix
bendudson Feb 23, 2023
c06cf15
Use force to set build flags
bendudson Mar 14, 2023
51a5cca
Warn rather than error when restart missing variables
bendudson Mar 14, 2023
c6fde95
Merge pull request #2670 from boutproject/next-version
bendudson Mar 14, 2023
1775bc1
Merge pull request #2645 from boutproject/hermitespline
bendudson Mar 14, 2023
27accce
Merge pull request #2652 from boutproject/cmake-root
bendudson Mar 14, 2023
c1648ff
Add dependabot config
dschwoerer Mar 15, 2023
28a7377
Merge pull request #2680 from boutproject/dependabot
bendudson Mar 16, 2023
2e035bb
Merge pull request #2676 from boutproject/restarting-options
bendudson Mar 21, 2023
13e53f0
Merge pull request #2662 from boutproject/next-format
ZedThree Mar 22, 2023
e830959
Use force to set build flags
dschwoerer Mar 23, 2023
75593bb
Merge remote-tracking branch 'origin/next' into build-opts
dschwoerer Mar 23, 2023
58bdf81
Add `plt.show()` to example
dschwoerer Mar 23, 2023
b03b078
Merge pull request #2687 from boutproject/quickdocs-plt-show
ZedThree Mar 23, 2023
7bdc0ab
Merge pull request #2634 from boutproject/build-opts
ZedThree Mar 23, 2023
77f67a6
Cleanup coordinates checking
dschwoerer Jan 24, 2023
b369aa7
Check all parallel slices
dschwoerer Feb 2, 2023
ea7201c
Only check parallel slices if they are different
dschwoerer Feb 2, 2023
71f1169
Prefer const
dschwoerer Feb 22, 2023
36897d8
Apply clang-format changes
dschwoerer Mar 23, 2023
de88021
Add comments to check functions
dschwoerer Mar 24, 2023
5acab08
Single hyphen for DCHECK option.
tomchapman Apr 15, 2023
5d2aeac
Corrected cmake argument -DPETSC_ROOT to -DPETSC_DIR in PETSc section…
tomchapman Apr 17, 2023
7d4de3d
Update examples to petsc version 3.19.0 in 'Advanced installation opt…
tomchapman Apr 17, 2023
ffcdd33
Add /manual/sphinx/_build to gitignore file.
tomchapman Apr 17, 2023
e89c2c4
Added comma, for clarity.
tomchapman Apr 17, 2023
f3dc73f
Clarify example using dnf.
tomchapman Apr 17, 2023
299c747
Change command example from 'make' to 'cmake --build <build-directory…
tomchapman Apr 17, 2023
8c04c36
CI: do not run on removed old ubuntu
dschwoerer Apr 19, 2023
7a8842d
CI: move some runs to ubunutu-latest
dschwoerer Apr 19, 2023
87f7944
CI: Update paths for ubuntu 20.04
dschwoerer Apr 19, 2023
7c5e51b
Merge pull request #2650 from boutproject/coords-checking
ZedThree Apr 19, 2023
a5a1f01
CI: fix slepc path
dschwoerer Apr 19, 2023
e7f95df
CI: fix petsc path
dschwoerer Apr 19, 2023
9664ac1
CI: Drop coverage build OS down to ubuntu-20.04
ZedThree Apr 19, 2023
cd83558
Merge pull request #2696 from boutproject/ci-fix-next
ZedThree Apr 20, 2023
dbbc209
Mark some functions as const
dschwoerer Apr 25, 2023
7095725
Pull out cached variables to function
dschwoerer Apr 25, 2023
6ce3772
Merge remote-tracking branch 'origin/next' into invSg
dschwoerer Apr 25, 2023
44d66df
Apply clang-format changes
dschwoerer Apr 25, 2023
f1b882a
Merge branch 'next' of https://github.com/boutproject/BOUT-dev into HEAD
dschwoerer Apr 26, 2023
dcda5d6
Merge pull request #2646 from boutproject/invSg
ZedThree Apr 26, 2023
37e4c60
Use petsc version 3.17.5 in examples,
tomchapman Apr 18, 2023
9227f88
Update more example code snippets from make to cmake.
tomchapman May 1, 2023
7d83874
provide VectorMetric in vectormetric.hxx
dschwoerer May 2, 2023
43839bf
Add doc strings
dschwoerer May 2, 2023
2b78d11
Allow to override version
dschwoerer May 2, 2023
344ede7
Add help
dschwoerer May 2, 2023
f2d00fa
Add dist mode
dschwoerer May 2, 2023
0744726
ignore dist files
dschwoerer May 2, 2023
f1a19a9
Prefix next version with v
dschwoerer May 2, 2023
a20e3a6
Use boutpp backend for dist generation
dschwoerer May 2, 2023
29de881
Merge pull request #2706 from boutproject/vectormetric
ZedThree May 2, 2023
b6fbcc7
Merge remote-tracking branch 'origin/master'
dschwoerer May 3, 2023
dfe527f
The additional check is not needed
dschwoerer May 3, 2023
73319f0
Apply clang-format changes
dschwoerer May 3, 2023
3c06094
Merge pull request #2710 from boutproject/transform-no-extra
ZedThree May 11, 2023
a608709
Use petsc version 3.19.1 in examples,
tomchapman May 12, 2023
ba05e3d
Merge branch 'next' of github.com:boutproject/BOUT-dev into docker-ci
dschwoerer May 16, 2023
67f15b7
Switch to github container registry
dschwoerer May 23, 2023
46b2d41
Fix docker.yml
dschwoerer May 23, 2023
258417e
Use commit for building
dschwoerer May 23, 2023
b1fbcc2
Use actual URL
dschwoerer May 23, 2023
f851f6e
CI: fix tag
dschwoerer May 23, 2023
57d5cba
CI: simplify `git submodule update`
dschwoerer May 23, 2023
a7b99e7
Use AUTO rather than MAYBE for finding python
dschwoerer Jun 8, 2023
6f3711d
Use AUTO for LAPACK
dschwoerer Jun 8, 2023
ec014fd
ENV setup is done in base image
dschwoerer Jun 8, 2023
c6372b2
Merge branch 'ci-cmake-only' into ci-cmake-only
dschwoerer Jun 14, 2023
ef62270
Merge pull request #2694 from tomc271/ci-cmake-only
dschwoerer Jun 14, 2023
23f8939
Merge remote-tracking branch 'origin/next' into ci-cmake-only
dschwoerer Jun 14, 2023
f695441
Merge pull request #2514 from boutproject/ci-cmake-only
ZedThree Jun 14, 2023
efb2fbf
Merge branch 'master' into dist-via-boutpp
ZedThree Jun 14, 2023
ebc0051
Merge pull request #2628 from boutproject/cmake-install-paths
ZedThree Jun 14, 2023
e98a06a
CI: Bump version of clang-tidy-review
ZedThree Jun 14, 2023
9a663da
CI: Disable incredibly annoying cognitive complexity check
ZedThree Jun 14, 2023
4342888
Merge branch 'next' into v5.1.0-rc
ZedThree Jun 14, 2023
0892ba3
use contextlib.suppress to ignore KeyError
dschwoerer Jun 14, 2023
8b05b48
Do not set -march=native as the compiled code is cached and runs on d…
dschwoerer Jun 14, 2023
1e758f0
add missing import
dschwoerer Jun 14, 2023
15683c5
Fix FV::Div_a_Grad_perp Y alignment
bendudson Jun 15, 2023
d99fab3
boutdata requires natsort
bendudson Jun 15, 2023
3fbe325
CI: Fix cmake flags
dschwoerer Jun 15, 2023
525742b
User setup has been moved to base image
dschwoerer Jun 15, 2023
5cbcb43
Merge remote-tracking branch 'origin/v5.1.0-rc' into docker-ci
dschwoerer Jun 15, 2023
def3381
Apply clang-format changes
dschwoerer Jun 15, 2023
bad0029
Fix default value for BOUT_ENABLE_PYTHON
dschwoerer Jun 15, 2023
a002a38
cmake: Ensure libraries are prefixed with -l
dschwoerer Jun 15, 2023
7bcec6f
Merge pull request #2723 from boutproject/ci-install-natsort
bendudson Jun 15, 2023
d9c6bce
CI: Fix disabling checks
dschwoerer Jun 16, 2023
3a96812
Merge branch 'v5.1.0-rc' into ci-fix-static
dschwoerer Jun 16, 2023
8c4f8af
Revert "Workaround for finding SUNDIALS"
dschwoerer Jun 16, 2023
269f6f7
Merge remote-tracking branch 'origin/v5.1.0-rc' into HEAD
dschwoerer Jun 16, 2023
6327eff
Merge pull request #2725 from boutproject/revert-sundials-detection
bendudson Jun 17, 2023
80fc47e
Merge pull request #2724 from boutproject/ci-fix-static
ZedThree Jun 19, 2023
68d95c3
Merge pull request #2726 from boutproject/bump-clang-tidy-review
ZedThree Jun 19, 2023
8dd09bc
Merge branch 'v5.1.0-rc' into dist-via-boutpp
ZedThree Jun 19, 2023
06d2afd
Merge branch 'v5.1.0-rc' into docker-ci
dschwoerer Jun 20, 2023
619f427
Update to dnf5
dschwoerer Jun 28, 2023
2d283d0
Merge pull request #2731 from boutproject/dnf5
ZedThree Jun 30, 2023
20bd285
Merge pull request #2511 from boutproject/docker-ci
ZedThree Jun 30, 2023
dfc0c75
Merge pull request #2708 from boutproject/dist-via-boutpp
ZedThree Jun 30, 2023
b5e9a06
Improving compatibility with fmt 10
dschwoerer Jun 28, 2023
0511a00
Add helper for ierr checking
dschwoerer Jun 29, 2023
6eba599
Use helper for snes error
dschwoerer Jun 29, 2023
4f0abf0
Use new ierr checker
dschwoerer Jun 29, 2023
cfd091d
Explicitly cast to int for fmt10
dschwoerer Jun 29, 2023
8bc3943
Static cast also for printing
dschwoerer Jun 29, 2023
323ded4
Add missing include
dschwoerer Jun 30, 2023
4418065
Add missing include
dschwoerer Jun 30, 2023
784b8d0
SNESGetConvergedReasonString was introduced only in PETSc 3.15
dschwoerer Jun 30, 2023
0f0a354
Apply clang-format changes
dschwoerer Jul 2, 2023
f95c277
Remove h5py - we only support netcdf
dschwoerer Jul 12, 2023
6082b4a
Merge pull request #2735 from boutproject/no-h5py
bendudson Jul 26, 2023
9c22f24
Merge pull request #2730 from boutproject/fmt10
ZedThree Jul 26, 2023
f5b352a
Merge branch 'v5.1.0-rc' into bugfix-fvops-yalign
bendudson Aug 6, 2023
2e4fdbf
Merge pull request #2722 from boutproject/bugfix-fvops-yalign
bendudson Aug 6, 2023
70c808e
Update RELEASE_HOWTO.md
dschwoerer Sep 13, 2023
fce2e70
Merge branch 'v5.1.0-rc' into dschwoerer-patch-1
dschwoerer Sep 13, 2023
9e734c9
Merge pull request #2741 from boutproject/dschwoerer-patch-1
bendudson Sep 14, 2023
a24a359
Maint: Update changelog
ZedThree Sep 21, 2023
0c4d702
Maint: Update translation files
ZedThree Sep 22, 2023
ac5e5d5
Maint: Bump version to v5.1.0
ZedThree Sep 22, 2023
0e41029
Maint: Add Tom Chapman to citation file
ZedThree Sep 22, 2023
4adda14
Maint: Update DOI
ZedThree Sep 22, 2023
8ae5e35
Maint: Update release date
ZedThree Oct 4, 2023
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .build_petsc_for_ci.sh
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ if test $BUILD_PETSC ; then
--with-scalar-type=real \
--with-shared-libraries=1 \
--with-debugging=0 \
{C,CXX,F}OPTFLAGS="-O3 -march=native" \
{C,CXX,F}OPTFLAGS="-O3" \
--prefix=$HOME/local/petsc

make && make install
Expand Down
4 changes: 2 additions & 2 deletions .ci_fedora.sh
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,7 @@ then
cat /etc/os-release
# Ignore weak depencies
echo "install_weak_deps=False" >> /etc/dnf/dnf.conf
time dnf -y install dnf-plugins-core python3-pip cmake
time dnf -y install dnf5-plugins python3-pip cmake
# Allow to override packages - see #2073
time dnf copr enable -y davidsch/fixes4bout || :
time dnf -y upgrade
Expand All @@ -58,7 +58,7 @@ else
cd
cd BOUT-dev
echo "starting configure"
time cmake -DBOUT_USE_PETSC=ON -S . -B build
time cmake -S . -B build -DBOUT_USE_PETSC=ON
time make -C build build-check -j 2
time make -C build check
fi
13 changes: 12 additions & 1 deletion .ci_with_cmake.sh
Original file line number Diff line number Diff line change
Expand Up @@ -3,13 +3,23 @@
set -ex

cmake --version
cmake . -B build $@ -DCMAKE_INSTALL_PREFIX=$(pwd)/installed
cmake -S . -B build $@ -DCMAKE_INSTALL_PREFIX=$(pwd)/installed

if test ".$UNIT_ONLY" = ".YES" ; then
make -C build build-check-unit-tests
make -C build check-unit-tests
exit 0
fi

cmake --build build --target build-check -j 2
cd build
ctest --output-on-failure --timeout 300

export LD_LIBRARY_PATH=/home/runner/local/lib:$LD_LIBRARY_PATH

# Test bout-config basic functionallity
cd ../examples/make-script
PATH=../../build/bin:$PATH bout-config --all
PATH=../../build/bin:$PATH make
./test --help
cd -
Expand All @@ -25,6 +35,7 @@ rm -rf build
# Test installation with plain `make`
cd ../examples/make-script
rm test
PATH=../../installed/bin:$PATH bout-config --all
PATH=../../installed/bin:$PATH make
./test --help
cd -
Expand Down
2 changes: 1 addition & 1 deletion .clang-tidy
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
---
Checks: 'clang-diagnostic-*,clang-analyzer-*,-*,performance-*,readability-*,bugprone-*,clang-analyzer-*,cppcoreguidelines-*,mpi-*,misc-*,-readability-magic-numbers,-cppcoreguidelines-avoid-magic-numbers,-misc-non-private-member-variables-in-classes,-cppcoreguidelines-pro-bounds-array-to-pointer-decay,-cppcoreguidelines-pro-type-vararg,-clang-analyzer-optin.mpi*,-bugprone-exception-escape,-cppcoreguidelines-pro-bounds-pointer-arithmetic'
Checks: 'clang-diagnostic-*,clang-analyzer-*,-*,performance-*,readability-*,bugprone-*,clang-analyzer-*,cppcoreguidelines-*,mpi-*,misc-*,-readability-magic-numbers,-cppcoreguidelines-avoid-magic-numbers,-misc-non-private-member-variables-in-classes,-cppcoreguidelines-pro-bounds-array-to-pointer-decay,-cppcoreguidelines-pro-type-vararg,-clang-analyzer-optin.mpi*,-bugprone-exception-escape,-cppcoreguidelines-pro-bounds-pointer-arithmetic,-readability-function-cognitive-complexity'
WarningsAsErrors: ''
HeaderFilterRegex: ''
AnalyzeTemporaryDtors: false
Expand Down
29 changes: 29 additions & 0 deletions .docker/build.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
set -ex

if which docker &> /dev/null ; then
cmd="time sudo docker"
else
cmd="time podman"
fi

file=$1
(test $file && test -f $file) || file=.docker/fedora/Dockerfile
test $# -gt 0 && shift

if test -x $file
then
COMMIT=$(git rev-parse HEAD) $file $@ > Dockerfile
else
cp $file Dockerfile
fi

$cmd login -p $DOCKER_TOKEN -u $DOCKER_USER

cat Dockerfile

$cmd build -t mobydick . --build-arg=COMMIT=$(git rev-parse HEAD) --build-arg=MPI=$MPI --build-arg=CMAKE_OPTIONS="$CMAKE_OPTIONS" --build-arg=BASE=$BASE
for tag in $TAGS
do
$cmd tag mobydick $tag
$cmd push $tag
done
39 changes: 39 additions & 0 deletions .docker/fedora/Dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
ARG BASE
FROM ghcr.io/dschwoerer/bout-container-base:$BASE

# ----------------------------------------------------------------
# Build and install BOUT++
# ----------------------------------------------------------------
# user: boutuser
# password: boutforever

ARG MPI
ARG URL
ARG COMMIT
ARG CMAKE_OPTIONS

RUN sudo ls

# Checkout submodules now so configure later is fast, and iterating on
# it less painful
RUN git clone $URL \
&& chown -R boutuser /home/boutuser/BOUT-dev \
&& cd BOUT-dev \
&& git checkout $COMMIT \
&& git submodule update --init --recursive


WORKDIR /home/boutuser/BOUT-dev

RUN cmake -S . -B build -DCMAKE_INSTALL_PREFIX=/opt/bout++/ \
-DBOUT_GENERATE_FIELDOPS=OFF \
-DBOUT_USE_PETSC=ON -DPETSc_ROOT=/opt/petsc \
-DBOUT_ENABLE_PYTHON=ON \
-DBOUT_USE_SUNDIALS=ON -DSUNDIALS_ROOT=/usr/lib64/$MPI/ -DSUNDIALS_INCLUDE_DIR=/usr/include/$MPI-x86_64/sundials/ \
$CMAKE_OPTIONS || (cat /home/boutuser/BOUT-dev/build/CMakeFiles/CMake{Output,Error}.log ; exit 1)


RUN make -C build -j 2
RUN sudo make -C build install

RUN find /opt/bout++
17 changes: 17 additions & 0 deletions .github/dependabot.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
version: 2

updates:
- package-ecosystem: "gitsubmodule"
schedule:
interval: "daily"
directory: "/"

- package-ecosystem: "pip"
schedule:
interval: "daily"
directory: "/"

- package-ecosystem: "github-actions"
schedule:
interval: "weekly"
directory: "/"
5 changes: 4 additions & 1 deletion .github/workflows/clang-tidy-review.yml
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ jobs:
submodules: true

- name: Run clang-tidy
uses: ZedThree/clang-tidy-review@v0.8.4
uses: ZedThree/clang-tidy-review@v0.13.1
id: review
with:
build_dir: build
Expand All @@ -44,3 +44,6 @@ jobs:
-DBOUT_ENABLE_PYTHON=OFF \
-DCMAKE_EXPORT_COMPILE_COMMANDS=On \
-DBOUT_UPDATE_GIT_SUBMODULE=OFF
- name: Upload clang-tidy fixes
uses: ZedThree/clang-tidy-review/[email protected]
84 changes: 84 additions & 0 deletions .github/workflows/docker.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,84 @@
name: Docker

on:
push:
branches:
- master
- next
# Add your branch here if you want containers for it
- db-WIP
- docker-ci

env:
REGISTRY: ghcr.io
IMAGE_NAME: ${{ github.repository }}

jobs:
build:
name: Build ${{ matrix.config.name }} Container (${{ matrix.metric3d.name }} ; ${{matrix.mpi}})
runs-on: ubuntu-latest
permissions:
contents: read
packages: write

strategy:
fail-fast: false
matrix:
mpi: [mpich]
metric3d:
- name: "With OpenMP"
cmake: ON
base_prefix: "openmp-"
tag_prefix: "3d-"
- name: "Without OpenMP"
cmake: OFF
base_prefix: ""
tag_prefix: ""
config:
- name: "Debug"
tag_postfix: "debug"
options: "-DCHECK=3"
base_postfix: "mini"

- name: "Optimised"
tag_postfix: "opt"
options: "-DCHECK=0"
base_postfix: "mini"

- name: "Full"
tag_postfix: "full"
options: "-DCHECK=3"
base_postfix: "full"

steps:
- name: Checkout repository
uses: actions/checkout@v3

- name: Log in to the Container registry
uses: docker/login-action@65b78e6e13532edd9afa3aa52ac7964289d1a9c1
with:
registry: ${{ env.REGISTRY }}
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}

- name: Extract metadata (tags, labels) for Docker
id: meta
uses: docker/metadata-action@9ec57ed1fcdbf14dcef7dfbe97b2010124a938b7
with:
images: ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}
flavor: |
prefix=${{ matrix.mpi }}-${{matrix.metric3d.tag_prefix}}${{ matrix.config.tag_postfix }}-
- name: Build and push Docker image
uses: docker/build-push-action@f2a1d5e99d037542a71f64918e516c093c6f3fc4
with:
build-args: |
BASE=${{ matrix.mpi }}-${{ matrix.metric3d.base_prefix }}${{ matrix.config.base_postfix }}-main
MPI=${{ matrix.mpi }}
CMAKE_OPTIONS=${{ matrix.config.options }} -DBOUT_ENABLE_METRIC_3D=${{ matrix.metric3d.cmake }} -DBOUT_ENABLE_OPENMP=${{ matrix.metric3d.cmake }}
COMMIT=${{ github.sha }}
URL=${{ github.server_url }}/${{ github.repository }}
context: .docker/fedora/
push: true
tags: ${{ steps.meta.outputs.tags }}
labels: ${{ steps.meta.outputs.labels }}
Loading