Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
24 commits
Select commit Hold shift + click to select a range
5d37597
Move the `EXCLUDE_FROM_ALL` inwards in the manual
LecrisUT Jun 23, 2025
51bef96
Fix the environment setting
LecrisUT Jun 23, 2025
bb08c43
Bump externalpackages/googletest from `244cec8` to `1b96fa1`
dependabot[bot] Nov 17, 2025
de23167
Bump ZedThree/clang-tidy-review from 0.21.0 to 0.22.2
dependabot[bot] Nov 24, 2025
85a0367
Bump actions/checkout from 5 to 6
dependabot[bot] Nov 24, 2025
f222d36
Merge pull request #3214 from boutproject/dependabot/github_actions/a…
ZedThree Dec 1, 2025
690596b
Merge pull request #3213 from boutproject/dependabot/github_actions/Z…
ZedThree Dec 1, 2025
21a336e
Merge pull request #3204 from boutproject/dependabot/submodules/exter…
ZedThree Dec 1, 2025
666d0e6
Bump actions/cache from 4 to 5
dependabot[bot] Dec 15, 2025
4b86f92
Bump externalpackages/googletest from `1b96fa1` to `9156d4c`
dependabot[bot] Dec 22, 2025
cbea5c5
Bump ZedThree/clang-tidy-review from 0.22.2 to 0.22.3
dependabot[bot] Dec 22, 2025
020f6eb
Merge pull request #3231 from boutproject/dependabot/github_actions/Z…
bendudson Dec 29, 2025
f8453ac
Merge pull request #3230 from boutproject/dependabot/submodules/exter…
bendudson Dec 29, 2025
236437b
Update ruamel-yaml requirement from ~=0.18 to ~=0.19
dependabot[bot] Dec 31, 2025
1c8e681
Merge pull request #3232 from boutproject/dependabot/pip/ruamel-yaml-…
ZedThree Jan 5, 2026
c430a26
Bump ZedThree/clang-tidy-review from 0.22.3 to 0.23.0
dependabot[bot] Jan 5, 2026
bce84aa
Merge pull request #3111 from LecrisUT/patch-1
ZedThree Jan 7, 2026
6d37f73
Merge pull request #3234 from boutproject/dependabot/github_actions/Z…
ZedThree Jan 7, 2026
63502e9
Merge pull request #3229 from boutproject/dependabot/github_actions/a…
ZedThree Jan 7, 2026
5374e24
Bump externalpackages/boutdata from `7164a89` to `962d5a5`
dependabot[bot] Jan 13, 2026
ddb8855
Merge pull request #3247 from boutproject/dependabot/submodules/exter…
bendudson Jan 15, 2026
c319860
Merge branch 'master' into bump-deps
ZedThree Jan 19, 2026
79d6ed0
cmake: Bump netcdf-cxx4 `FetchContent` version
ZedThree Jan 19, 2026
e2f03be
Apply black changes
ZedThree Jan 19, 2026
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 .github/workflows/black-fix.yml
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ jobs:
runs-on: ubuntu-latest

steps:
- uses: actions/checkout@v5
- uses: actions/checkout@v6
with:
ref: ${{ github.head_ref }}

Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/clang-format.yml
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ jobs:
runs-on: ubuntu-latest
steps:
# Checkout the pull request branch, also include all history
- uses: actions/checkout@v5
- uses: actions/checkout@v6
with:
ref: ${{ github.head_ref }}
fetch-depth: 0
Expand Down
6 changes: 3 additions & 3 deletions .github/workflows/clang-tidy-review.yml
Original file line number Diff line number Diff line change
Expand Up @@ -16,12 +16,12 @@ jobs:
if: ${{ !endsWith(github.head_ref, '-rc') }}
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v5
- uses: actions/checkout@v6
with:
submodules: true

- name: Run clang-tidy
uses: ZedThree/clang-tidy-review@v0.21.0
uses: ZedThree/clang-tidy-review@v0.23.0
id: review
with:
build_dir: build
Expand All @@ -46,4 +46,4 @@ jobs:
-DBOUT_UPDATE_GIT_SUBMODULE=OFF

- name: Upload clang-tidy fixes
uses: ZedThree/clang-tidy-review/upload@v0.21.0
uses: ZedThree/clang-tidy-review/upload@v0.23.0
2 changes: 1 addition & 1 deletion .github/workflows/docker.yml
Original file line number Diff line number Diff line change
Expand Up @@ -52,7 +52,7 @@ jobs:

steps:
- name: Checkout repository
uses: actions/checkout@v5
uses: actions/checkout@v6

- name: Log in to the Container registry
uses: docker/login-action@master
Expand Down
6 changes: 3 additions & 3 deletions .github/workflows/python-package.yml
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ jobs:
if: always()

steps:
- uses: actions/checkout@v5
- uses: actions/checkout@v6
with:
fetch-depth: 0
submodules: true
Expand Down Expand Up @@ -57,7 +57,7 @@ jobs:
if: always()

