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