mirror of https://github.com/ecmwf/eccodes.git
93 lines
2.9 KiB
YAML
93 lines
2.9 KiB
YAML
name: nightly
|
|
|
|
on:
|
|
workflow_dispatch: ~
|
|
|
|
# Run at 20:00 UTC every day (on default branch)
|
|
schedule:
|
|
- cron: "0 20 * * *"
|
|
|
|
jobs:
|
|
test-hpc:
|
|
runs-on: [self-hosted, linux, hpc]
|
|
env:
|
|
GH_TOKEN: ${{ secrets.GH_REPO_READ_TOKEN }}
|
|
steps:
|
|
- uses: ecmwf-actions/reusable-workflows/ci-hpc@v2
|
|
with:
|
|
github_user: ${{ secrets.BUILD_PACKAGE_HPC_GITHUB_USER }}
|
|
github_token: ${{ secrets.GH_REPO_READ_TOKEN }}
|
|
troika_user: ${{ secrets.HPC_CI_SSH_USER }}
|
|
repository: ecmwf/eccodes@${{ github.event.pull_request.head.sha || github.sha }}
|
|
build_config: .github/nightly-ci-hpc-config.yml
|
|
|
|
test-macos:
|
|
strategy:
|
|
matrix:
|
|
name:
|
|
- clang@macos-13-arm
|
|
- clang@macos-13-x86
|
|
include:
|
|
- name: clang@macos-13-arm
|
|
labels: [self-hosted, platform-builder-macosx-13.4.1-arm64]
|
|
os: macos-13-arm
|
|
compiler: clang
|
|
compiler_cc: clang
|
|
compiler_cxx: clang++
|
|
compiler_fc: gfortran
|
|
- name: clang@macos-13-x86
|
|
labels: [self-hosted, platform-builder-macosx-13.4.1-x86_64]
|
|
os: macos-13-x86
|
|
compiler: clang
|
|
compiler_cc: clang
|
|
compiler_cxx: clang++
|
|
compiler_fc: gfortran
|
|
runs-on: ${{ matrix.labels }}
|
|
env:
|
|
DEP_TREE: |
|
|
ecbuild: ~
|
|
libaec:
|
|
deps:
|
|
- ecbuild
|
|
eccodes:
|
|
deps:
|
|
- libaec
|
|
- ecbuild
|
|
steps:
|
|
- uses: ecmwf-actions/reusable-workflows/build-package-with-config@v2
|
|
with:
|
|
repository: ecmwf/eccodes@${{ github.sha }}
|
|
build_config: .github/ci-config.yml
|
|
|
|
deploy:
|
|
needs: [test-hpc, test-macos]
|
|
uses: ecmwf-actions/reusable-workflows/.github/workflows/create-package.yml@v2
|
|
with:
|
|
skip_checks: true
|
|
cpack_options_rpm: -D CPACK_PACKAGE_FILE_NAME=eccodes-nightly-Linux-x86_64
|
|
cpack_options_deb: -D CPACK_PACKAGE_VERSION=nightly
|
|
secrets:
|
|
url_debian_11: ${{ secrets.NEXUS_TEST_REPO_NIGHTLY_URL_DEBIAN_11 }}
|
|
token_debian_11: ${{ secrets.NEXUS_TEST_REPO_UPLOAD_TOKEN }}
|
|
url_debian_12: ${{ secrets.NEXUS_TEST_REPO_URL_DEBIAN_12 }}
|
|
token_debian_12: ${{ secrets.NEXUS_TEST_REPO_UPLOAD_TOKEN }}
|
|
url_centos_7: ${{ secrets.NEXUS_TEST_REPO_NIGHTLY_URL_CENTOS_7 }}
|
|
token_centos_7: ${{ secrets.NEXUS_TEST_REPO_UPLOAD_TOKEN }}
|
|
url_rocky_8: ${{ secrets.NEXUS_TEST_REPO_NIGHTLY_URL_ROCKY_8 }}
|
|
token_rocky_8: ${{ secrets.NEXUS_TEST_REPO_UPLOAD_TOKEN }}
|
|
|
|
notify:
|
|
runs-on: ubuntu-latest
|
|
needs:
|
|
- test-hpc
|
|
- test-macos
|
|
- deploy
|
|
if: always()
|
|
steps:
|
|
- name: Trigger Teams notification
|
|
uses: ecmwf-actions/notify-teams@v1
|
|
with:
|
|
incoming_webhook: ${{ secrets.MS_TEAMS_INCOMING_WEBHOOK }}
|
|
needs_context: ${{ toJSON(needs) }}
|
|
workflow_id: nightly.yml
|