Skip to content

Commit

Permalink
Merge branch 'release/1.27.0'
Browse files Browse the repository at this point in the history
  • Loading branch information
danovaro committed Aug 19, 2024
2 parents 2aed19d + 15a2ed1 commit 64b37ac
Show file tree
Hide file tree
Showing 226 changed files with 21,593 additions and 1,030 deletions.
1 change: 1 addition & 0 deletions .github/ci-config.yml
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
cmake_options: -DENABLE_ECKIT_GEO=ON
dependencies: |
ecmwf/ecbuild
dependency_branch: develop
Expand Down
26 changes: 22 additions & 4 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ jobs:
# Run CI including downstream packages on self-hosted runners
downstream-ci:
name: downstream-ci
if: ${{ !github.event.pull_request.head.repo.fork && github.event.action != 'labeled' || github.event.label.name == 'approved-for-ci' }}
if: ${{ !github.event.pull_request.head.repo.fork && (github.event.action != 'labeled' || github.event.label.name == 'approved-for-ci') }}
uses: ecmwf-actions/downstream-ci/.github/workflows/downstream-ci.yml@main
with:
eckit: ecmwf/eckit@${{ github.event.pull_request.head.sha || github.sha }}
Expand All @@ -34,7 +34,7 @@ jobs:
private-downstream-ci:
name: private-downstream-ci
needs: [downstream-ci]
if: (success() || failure()) && ${{ !github.event.pull_request.head.repo.fork && github.event.action != 'labeled' || github.event.label.name == 'approved-for-ci' }}
if: ${{ (success() || failure()) && !github.event.pull_request.head.repo.fork && (github.event.action != 'labeled' || github.event.label.name == 'approved-for-ci') }}
runs-on: ubuntu-latest
permissions:
pull-requests: write
Expand All @@ -51,7 +51,7 @@ jobs:
# Build downstream packages on HPC
downstream-ci-hpc:
name: downstream-ci-hpc
if: ${{ !github.event.pull_request.head.repo.fork && github.event.action != 'labeled' || github.event.label.name == 'approved-for-ci' }}
if: ${{ !github.event.pull_request.head.repo.fork && (github.event.action != 'labeled' || github.event.label.name == 'approved-for-ci') }}
uses: ecmwf-actions/downstream-ci/.github/workflows/downstream-ci-hpc.yml@main
with:
eckit: ecmwf/eckit@${{ github.event.pull_request.head.sha || github.sha }}
Expand All @@ -61,7 +61,7 @@ jobs:
private-downstream-ci-hpc:
name: private-downstream-ci-hpc
needs: [downstream-ci-hpc]
if: (success() || failure()) && ${{ !github.event.pull_request.head.repo.fork && github.event.action != 'labeled' || github.event.label.name == 'approved-for-ci' }}
if: ${{ (success() || failure()) && !github.event.pull_request.head.repo.fork && (github.event.action != 'labeled' || github.event.label.name == 'approved-for-ci') }}
runs-on: ubuntu-latest
permissions:
pull-requests: write
Expand All @@ -74,3 +74,21 @@ jobs:
repository: private-downstream-ci
event_type: downstream-ci-hpc
payload: '{"eckit": "ecmwf/eckit@${{ github.event.pull_request.head.sha || github.sha }}"}'

notify:
runs-on: ubuntu-latest
needs:
- downstream-ci
- private-downstream-ci
- downstream-ci-hpc
- private-downstream-ci-hpc
if: ${{ always() && !github.event.pull_request.head.repo.fork && (github.event.action != 'labeled' || github.event.label.name == 'approved-for-ci') }}
steps:
- name: Trigger Teams notification
if: failure() && (github.ref == 'refs/heads/master' || github.ref == 'refs/heads/main' || github.ref == 'refs/heads/develop')
uses: ecmwf-actions/notify-teams@v1
with:
incoming_webhook: ${{ secrets.MS_TEAMS_INCOMING_WEBHOOK }}
needs_context: ${{ toJSON(needs) }}
notify_on: |
failure
14 changes: 14 additions & 0 deletions .github/workflows/notify-issues.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
name: Notify Issues

on:
issues:
types: [opened, reopened]

jobs:
notify:
runs-on: ubuntu-latest
steps:
- name: Notify Issues
uses: ecmwf-actions/notify-teams-issue@v1
with:
incoming_webhook: ${{ secrets.MS_TEAMS_INCOMING_WEBHOOK }}
14 changes: 14 additions & 0 deletions .github/workflows/notify-pull-request.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
name: Notify Pull Request

on:
pull_request_target:
types: [opened, reopened]

