Skip to content

Commit

Permalink
Merge branch 'release/1.25.0'
Browse files Browse the repository at this point in the history
  • Loading branch information
danovaro committed Dec 11, 2023
2 parents b6573ac + 35e90b8 commit 68bfaf1
Show file tree
Hide file tree
Showing 143 changed files with 10,665 additions and 521 deletions.
4 changes: 1 addition & 3 deletions .clang-format
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@ BraceWrapping:
SplitEmptyFunction: true
SplitEmptyRecord: true
SplitEmptyNamespace: true
BreakBeforeBinaryOperators: None
BreakBeforeBinaryOperators: All
BreakBeforeBraces: Custom
BreakBeforeInheritanceComma: false
BreakBeforeTernaryOperators: true
Expand Down Expand Up @@ -103,6 +103,4 @@ SpacesInSquareBrackets: false
Standard: Auto
TabWidth: 4
UseTab: Never
BreakBeforeBinaryOperators: All
ColumnLimit: 0
...
11 changes: 11 additions & 0 deletions .github/workflows/cd.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
name: cd

on:
push:
tags:
- '**'

jobs:
deploy:
uses: ecmwf-actions/reusable-workflows/.github/workflows/create-package.yml@v2
secrets: inherit
16 changes: 4 additions & 12 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -4,10 +4,10 @@ on:
# Trigger the workflow on push to master or develop, except tag creation
push:
branches:
- "master"
- "develop"
- 'master'
- 'develop'
tags-ignore:
- "**"
- '**'

# Trigger the workflow on pull request
pull_request: ~
Expand All @@ -27,6 +27,7 @@ jobs:
uses: ecmwf-actions/downstream-ci/.github/workflows/downstream-ci.yml@main
with:
eckit: ecmwf/eckit@${{ github.event.pull_request.head.sha || github.sha }}
codecov_upload: true
secrets: inherit

# Run CI of private downstream packages on self-hosted runners
Expand Down Expand Up @@ -73,12 +74,3 @@ jobs:
repository: private-downstream-ci
event_type: downstream-ci-hpc
payload: '{"eckit": "ecmwf/eckit@${{ github.event.pull_request.head.sha || github.sha }}"}'

codecov:
name: code-coverage
if: ${{ !github.event.pull_request.head.repo.fork && github.event.action != 'labeled' || github.event.label.name == 'approved-for-ci' }}
uses: ./.github/workflows/reusable-ci.yml
with:
eckit: ecmwf/eckit@${{ github.event.pull_request.head.sha || github.sha }}
codecov: true
secrets: inherit
22 changes: 0 additions & 22 deletions .github/workflows/reusable-ci-hpc.yml

This file was deleted.

28 changes: 0 additions & 28 deletions .github/workflows/reusable-ci.yml

This file was deleted.

9 changes: 9 additions & 0 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@

########################################################################################################################


cmake_minimum_required( VERSION 3.12 FATAL_ERROR )

