Skip to content

Commit

Permalink
Merge remote-tracking branch 'origin/next' into fci-auto-with-debug
Browse files Browse the repository at this point in the history
  • Loading branch information
dschwoerer committed Nov 8, 2024
2 parents 0619ffe + bb5f194 commit a19c9e8
Show file tree
Hide file tree
Showing 364 changed files with 3,789 additions and 14,035 deletions.
1 change: 1 addition & 0 deletions .ci_fedora.sh
Original file line number Diff line number Diff line change
Expand Up @@ -40,6 +40,7 @@ then
cat /etc/os-release
# Ignore weak depencies
echo "install_weak_deps=False" >> /etc/dnf/dnf.conf
echo "minrate=10M" >> /etc/dnf/dnf.conf
time dnf -y install dnf5
time dnf5 -y install dnf5-plugins cmake python3-zoidberg python3-natsort wget
# Allow to override packages - see #2073
Expand Down
13 changes: 0 additions & 13 deletions .ci_with_cmake.sh
Original file line number Diff line number Diff line change
Expand Up @@ -17,12 +17,6 @@ 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 -
# Test bout++Config.cmake
cd ../examples/conduction
cmake . -B build -DCMAKE_PREFIX_PATH=../../build
Expand All @@ -32,13 +26,6 @@ cd -

make install -j 2
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 -
# Test installation with CMake
cd ../examples/conduction
cmake . -B build -DCMAKE_PREFIX_PATH=../../installed
Expand Down
11 changes: 2 additions & 9 deletions .clang-tidy
Original file line number Diff line number Diff line change
@@ -1,18 +1,10 @@
---
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,-clang-analyzer-optin.mpi*,-bugprone-exception-escape,-cppcoreguidelines-pro-bounds-pointer-arithmetic,-readability-function-cognitive-complexity,-misc-no-recursion,-bugprone-easily-swappable-parameters'
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,-clang-analyzer-optin.mpi*,-bugprone-exception-escape,-cppcoreguidelines-pro-bounds-pointer-arithmetic,-readability-function-cognitive-complexity,-misc-no-recursion,-bugprone-easily-swappable-parameters,-readability-identifier-length'
WarningsAsErrors: ''
HeaderFilterRegex: ''
FormatStyle: file
CheckOptions:

# Allow some common short names
- key: readability-identifier-length.IgnoredVariableNames
value: '^[dn]?[xyz]$'
- key: readability-identifier-length.IgnoredParameterNames
value: '^[dfijknxyz][01xyz]?$'
- key: readability-identifier-length.IgnoredLoopCounterNames
value: '^[ijkxyz_]$'

# Don't expand macros when simplifying boolean expressions,
# otherwise this breaks `ASSERT` macros!
- key: readability-simplify-boolean-expr.IgnoreMacros
Expand All @@ -27,6 +19,7 @@ These are all basically unavoidable in HPC numeric code:
-cppcoreguidelines-pro-bounds-pointer-arithmetic
-readability-function-cognitive-complexity
-bugprone-easily-swappable-parameters
-readability-identifier-length

This doesn't work very well:
-clang-analyzer-optin.mpi*
Expand Down
2 changes: 1 addition & 1 deletion .github/dependabot.yml
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ version: 2
updates:
- package-ecosystem: "gitsubmodule"
schedule:
interval: "daily"
interval: "weekly"
directory: "/"

- package-ecosystem: "pip"
Expand Down
6 changes: 4 additions & 2 deletions .github/workflows/clang-tidy-review.yml
Original file line number Diff line number Diff line change
Expand Up @@ -22,15 +22,17 @@ jobs:
submodules: true