steps:
- uses: actions/checkout@v5
- uses: actions/checkout@v6
with:
fetch-depth: 0
submodules: true
Expand Down Expand Up @@ -106,7 +106,7 @@ jobs:
if: always()

steps:
- uses: actions/checkout@v5
- uses: actions/checkout@v6
with:
fetch-depth: 0
submodules: true
Expand Down
8 changes: 4 additions & 4 deletions .github/workflows/tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -168,7 +168,7 @@ jobs:
libparpack2-dev
libhypre-dev

- uses: actions/checkout@v5
- uses: actions/checkout@v6
with:
submodules: true

Expand All @@ -182,7 +182,7 @@ jobs:
python -m pip install -r requirements.txt

- name: Cache SUNDIALS build
uses: actions/cache@v4
uses: actions/cache@v5
with:
path: /home/runner/local
key: bout-sundials-${{ matrix.config.os }}${{ matrix.config.build_petsc }}
Expand All @@ -205,7 +205,7 @@ jobs:
timeout-minutes: 120
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v5
- uses: actions/checkout@v6
with:
submodules: true
- name: Build Fedora
Expand All @@ -219,7 +219,7 @@ jobs:
container: ghcr.io/ggeorgakoudis/boutdev-cuda:latest

steps:
- uses: actions/checkout@v5
- uses: actions/checkout@v6
with:
submodules: true
- name: Build minimal CUDA 12.2 @ GCC9.4.0 @ Ubuntu 20.04
Expand Down
2 changes: 1 addition & 1 deletion CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -741,7 +741,7 @@ endif()

option(BOUT_BUILD_DOCS "Build the documentation" OFF)
if (BOUT_BUILD_DOCS)
add_subdirectory(manual EXCLUDE_FROM_ALL)
add_subdirectory(manual)
endif()


Expand Down
12 changes: 4 additions & 8 deletions bin/bout-add-mod-path
Original file line number Diff line number Diff line change
Expand Up @@ -104,8 +104,7 @@ def create_mod(modulepath, name, top, build):
else:
prereq = ""
with open(filename, "w") as f:
f.write(
f"""#%Module 1.0
f.write(f"""#%Module 1.0
#
# BOUT++ module for use with 'environment-modules' package
# Created by bout-add-mod-path v0.9
Expand All @@ -119,17 +118,14 @@ setenv BOUT_TOP {top}
prepend-path PATH {top}/bin
prepend-path PYTHONPATH {top}/tools/pylib
prepend-path IDL_PATH +{top}/tools/idllib:'<IDL_DEFAULT>'
"""
)
""")
if build != top:
f.write(
f"""#%Module 1.0
f.write(f"""#%Module 1.0
setenv BOUT_BUILD {build}
prepend-path PATH {build}/bin
prepend-path LD_LIBRARY_PATH {build}/lib
prepend-path PYTHONPATH {build}/tools/pylib
"""
)
""")
print(f"created `{filename}`")


Expand Down
31 changes: 10 additions & 21 deletions bin/bout-pylib-cmd-to-bin
Original file line number Diff line number Diff line change
Expand Up @@ -126,8 +126,7 @@ def createwrapper(mod, func_name, func, name):
out += end
f.write(out)

fprint(
"""#!/usr/bin/env python3
fprint("""#!/usr/bin/env python3
# PYTHON_ARGCOMPLETE_OK

import argparse
Expand All @@ -136,8 +135,7 @@ try:
except ImportError:
argcomplete=None

"""
)
""")
doc = True
para = False
ret = False
Expand Down Expand Up @@ -183,19 +181,16 @@ except ImportError:
arg_help[curarg].append(esc(blas))
# Print functions that are needed
if "str_to_slice" in arg_type.values():
fprint(
"""
fprint("""
def str_to_slice(sstr):
args=[]
for s in sstr.split(','):
args.append(int(s))
print(args)
return slice(*args)
"""
)
""")
if "str_to_bool" in arg_type.values():
fprint(
"""
fprint("""
def str_to_bool(sstr):
low=sstr.lower()
# no or false
Expand All @@ -206,8 +201,7 @@ def str_to_bool(sstr):
return True
else:
raise ArgumentTypeError("Cannot parse %s to bool type"%sstr)
"""
)
""")
# Create the parser
fprint("parser = argparse.ArgumentParser(%s)" % (esc(docs)))
spec = inspect.signature(func)
Expand Down Expand Up @@ -247,24 +241,19 @@ def str_to_bool(sstr):
pre = "\n "
fprint(")")

fprint(
"""
fprint("""
if argcomplete:
argcomplete.autocomplete(parser)

# late import for faster auto-complete"""
)
# late import for faster auto-complete""")
fprint("from %s import %s" % (mod, func_name))
fprint(
"""
fprint("""
args = parser.parse_args()

# Call the function %s, using command line arguments
%s(**args.__dict__)

"""
% (func_name, func_name)
)
""" % (func_name, func_name))
# alternative, but I think 0o755 is easier to read
# import stat
# os.chmod(filename,stat.S_IRWXU|stat.S_IRGRP|stat.S_IXGRP|stat.S_IROTH|stat.S_IXOTH)
Expand Down
21 changes: 5 additions & 16 deletions bin/bout-v5-factory-upgrader.py
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,6 @@
import difflib
import re