jobs:
notify:
runs-on: ubuntu-latest
steps:
- name: Notify Pull Request
uses: ecmwf-actions/notify-teams-pr@v1
with:
incoming_webhook: ${{ secrets.MS_TEAMS_INCOMING_WEBHOOK }}
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
_/
.tags*
CMakeLists.txt.user*
*.autosave
Expand Down
47 changes: 46 additions & 1 deletion CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -51,6 +51,16 @@ set( THREADS_HAVE_PTHREAD_ARG FALSE )
find_package( Threads REQUIRED )
set( THREADS_LIBRARIES ${CMAKE_THREAD_LIBS_INIT} )

ecbuild_add_option( FEATURE ECKIT_MEMORY_FACTORY_BUILDERS_DEBUG
DEFAULT OFF
DESCRIPTION "eckit::Factory builders debug"
ADVANCED )

ecbuild_add_option( FEATURE ECKIT_MEMORY_FACTORY_EMPTY_DESTRUCTION
DEFAULT OFF
DESCRIPTION "eckit::Factory empty destruction (system dependant)"
ADVANCED )

### eckit::mpi

ecbuild_add_option( FEATURE MPI
Expand Down Expand Up @@ -169,6 +179,34 @@ if( eckit_HAVE_CONVEX_HULL )
target_link_libraries(Qhull::Qhull INTERFACE Qhull::qhullcpp Qhull::qhullstatic_r )
endif()

### eckit::geo

ecbuild_add_option( FEATURE ECKIT_GEO
DEFAULT OFF
DESCRIPTION "eckit::geo geometry library" )

ecbuild_add_option( FEATURE GEO_GRID_ORCA
DEFAULT ON
CONDITION eckit_HAVE_ECKIT_GEO AND eckit_HAVE_ECKIT_CODEC AND eckit_HAVE_LZ4
DESCRIPTION "eckit::geo geometry library support for ORCA grids" )

ecbuild_add_option( FEATURE GEO_CACHING
DEFAULT OFF
CONDITION HAVE_ECKIT_GEO
DESCRIPTION "eckit::geo geometry library default caching behaviour" )

ecbuild_add_option( FEATURE GEO_BITREPRODUCIBLE
DEFAULT OFF
CONDITION HAVE_ECKIT_GEO
DESCRIPTION "eckit::geo geometry library bit reproducibility tests" )

ecbuild_add_option( FEATURE GEO_PROJECTION_PROJ_DEFAULT
DEFAULT OFF
CONDITION HAVE_ECKIT_GEO
DESCRIPTION "eckit::geo geometry library default to PROJ-based projections" )

set( eckit_GEO_CACHE_PATH "/tmp/cache" )

### LAPACK

if( eckit_HAVE_MKL )
Expand Down Expand Up @@ -265,6 +303,13 @@ ecbuild_add_option( FEATURE AIO
CONDITION ${AIO_FOUND}
DESCRIPTION "support for asynchronous IO")

### PROJ support

ecbuild_add_option( FEATURE PROJ
DEFAULT OFF
DESCRIPTION "support PROJ-based projections"
REQUIRED_PACKAGES "PROJ 9.2" )

### c math library, needed when including "math.h"

find_package( CMath )
Expand Down Expand Up @@ -296,9 +341,9 @@ include(cmake/compiler_warnings.cmake) # optionally handle compiler specific war
set( PERSISTENT_NAMESPACE "eckit" CACHE INTERNAL "" ) # needed for generating .b files for persistent support

add_subdirectory( src )

add_subdirectory( bamboo )
add_subdirectory( doc )
add_subdirectory( etc )
add_subdirectory( tests )
add_subdirectory( regressions )

Expand Down
2 changes: 1 addition & 1 deletion VERSION
Original file line number Diff line number Diff line change
@@ -1 +1 @@
1.26.4
1.27.0
2 changes: 2 additions & 0 deletions etc/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
add_subdirectory(eckit)

2 changes: 2 additions & 0 deletions etc/eckit/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
add_subdirectory(geo)

12 changes: 12 additions & 0 deletions etc/eckit/geo/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
set(_files)
list(APPEND _files "grid.yaml")
list(APPEND _files "ORCA.yaml")

set(_destination "etc/eckit/geo")

install(FILES ${_files} DESTINATION ${_destination} PERMISSIONS OWNER_WRITE OWNER_READ GROUP_READ WORLD_READ)

foreach(_file ${_files})
configure_file(${_file} "${CMAKE_BINARY_DIR}/${_destination}/${_file}" COPYONLY)
endforeach()

Loading

0 comments on commit 64b37ac

Please sign in to comment.