- name: Run clang-tidy
uses: ZedThree/clang-tidy-review@v0.14.0
uses: ZedThree/clang-tidy-review@v0.19.0
id: review
with:
annotations: true
build_dir: build
apt_packages: "libfftw3-dev,libnetcdf-c++4-dev,libopenmpi-dev,petsc-dev,slepc-dev,liblapack-dev,libparpack2-dev,libsundials-dev,uuid-dev"
config_file: ".clang-tidy"
# Googletest triggers a _lot_ of clang-tidy warnings, so ignore all
# the unit tests until they're fixed or ignored upstream
exclude: "tests/unit/*cxx"
lgtm_comment_body: ''
cmake_command: |
pip install --break-system-packages cmake && \
cmake --version && \
Expand All @@ -46,4 +48,4 @@ jobs:
-DBOUT_UPDATE_GIT_SUBMODULE=OFF
- name: Upload clang-tidy fixes
uses: ZedThree/clang-tidy-review/upload@v0.14.0
uses: ZedThree/clang-tidy-review/upload@v0.19.0
6 changes: 3 additions & 3 deletions .github/workflows/python-package.yml
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ jobs:
fetch-depth: 0
submodules: true
- name: Set up Python
uses: actions/setup-python@v4
uses: actions/setup-python@v5
- name: Install dependencies
run: python -m pip install --upgrade pip &&
pip install --upgrade build &&
Expand Down Expand Up @@ -62,7 +62,7 @@ jobs:
fetch-depth: 0
submodules: true
- name: Set up Python
uses: actions/setup-python@v4
uses: actions/setup-python@v5
- name: Install dependencies
run: python -m pip install --upgrade pip &&
pip install --upgrade build &&
Expand Down Expand Up @@ -111,7 +111,7 @@ jobs:
fetch-depth: 0
submodules: true
- name: Set up Python
uses: actions/setup-python@v4
uses: actions/setup-python@v5
- name: Install dependencies
run: python -m pip install --upgrade pip &&
pip install --upgrade build &&
Expand Down
24 changes: 12 additions & 12 deletions .github/workflows/tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -40,7 +40,7 @@ jobs:
- ${{ github.event_name == 'cron' }}
config:
- name: "CMake, PETSc unreleased, ADIOS2"
os: ubuntu-20.04
os: ubuntu-24.04
cmake_options: "-DBUILD_SHARED_LIBS=ON
-DBOUT_ENABLE_METRIC_3D=ON
-DBOUT_ENABLE_OPENMP=ON
Expand All @@ -58,13 +58,13 @@ jobs:
build_adios2: true
on_cron: true

- name: "Default options, Ubuntu 20.04"
os: ubuntu-20.04
- name: "Default options, Ubuntu 22.04"
os: ubuntu-22.04
cmake_options: ""
on_cron: false

- name: "Optimised, static"
os: ubuntu-20.04
os: ubuntu-latest
cmake_options: "-DCHECK=0
-DBUILD_SHARED_LIBS=OFF
-DCMAKE_CXX_FLAGS=-Ofast
Expand All @@ -78,7 +78,7 @@ jobs:
on_cron: false

- name: "Debug, shared"
os: ubuntu-20.04
os: ubuntu-latest
cmake_options: "-DCHECK=3
-DCMAKE_BUILD_TYPE=Debug
-DBOUT_ENABLE_SIGNAL=ON
Expand All @@ -89,8 +89,8 @@ jobs:
-DSUNDIALS_ROOT=/home/runner/local"
on_cron: false

- name: "Shared, release, Ubuntu 20.04"
os: ubuntu-20.04
- name: "Shared, release"
os: ubuntu-latest
cmake_options: "-DBUILD_SHARED_LIBS=ON
-DBOUT_ENABLE_OPENMP=ON
-DCMAKE_BUILD_TYPE=Release
Expand All @@ -116,7 +116,7 @@ jobs:
on_cron: false

- name: "CMake, new PETSc"
os: ubuntu-20.04
os: ubuntu-latest
cmake_options: "-DBUILD_SHARED_LIBS=ON
-DBOUT_ENABLE_METRIC_3D=ON
-DBOUT_ENABLE_OPENMP=ON
Expand All @@ -131,7 +131,7 @@ jobs:
on_cron: false