find_package( ecbuild 3.7 REQUIRED HINTS ${CMAKE_CURRENT_SOURCE_DIR} ${CMAKE_CURRENT_SOURCE_DIR}/../ecbuild)
Expand Down Expand Up @@ -142,6 +143,14 @@ ecbuild_add_option( FEATURE AEC
ecbuild_add_option( FEATURE XXHASH
DESCRIPTION "xxHash support for hashing" )

### Codec options

ecbuild_add_option( FEATURE ECKIT_CODEC
DEFAULT OFF
DESCRIPTION "Encoding/Decoding library ported from atlas_io" )

set( eckit_CODEC_STATIC_ASSERT ON CACHE BOOL "eckit::codec static assertions" )

### LAPACK

if( eckit_HAVE_MKL )
Expand Down
5 changes: 4 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ eckit
Project home: https://software.ecmwf.int/wiki/display/ECKIT


ecKit is a cross-platform c++ toolkit that supports development of tools and applications at ECMWF.
ecKit is a cross-platform C++ toolkit that supports development of tools and applications at ECMWF.
It is based on code developed over the last 20 years within the MARS software and was re-factored out to be reused by other applications.
It provides a an abstraction layer on top of the operating system, so it is easier to port code to new architectures.
It is developed taking into account the robustness requirements of running production systems at ECMWF.
Expand All @@ -22,6 +22,7 @@ It features facilities to easily handle, in a cross-platform way:
* multi-threading
* json and yaml parsing
* object serialization and persistence
* object serialization supporting compression, to and from file and network
* configuration of user options and resources
* file-system abstraction
* regular expressions
Expand All @@ -37,6 +38,7 @@ It features facilities to easily handle, in a cross-platform way:
* space partition trees
* file-mapped arrays


Requirements
------------

Expand All @@ -53,6 +55,7 @@ Required dependencies:
- ecbuild --- ECMWF library of CMake macros
- Perl5 --- For some code generation


Installation
------------

Expand Down
2 changes: 1 addition & 1 deletion VERSION
Original file line number Diff line number Diff line change
@@ -1 +1 @@
1.24.6
1.25.0
25 changes: 17 additions & 8 deletions src/eckit/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -686,6 +686,7 @@ list( APPEND eckit_utils_srcs
utils/MD5.h
utils/EnumBitmask.h
utils/Optional.h
utils/Overloaded.h
utils/RLE.cc
utils/RLE.h
utils/Regex.cc
Expand Down Expand Up @@ -876,22 +877,25 @@ foreach( dir ${eckit_dirs} )
endforeach()

list( APPEND eckit_templates
container/BTree.cc
container/BloomFilter.cc
container/CacheLRU.cc
container/MappedArray.cc
container/SharedMemArray.cc
container/Trie.cc
container/bsptree/BSPNode.cc
container/kdtree/KDNode.cc
container/sptree/SPNode.cc
filesystem/BasePathNameT.cc
io/FileBase.cc
option/FactoryOption.cc
option/SimpleOption.cc
option/VectorOption.cc
runtime/PipeHandler.cc
serialisation/Reanimator.cc
transaction/TxnLog.cc
types/Types.cc
utils/RLE.cc
container/BTree.cc
container/BloomFilter.cc
container/MappedArray.cc
container/SharedMemArray.cc
container/Trie.cc
container/bsptree/BSPNode.cc
)

list( APPEND eckit_persistent
Expand Down Expand Up @@ -962,11 +966,11 @@ ecbuild_add_library(
### sub-directories

if( HAVE_ECKIT_CMD )
add_subdirectory( cmd )
add_subdirectory( cmd )
endif()

if( HAVE_ECKIT_SQL )
add_subdirectory( sql )
add_subdirectory( sql )
endif()

add_subdirectory( distributed )
Expand All @@ -976,3 +980,8 @@ add_subdirectory( maths )
add_subdirectory( mpi )
add_subdirectory( option )
add_subdirectory( web )

if( HAVE_ECKIT_CODEC )
add_subdirectory( codec )
endif()

2 changes: 1 addition & 1 deletion src/eckit/cmd/CmdParser.cc
Original file line number Diff line number Diff line change
Expand Up @@ -227,7 +227,7 @@ void CmdParser::historize() {
//----------------------------------------------------------------------------------------------------------------------

void CmdParser::shell(const std::string& s) {
int ret = 0;
[[maybe_unused]] int ret = 0;
if (not s.empty()) {
ret = ::system(s.c_str());
}
Expand Down
96 changes: 96 additions & 0 deletions src/eckit/codec/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,96 @@

configure_file( eckit_codec_config.h.in ${CMAKE_CURRENT_BINARY_DIR}/eckit_codec_config.h @ONLY )
install(
FILES ${CMAKE_CURRENT_BINARY_DIR}/eckit_codec_config.h
DESTINATION ${INSTALL_INCLUDE_DIR}/eckit
)

ecbuild_add_library(
TARGET eckit_codec

INSTALL_HEADERS ALL
HEADER_DESTINATION ${INSTALL_INCLUDE_DIR}/eckit/codec
PUBLIC_LIBS eckit
PUBLIC_INCLUDES
$<BUILD_INTERFACE:${PROJECT_SOURCE_DIR}/src>
$<BUILD_INTERFACE:${PROJECT_BINARY_DIR}/src>

SOURCES
${CMAKE_CURRENT_BINARY_DIR}/eckit_codec_config.h
Data.cc
Data.h
Exceptions.cc
Exceptions.h
FileStream.cc
FileStream.h
Metadata.cc
Metadata.h
ReadRequest.cc
ReadRequest.h
Record.cc
Record.h
RecordItem.cc
RecordItem.h
RecordItemReader.cc
RecordItemReader.h
RecordPrinter.cc
RecordPrinter.h
RecordReader.cc
RecordReader.h
RecordWriter.cc
RecordWriter.h
Session.cc
Session.h
Stream.cc
Stream.h
codec.h
detail/Base64.cc
detail/Base64.h
detail/Checksum.cc
detail/Checksum.h
detail/DataInfo.h
detail/DataType.cc
detail/DataType.h
detail/Decoder.cc
detail/Decoder.h
detail/Defaults.h
detail/demangle.cc
detail/demangle.h
detail/Encoder.cc
detail/Encoder.h
detail/Endian.h
detail/Link.cc
detail/Link.h
detail/NoConfig.h
detail/ParsedRecord.h
detail/RecordInfo.h
detail/RecordSections.h
detail/Reference.h
detail/StaticAssert.h
detail/Time.cc
detail/Time.h
detail/Type.h
detail/TypeTraits.h
detail/Version.h
detail/sfinae.h
detail/tag.h
print/Bytes.cc
print/Bytes.h
print/JSONFormat.cc
print/JSONFormat.h
print/TableFormat.cc
print/TableFormat.h
types/array.h
types/array/ArrayMetadata.cc
types/array/ArrayMetadata.h
types/array/ArrayReference.cc
types/array/ArrayReference.h
types/array/adaptors/StdArrayAdaptor.h
types/array/adaptors/StdVectorAdaptor.h
types/array/adaptors/StdVectorOfStdArrayAdaptor.h
types/scalar.cc
types/scalar.h
types/string.h
)

target_compile_features( eckit_codec PUBLIC cxx_std_17 )
Loading

0 comments on commit 68bfaf1

Please sign in to comment.