Skip to content

Commit 54eb542

Browse files
committed
Merge branch 'develop' into feature/FDB-528-FAM-catalogue
2 parents dd8095b + aa3e626 commit 54eb542

File tree

545 files changed

+26208
-3220
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

545 files changed

+26208
-3220
lines changed

.clang-format

Lines changed: 25 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,7 @@ BreakConstructorInitializers: AfterColon
4343
BreakAfterJavaFieldAnnotations: false
4444
BreakStringLiterals: true
4545
ColumnLimit: 120
46-
CommentPragmas: '^ IWYU pragma:'
46+
CommentPragmas: "^ IWYU pragma:"
4747
CompactNamespaces: false
4848
ConstructorInitializerAllOnOneLineOrOnePerLine: true
4949
ConstructorInitializerIndentWidth: 4
@@ -59,20 +59,39 @@ ForEachMacros:
5959
- foreach
6060
- Q_FOREACH
6161
- BOOST_FOREACH
62+
IncludeBlocks: Regroup
6263
IncludeCategories:
6364
- Regex: '^<.*\.h>'
6465
Priority: 1
65-
- Regex: '^<.*'
66+
- Regex: '^<.*\.hpp>'
6667
Priority: 2
67-
- Regex: '.*'
68+
- Regex: "<[[:alnum:]._]+>"
6869
Priority: 3
69-
IncludeIsMainRegex: '([-_](test|unittest))?$'
70+
- Regex: '^((<|")(gtest|gmock|isl|json)/)'
71+
Priority: 4
72+
- Regex: '^"eccodes\/.*\.h"'
73+
Priority: 5
74+
- Regex: '^"eckit\/.*\.h"'
75+
Priority: 6
76+
- Regex: '^"odc\/.*\.h"'
77+
Priority: 7
78+
- Regex: '^"metkit\/.*\.h"'
79+
Priority: 8
80+
- Regex: '^"atlas\/.*\.h"'
81+
Priority: 9
82+
- Regex: '^"mir\/.*\.h"'
83+
Priority: 10
84+
- Regex: '^"fdb5\/.*\.h"'
85+
Priority: 11
86+
- Regex: ".*"
87+
Priority: 1
88+
IncludeIsMainRegex: "([-_](test|unittest))?$"
7089
IndentCaseLabels: true
7190
IndentWidth: 4
7291
IndentWrappedFunctionNames: false
7392
KeepEmptyLinesAtTheStartOfBlocks: true
74-
MacroBlockBegin: ''
75-
MacroBlockEnd: ''
93+
MacroBlockBegin: ""
94+
MacroBlockEnd: ""
7695
MaxEmptyLinesToKeep: 2
7796
NamespaceIndentation: None
7897
PenaltyBreakAssignment: 2

.clang-tidy

Lines changed: 72 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -1,19 +1,76 @@
11
---
2-
UseColor: On
3-
Checks: >-
2+
Checks: >
43
-*,
5-
readability-delete-null-pointer,
6-
bugprone-assignment-in-if-condition,
7-
bugprone-bool-pointer-implicit-conversion,
8-
bugprone-casting-through-void,
9-
bugprone-parent-virtual-call,
10-
bugprone-unused-return-value,
11-
bugprone-use-after-move,
4+
bugprone-*,
5+
performance-*,
6+
cppcoreguidelines-*,
7+
altera-*,
8+
clang-analyzer-*,
9+
google-*,
10+
llvm-*,
11+
misc-*,
12+
modernize-*,
13+
portability-*,
14+
readability-*,
15+
-cppcoreguidelines-pro-type-union-access,
16+
-altera-unroll-loops,
17+
-altera-struct-pack-align,
18+
-llvm-header-guard,
19+
-modernize-use-nodiscard,
20+
-modernize-use-trailing-return-type,
21+
-readability-redundant-access-specifiers,
1222
23+
# Turn all the warnings from the checks above into errors.
24+
# WarningsAsErrors: '*'
25+
WarningsAsErrors: ""
26+
FormatStyle: "file"
27+
HeaderFileExtensions: ["", "h", "hh", "hpp", "hxx"]
28+
SystemHeaders: false
29+
ImplementationFileExtensions: ["c", "cc", "cpp", "cxx"]
30+
HeaderFilterRegex: ""
1331