- name: "Coverage"
os: ubuntu-20.04
os: ubuntu-latest
cmake_options: "-DBUILD_SHARED_LIBS=ON
-DCMAKE_BUILD_TYPE=Debug
-DCHECK=3
Expand Down Expand Up @@ -183,7 +183,7 @@ jobs:
with:
submodules: true

- uses: actions/setup-python@v4
- uses: actions/setup-python@v5
with:
python-version: '3.x'

Expand All @@ -193,7 +193,7 @@ jobs:
python -m pip install -r requirements.txt
- name: Cache SUNDIALS build
uses: actions/cache@v3
uses: actions/cache@v4
with:
path: /home/runner/local
key: bout-sundials-${{ matrix.config.os }}${{ matrix.config.build_petsc }}
Expand Down Expand Up @@ -224,7 +224,7 @@ jobs:
- name: Upload coverage
if: ${{ matrix.config.name == 'Coverage' }}
uses: codecov/codecov-action@v3
uses: codecov/codecov-action@v4

Fedora:
# This is its own job as it doesn't use most of the steps of the
Expand Down
3 changes: 0 additions & 3 deletions .gitmodules
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,3 @@
[submodule "externalpackages/boutdata"]
path = externalpackages/boutdata
url = https://github.com/boutproject/boutdata.git
[submodule "externalpackages/boututils"]
path = externalpackages/boututils
url = https://github.com/boutproject/boututils.git
68 changes: 68 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,74 @@

### Breaking changes