# Dictionary of factory methods that may need updating
factories = {
"Interpolation": {
Expand Down Expand Up @@ -62,9 +61,7 @@ def find_factory_calls(factory, source):
\s*=\s*
{factory_name}::
.*{create_method}.*
""".format(
**factory
),
""".format(**factory),
source,
re.VERBOSE,
)
Expand All @@ -75,9 +72,7 @@ def find_type_pointers(factory, source):
r"""
\b{type_name}\s*\*\s* # Type name and pointer
([\w_]+)\s*; # Variable name
""".format(
**factory
),
""".format(**factory),
source,
re.VERBOSE,
)
Expand Down Expand Up @@ -107,9 +102,7 @@ def fix_declarations(factory, variables, source):
(.*?)(class\s*)? # optional "class" keyword
\b({type_name})\s*\*\s* # Type-pointer
({variable_name})\s*; # Variable
""".format(
type_name=factory["type_name"], variable_name=variable
),
""".format(type_name=factory["type_name"], variable_name=variable),
r"\1std::unique_ptr<\3> \4{nullptr};",
source,
flags=re.VERBOSE,
Expand All @@ -123,9 +116,7 @@ def fix_declarations(factory, variables, source):
({variable_name})\s* # Variable
=\s* # Assignment from factory
({factory_name}::.*{create_method}.*);
""".format(
variable_name=variable, **factory
),
""".format(variable_name=variable, **factory),
r"\1auto \4 = \5;",
source,
flags=re.VERBOSE,
Expand All @@ -139,9 +130,7 @@ def fix_declarations(factory, variables, source):
({variable_name})\s* # Variable
=\s* # Assignment
(0|nullptr|NULL);
""".format(
variable_name=variable, **factory
),
""".format(variable_name=variable, **factory),
r"\1std::unique_ptr<\2> \3{nullptr};",
source,
flags=re.VERBOSE,
Expand Down
1 change: 0 additions & 1 deletion bin/bout-v5-format-upgrader.py
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,6 @@
import difflib
import re


format_replacements = {
"c": "c",
"d": "d",
Expand Down
7 changes: 2 additions & 5 deletions bin/bout-v5-header-upgrader.py
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,6 @@
from typing import List
from subprocess import run


header_shim_sentinel = "// BOUT++ header shim"

header_warning = f"""\
Expand Down Expand Up @@ -122,8 +121,7 @@ def create_patch(filename, original, modified):
if __name__ == "__main__":
parser = argparse.ArgumentParser(
formatter_class=argparse.RawDescriptionHelpFormatter,
description=textwrap.dedent(
"""\
description=textwrap.dedent("""\
Fix deprecated header locations for BOUT++ v4 -> v5

All BOUT++ headers are now under ``include/bout`` and
Expand All @@ -142,8 +140,7 @@ def create_patch(filename, original, modified):
If you have staged changes, this tool will not work, so to
avoid committing undesired or unrelated changes.

"""
),
"""),
)

parser.add_argument(
Expand Down
6 changes: 2 additions & 4 deletions bin/bout-v5-input-file-upgrader.py
Original file line number Diff line number Diff line change
Expand Up @@ -271,8 +271,7 @@ def possibly_apply_patch(patch, options_file, quiet=False, force=False):
if __name__ == "__main__":
parser = argparse.ArgumentParser(
formatter_class=argparse.RawDescriptionHelpFormatter,
description=textwrap.dedent(
"""\
description=textwrap.dedent("""\
Fix input files for BOUT++ v5+

Please note that this will only fix input options in sections with
Expand Down Expand Up @@ -300,8 +299,7 @@ def possibly_apply_patch(patch, options_file, quiet=False, force=False):

Files that change in this way will have the "canonicalisation" patch
presented first. If you choose not to apply this patch, the "upgrade
fixer" patch will still include it."""
),
fixer" patch will still include it."""),
)

parser.add_argument("files", action="store", nargs="+", help="Input files")
Expand Down
6 changes: 2 additions & 4 deletions bin/bout-v5-macro-upgrader.py
Original file line number Diff line number Diff line change
Expand Up @@ -342,8 +342,7 @@ def create_patch(filename, original, modified):
if __name__ == "__main__":
parser = argparse.ArgumentParser(
formatter_class=argparse.RawDescriptionHelpFormatter,
description=textwrap.dedent(
"""\
description=textwrap.dedent("""\
Fix macro defines for BOUT++ v4 -> v5

Please note that this is only slightly better than dumb text replacement. It
Expand All @@ -359,8 +358,7 @@ def create_patch(filename, original, modified):
still replace them in strings or comments.

Please check the diff output carefully!
"""
),
"""),
)

parser.add_argument("files", action="store", nargs="+", help="Input files")
Expand Down
Loading
Loading