14-
WarningsAsErrors: false
15-
HeaderFileExtensions: ['', 'h','hh','hpp','hxx']
16-
ImplementationFileExtensions: ['c','cc','cpp','cxx']
17-
HeaderFilterRegex: '.*'
18-
FormatStyle: none
19-
InheritParentConfig: false
32+
CheckOptions:
33+
- { key: readability-implicit-bool-conversion.AllowPointerConditions, value: true }
34+
#
35+
- { key: readability-identifier-naming.ClassCase, value: CamelCase }
36+
- { key: readability-identifier-naming.StructCase, value: CamelCase }
37+
- { key: readability-identifier-naming.TemplateParameterCase, value: CamelCase }
38+
#
39+
- { key: readability-identifier-naming.FunctionCase, value: camelBack }
40+
- { key: readability-identifier-naming.VariableCase, value: camelBack }
41+
- { key: readability-identifier-naming.ParameterCase, value: camelBack }
42+
#
43+
- { key: readability-identifier-naming.ClassMember, value: camelBack }
44+
- { key: readability-identifier-naming.ClassMemberSuffix, value: "_" }
45+
- { key: readability-identifier-naming.PublicMember, value: camelBack }
46+
- { key: readability-identifier-naming.PrivateMemberCase, value: camelBack }
47+
- { key: readability-identifier-naming.PrivateMemberSuffix, value: "_" }
48+
- { key: readability-identifier-naming.ProtectedMemberCase, value: camelBack }
49+
- { key: readability-identifier-naming.ProtectedMemberSuffix, value: "_" }
50+
- { key: readability-identifier-naming.StaticMethodCase, value: camelBack }
51+
#
52+
- { key: readability-identifier-naming.MacroDefinitionCase, value: UPPER_CASE }
53+
- { key: readability-identifier-naming.EnumConstantCase, value: UPPER_CASE }
54+
#
55+
- { key: readability-identifier-naming.NamespaceCase, value: lower_case }
56+
- { key: readability-identifier-naming.ConstexprVariableCase, value: lower_case }
57+
- { key: readability-identifier-naming.GlobalVariableCase, value: lower_case }
58+
- { key: readability-identifier-naming.GlobalFunctionCase, value: camelBack }
59+
- { key: readability-braces-around-statements.ShortStatementLines, value: "0" }
60+
61+
- { key: cppcoreguidelines-avoid-do-while.IgnoreMacros, value: true }
62+
- { key: cppcoreguidelines-use-default-member-init.UseAssignment, value: true }
63+
64+
- { key: llvm-namespace-comment.ShortNamespaceLines, value: "2" }
65+
66+
- { key: google-readability-function-size.StatementThreshold, value: "800" }
67+
68+
- { key: modernize-loop-convert.MaxCopySize, value: "16" }
69+
- { key: modernize-loop-convert.MinConfidence, value: reasonable }
70+
- { key: modernize-loop-convert.NamingStyle, value: CamelCase }
71+
- { key: modernize-pass-by-value.IncludeStyle, value: llvm }
72+
- { key: modernize-replace-auto-ptr.IncludeStyle, value: llvm }
73+
- { key: modernize-use-default-member-init.UseAssignment, value: true }
74+
- { key: modernize-use-nullptr.NullMacros, value: "NULL" }
75+
76+
- { key: misc-non-private-member-variables-in-classes.IgnorePublicMemberVariables, value: true }
Lines changed: 56 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,56 @@
1+
name: Create Ubuntu Rolling FDB build environment
2+
3+
on:
4+
workflow_dispatch:
5+
schedule:
6+
- cron: '45 4 * * *' # Every day at 4:45 AM UTC
7+
push:
8+
branches:
9+
- develop
10+
paths:
11+
- 'containerfiles/ubuntu_rolling_fdb_build_env/**'
12+
pull_request:
13+
paths:
14+
- 'containerfiles/ubuntu_rolling_fdb_build_env/**'
15+
16+
env:
17+
REGISTRY: eccr.ecmwf.int
18+
IMAGE_NAME: ubuntu_rolling_fdb_build_env
19+
PROJECT_NAME: ci-utils
20+
21+
jobs:
22+
build-and-push:
23+
runs-on: [self-hosted, Linux, platform-builder-docker]
24+
permissions:
25+
contents: read
26+
27+
steps:
28+
- name: Checkout repository
29+
uses: actions/checkout@v5
30+
31+
- name: Log in to ECCR
32+
uses: docker/login-action@v3
33+
with:
34+
registry: ${{ env.REGISTRY }}
35+
username: ${{ secrets.ECMWF_DOCKER_REGISTRY_USERNAME }}
36+
password: ${{ secrets.ECMWF_DOCKER_REGISTRY_ACCESS_TOKEN }}
37+
38+
- name: Extract metadata (tags, labels)
39+
id: meta
40+
uses: docker/metadata-action@v5
41+
with:
42+
images: ${{ env.REGISTRY }}/${{ env.PROJECT_NAME }}/${{ env.IMAGE_NAME }}
43+
tags: |
44+
type=sha
45+
type=raw,value=latest,enable={{is_default_branch}}
46+
47+
- name: Set up Docker Buildx
48+
uses: docker/setup-buildx-action@v3
49+
50+
- name: Build and push Docker image
51+
uses: docker/build-push-action@v5
52+
with:
53+
context: ./containerfiles/ubuntu_rolling_fdb_build_env
54+
file: ./containerfiles/ubuntu_rolling_fdb_build_env/Dockerfile
55+
push: true
56+
tags: ${{ steps.meta.outputs.tags }}