- The autotools `./configure` build system has been removed
- Parsing of booleans has changed [\#2828][https://github.com/boutproject/BOUT-dev/pull/2828] ([bendudson][https://github.com/bendudson]).
See the [manual page](https://bout-dev.readthedocs.io/en/stable/user_docs/bout_options.html#boolean-expressions) for details.
- Previously, the `Solver` implementations passed the loop counter to
the `iter` argument of `call_monitors`, but since the iteration has
already been completed when the monitors are called, this results in
iter always being one less than the number of completed
monitor-steps at the point when the moniters are called, which is
confusing. Now, monitors are called with the current number of
completed monitor-steps.

## [v5.1.1](https://github.com/boutproject/BOUT-dev/tree/v5.1.1)
[Full Changelog](https://github.com/boutproject/BOUT-dev/compare/v5.1.0...v5.1.1)

- Fix compilation error due to check_c_source_runs [\#2967][https://github.com/boutproject/BOUT-dev/pull/2967] ([mikekryjak][https://github.com/mikekryjak])
- Resolve merge conflict for v5.1.1-rc [\#2964][https://github.com/boutproject/BOUT-dev/pull/2964] ([dschwoerer][https://github.com/dschwoerer])
- Update boutdata and boututils submodules [\#2959][https://github.com/boutproject/BOUT-dev/pull/2959] ([dschwoerer][https://github.com/dschwoerer])
- Small clang-tidy fixes for sundials solvers [\#2953][https://github.com/boutproject/BOUT-dev/pull/2953] ([ZedThree][https://github.com/ZedThree])
- mark fmt::format() const [\#2942][https://github.com/boutproject/BOUT-dev/pull/2942] ([tchaikov][https://github.com/tchaikov])
- CI: Ensure we do not timeout due to slow mirrors [\#2940][https://github.com/boutproject/BOUT-dev/pull/2940] ([dschwoerer][https://github.com/dschwoerer])
- Bump externalpackages/boutdata from `cd0bc40` to `d9b8187` [\#2939][https://github.com/boutproject/BOUT-dev/pull/2939] ([dependabot[bot]][https://github.com/dependabot%5Bbot%5D])
- SUNDIALS v7 support (backport to v5) [\#2937][https://github.com/boutproject/BOUT-dev/pull/2937] ([ZedThree][https://github.com/ZedThree])
- Bump externalpackages/googletest from `33af80a` to `0953a17` [\#2968][https://github.com/boutproject/BOUT-dev/pull/2968] ([dependabot[bot]][https://github.com/dependabot%5Bbot%5D])
- Update netcdf4 requirement from ~=1.6.0 to ~=1.7.1 [\#2960][https://github.com/boutproject/BOUT-dev/pull/2960] ([dependabot[bot]][https://github.com/dependabot%5Bbot%5D])
- Bump ZedThree/clang-tidy-review from 0.18.0 to 0.19.0 [\#2913][https://github.com/boutproject/BOUT-dev/pull/2913] ([dependabot[bot]][https://github.com/dependabot%5Bbot%5D])
- Bump externalpackages/googletest from `5a37b51` to `33af80a` [\#2912][https://github.com/boutproject/BOUT-dev/pull/2912] ([dependabot[bot]][https://github.com/dependabot%5Bbot%5D])
- Bump externalpackages/boututils from `433995f` to `6c22995` [\#2911][https://github.com/boutproject/BOUT-dev/pull/2911] ([dependabot[bot]][https://github.com/dependabot%5Bbot%5D])
- Bump externalpackages/googletest from `b479e7a` to `5a37b51` [\#2906][https://github.com/boutproject/BOUT-dev/pull/2906] ([dependabot[bot]][https://github.com/dependabot%5Bbot%5D])
- Fix name of PVODE Config file [\#2903][https://github.com/boutproject/BOUT-dev/pull/2903] ([dschwoerer][https://github.com/dschwoerer])
- Bump ZedThree/clang-tidy-review from 0.17.0 to 0.18.0 [\#2897][https://github.com/boutproject/BOUT-dev/pull/2897] ([dependabot[bot]][https://github.com/dependabot%5Bbot%5D])
- Bump externalpackages/googletest from `e4fdb87` to `b479e7a` [\#2880][https://github.com/boutproject/BOUT-dev/pull/2880] ([dependabot[bot]][https://github.com/dependabot%5Bbot%5D])
- Bump externalpackages/boutdata from `9e603a2` to `cd0bc40` [\#2879][https://github.com/boutproject/BOUT-dev/pull/2879] ([dependabot[bot]][https://github.com/dependabot%5Bbot%5D])
- Bump externalpackages/googletest from `b75ecf1` to `e4fdb87` [\#2877][https://github.com/boutproject/BOUT-dev/pull/2877] ([dependabot[bot]][https://github.com/dependabot%5Bbot%5D])
- Bump externalpackages/boutdata from `a043a2b` to `9e603a2` [\#2866][https://github.com/boutproject/BOUT-dev/pull/2866] ([dependabot[bot]][https://github.com/dependabot%5Bbot%5D])
- Bump externalpackages/googletest from `dddb219` to `b75ecf1` [\#2864][https://github.com/boutproject/BOUT-dev/pull/2864] ([dependabot[bot]][https://github.com/dependabot%5Bbot%5D])
- Bump codecov/codecov-action from 3 to 4 [\#2860][https://github.com/boutproject/BOUT-dev/pull/2860] ([dependabot[bot]][https://github.com/dependabot%5Bbot%5D])
- Bump ZedThree/clang-tidy-review from 0.14.0 to 0.17.0 [\#2846][https://github.com/boutproject/BOUT-dev/pull/2846] ([dependabot[bot]][https://github.com/dependabot%5Bbot%5D])
- Bump actions/cache from 3 to 4 [\#2845][https://github.com/boutproject/BOUT-dev/pull/2845] ([dependabot[bot]][https://github.com/dependabot%5Bbot%5D])
- Add warnings about SUNDIALS versions <4 [\#2840][https://github.com/boutproject/BOUT-dev/pull/2840] ([Steven-Roberts][https://github.com/Steven-Roberts])
- Do not excessively bump googletest [\#2836][https://github.com/boutproject/BOUT-dev/pull/2836] ([dschwoerer][https://github.com/dschwoerer])
- Remove propietary data (master) [\#2832][https://github.com/boutproject/BOUT-dev/pull/2832] ([dschwoerer][https://github.com/dschwoerer])
- Bump externalpackages/googletest from `829c199` to `dddb219` [\#2830][https://github.com/boutproject/BOUT-dev/pull/2830] ([dependabot[bot]][https://github.com/dependabot%5Bbot%5D])
- Bump externalpackages/boutdata from `908a4c2` to `a043a2b` [\#2827][https://github.com/boutproject/BOUT-dev/pull/2827] ([dependabot[bot]][https://github.com/dependabot%5Bbot%5D])
- CI: Bump actions/setup-python from 4 to 5 [\#2819][https://github.com/boutproject/BOUT-dev/pull/2819] ([dependabot[bot]][https://github.com/dependabot%5Bbot%5D])
- Set oversubscribe flags for openmpi 5 [\#2800][https://github.com/boutproject/BOUT-dev/pull/2800] ([dschwoerer][https://github.com/dschwoerer])
- CI: Replace pip script with requirements.txt [\#2794][https://github.com/boutproject/BOUT-dev/pull/2794] ([ZedThree][https://github.com/ZedThree])
- master branch will be 5.1.1 not 5.2.0 [\#2784][https://github.com/boutproject/BOUT-dev/pull/2784] ([dschwoerer][https://github.com/dschwoerer])
- Bump externalpackages/googletest from `2dd1c13` to `829c199` [\#2782][https://github.com/boutproject/BOUT-dev/pull/2782] ([dependabot[bot]][https://github.com/dependabot%5Bbot%5D])
- Fix test-laplace-petsc3d [\#2781][https://github.com/boutproject/BOUT-dev/pull/2781] ([dschwoerer][https://github.com/dschwoerer])
- CI: user master branch for docker actions [\#2780][https://github.com/boutproject/BOUT-dev/pull/2780] ([dschwoerer][https://github.com/dschwoerer])
- [RTD] add os to read the docs config [\#2779][https://github.com/boutproject/BOUT-dev/pull/2779] ([dschwoerer][https://github.com/dschwoerer])
- CI: Increase shm size in container [\#2777][https://github.com/boutproject/BOUT-dev/pull/2777] ([dschwoerer][https://github.com/dschwoerer])
- Bump externalpackages/fmt from `f0903ad` to `2ac6c5c` [\#2776][https://github.com/boutproject/BOUT-dev/pull/2776] ([dependabot[bot]][https://github.com/dependabot%5Bbot%5D])
- Bump ZedThree/clang-tidy-review from 0.13.1 to 0.14.0 [\#2773][https://github.com/boutproject/BOUT-dev/pull/2773] ([dependabot[bot]][https://github.com/dependabot%5Bbot%5D])
- Bump stefanzweifel/git-auto-commit-action from 4 to 5 [\#2772][https://github.com/boutproject/BOUT-dev/pull/2772] ([dependabot[bot]][https://github.com/dependabot%5Bbot%5D])
- Bump actions/setup-python from 1 to 4 [\#2771][https://github.com/boutproject/BOUT-dev/pull/2771] ([dependabot[bot]][https://github.com/dependabot%5Bbot%5D])
- CI: Run on PETSc developement branch [\#2765][https://github.com/boutproject/BOUT-dev/pull/2765] ([dschwoerer][https://github.com/dschwoerer])
- Prefer dnf5 for fedora CI (master) [\#2764][https://github.com/boutproject/BOUT-dev/pull/2764] ([dschwoerer][https://github.com/dschwoerer])
- Fix sphinx configuration [\#2762][https://github.com/boutproject/BOUT-dev/pull/2762] ([dschwoerer][https://github.com/dschwoerer])
- Bump docker/build-push-action from f2a1d5e99d037542a71f64918e516c093c6f3fc4 to 0f847266c302569530c95bfa228489494c43b002 [\#2761][https://github.com/boutproject/BOUT-dev/pull/2761] ([dependabot[bot]][https://github.com/dependabot%5Bbot%5D])
- Ensure also lower case is accepted [\#2759][https://github.com/boutproject/BOUT-dev/pull/2759] ([dschwoerer][https://github.com/dschwoerer])
- Bump externalpackages/googletest from `6092810` to `2dd1c13` [\#2757][https://github.com/boutproject/BOUT-dev/pull/2757] ([dependabot[bot]][https://github.com/dependabot%5Bbot%5D])
- Add fallback if the version has been bumped bot not tagged [\#2754][https://github.com/boutproject/BOUT-dev/pull/2754] ([dschwoerer][https://github.com/dschwoerer])

## [v5.1.0](https://github.com/boutproject/BOUT-dev/tree/v5.1.0

### Breaking changes

- The autotools `./configure` build system has been removed
- Parsing of booleans has changed [\#2828][https://github.com/boutproject/BOUT-dev/pull/2828] ([bendudson][https://github.com/bendudson]).
See the [manual page](https://bout-dev.readthedocs.io/en/stable/user_docs/bout_options.html#boolean-expressions) for details.
Expand Down
13 changes: 11 additions & 2 deletions CITATION.cff
Original file line number Diff line number Diff line change
Expand Up @@ -188,11 +188,20 @@ authors:
- family-names: Chapman
given-names: Tom

version: 5.1.0
- family-names: Chai
given-names: Kefu
- family-names: Roberts
given-names: Steven
- family-names: Georgakoudis
given-names: Giorgis
- family-names: Kryjak
given-names: Mike

version: 5.1.1
date-released: 2023-04-10
repository-code: https://github.com/boutproject/BOUT-dev
url: http://boutproject.github.io/
doi: 10.5281/zenodo.8369888
doi: 10.5281/zenodo.13753882
license: 'LGPL-3.0-or-later'
references:
- type: article
Expand Down
13 changes: 10 additions & 3 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@ endif()
# CMake currently doesn't support proper semver
# Set the version here, strip any extra tags to use in `project`
# We try to use git to get a full description, inspired by setuptools_scm
set(_bout_previous_version "5.1.0")
set(_bout_previous_version "5.1.1")
set(_bout_next_version "5.2.0")
execute_process(
COMMAND "git" describe --tags --match=v${_bout_previous_version}
Expand Down Expand Up @@ -797,8 +797,15 @@ foreach (flag ${CONFIG_LDFLAGS_LIST})
# message("${flag} is a file")
set(_CONFIG_LDFLAGS "${_CONFIG_LDFLAGS} ${flag}")
else()
message("Fixing ${flag} to -l${flag}")
set(_CONFIG_LDFLAGS "${_CONFIG_LDFLAGS} -l${flag}")
string(FIND "${flag}" "::" hascolcol)
if (${hascolcol} EQUAL -1)
message("Fixing ${flag} to -l${flag}")
set(_CONFIG_LDFLAGS "${_CONFIG_LDFLAGS} -l${flag}")
else()
string(REGEX MATCH "[^:]*$" flag2 "${flag}")
message("Fixing ${flag} to -l${flag2}")
set(_CONFIG_LDFLAGS "${_CONFIG_LDFLAGS} -l${flag2}")
endif()
endif()
endif()
endforeach()
Expand Down
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
[![Build Status](https://github.com/boutproject/BOUT-dev/actions/workflows/tests.yml/badge.svg?branch=next)](https://github.com/boutproject/BOUT-dev/actions)
[![License](https://img.shields.io/badge/license-LGPL-blue.svg)](https://www.gnu.org/licenses/lgpl-3.0.en.html)
[![py3comp](https://img.shields.io/badge/py3-compatible-brightgreen.svg)](https://img.shields.io/badge/py3-compatible-brightgreen.svg)
[![DOI](https://zenodo.org/badge/DOI/10.5281/zenodo.8369888.svg)](https://doi.org/10.5281/zenodo.8369888)
[![DOI](https://zenodo.org/badge/DOI/10.5281/zenodo.13753882.svg)](https://doi.org/10.5281/zenodo.8369888)

```
.______ ______ __ __ .___________.
Expand Down
Loading

0 comments on commit a19c9e8

Please sign in to comment.