.github/workflows/ci.yml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,8 @@ jobs:
2929
fdb: ecmwf/fdb@${{ github.event.pull_request.head.sha || github.sha }}
3030
codecov_upload: true
3131
clang_format: true
32+
clang_format_ignore: |
33+
third_party
3234
secrets: inherit
3335

3436
# Run CI of private downstream packages on self-hosted runners

.github/workflows/docs.yml

Lines changed: 11 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ on:
99
tags:
1010
- '**'
1111
jobs:
12-
build:
12+
build-fdb:
1313
if: ${{ github.event_name == 'pull_request' && github.event.action != 'closed' || github.event_name == 'push'}}
1414
runs-on: ubuntu-latest
1515
outputs:
@@ -35,21 +35,22 @@ jobs:
3535
id: upload-doc
3636
uses: actions/upload-artifact@v4
3737
with:
38-
name: documentation
38+
name: documentation-fdb
3939
path: docs_out/sphinx
40-
preview-publish:
40+
preview-publish-fdb:
4141
if: ${{ github.event_name == 'pull_request' && github.event.action != 'closed' }}
42-
needs: build
42+
needs: build-fdb
4343
uses: ecmwf/reusable-workflows/.github/workflows/pr-preview-publish.yml@main
4444
with:
45-
artifact-id: ${{ needs.build.outputs.artifact-id }}
45+
artifact-id: ${{ needs.build-fdb.outputs.artifact-id }}
4646
space: docs
4747
name: dev-section
4848
path: fdb/pull-requests
49-
link-text: 🌈🌦️📖🚧 Documentation 🚧📖🌦️🌈
49+
link-tag: PREVIEW-PUBLISH-FDB
50+
link-text: 🌈🌦️📖🚧 Documentation FDB 🚧📖🌦️🌈
5051
secrets:
5152
sites-token: ${{ secrets.ECMWF_SITES_DOCS_DEV_SECTION_TOKEN }}
52-
preview-unpublish:
53+
preview-unpublish-fdb:
5354
if: ${{ github.event_name == 'pull_request' && github.event.action == 'closed' }}
5455
uses: ecmwf/reusable-workflows/.github/workflows/pr-preview-unpublish.yml@main
5556
with:
@@ -58,17 +59,17 @@ jobs:
5859
path: fdb/pull-requests
5960
secrets:
6061
sites-token: ${{ secrets.ECMWF_SITES_DOCS_DEV_SECTION_TOKEN }}
61-
publish:
62+
publish-fdb:
6263
if: >-
6364
${{ github.event_name == 'push' && (
6465
github.ref_name == 'develop' ||
6566
github.ref_name == 'master' ||
6667
github.ref_type == 'tag'
6768
) }}
68-
needs: build
69+
needs: build-fdb
6970
uses: ecmwf/reusable-workflows/.github/workflows/docs-publish.yml@main
7071
with:
71-
artifact-id: ${{ needs.build.outputs.artifact-id }}
72+
artifact-id: ${{ needs.build-fdb.outputs.artifact-id }}
7273
space: docs
7374
name: dev-section
7475
path: fdb

0 commit comments

Comments
 (0)