diff --git a/.github/workflows/continuous-integration.yml b/.github/workflows/continuous-integration.yml deleted file mode 100644 index 5300ae37d..000000000 --- a/.github/workflows/continuous-integration.yml +++ /dev/null @@ -1,139 +0,0 @@ -name: Continuous Integration -on: - push: - branches-ignore: - - documentation - pull_request: - branches-ignore: - - documentation - -defaults: - run: - # Enable Conda environment by using the login shell: - shell: bash -leo pipefail {0} - -jobs: - CI: - runs-on: ubuntu-22.04 - strategy: - fail-fast: false - matrix: - fortran-compiler: [gfortran-10, gfortran-11, gfortran-12] - rte-kernels: [default, openacc] - include: - - rte-kernels: default - build-dir: . - - rte-kernels: openacc - build-dir: test_build - env: - # Core variables: - FC: ${{ matrix.fortran-compiler }} - FCFLAGS: "-I/usr/include -m64 -std=f2008 -march=native -fbounds-check -finit-real=nan -g" - # Configure script variables: - LAUNCH_PREFIX: - # Auxiliary variables: - RFMIP_CACHEDIR: .testcache - steps: - # - # Checks-out repository under $GITHUB_WORKSPACE - # - - uses: actions/checkout@v3 - # - # Synchronize the package index - # - - name: Synchronize the package index - run: sudo apt-get update - # - # Install NetCDF-Fortran (compatible with all compilers) - # - - name: Install NetCDF-Fortran - run: sudo apt-get install libnetcdff-dev - # - # Cache Conda packages - # - - name: Cache Conda packages - uses: actions/cache@v3 - with: - path: ~/conda_pkgs_dir - key: conda-pkgs - # - # Set up Conda - # - - name: Set up Conda - uses: conda-incubator/setup-miniconda@v2 - with: - miniforge-version: latest - activate-environment: rte_rrtmgp_test - environment-file: environment-noplots.yml - python-version: 3.9 - auto-activate-base: false - # Use the cache properly: - use-only-tar-bz2: true - # - # Cache RFMIP files - # - - name: Cache RFMIP files - uses: actions/cache@v3 - with: - path: ${{ env.RFMIP_CACHEDIR }} - key: rfmip-files-autoconf - # - # Finalize build environment - # - - name: Finalize build environment - if: matrix.build-dir != '.' - run: | - # Create build directory: - mkdir '${{ matrix.build-dir }}' - # Use the cached RFMIP files: - ln -s "${GITHUB_WORKSPACE}/${RFMIP_CACHEDIR}" '${{ matrix.build-dir }}' - # Suppress an attempt to create the cache directory when running 'make' - # in case the cache is missing (the attempt fails because 'mkdir -p' is - # requested to overwrite the symlink that we create above): - mkdir -p "${RFMIP_CACHEDIR}" && touch "${RFMIP_CACHEDIR}/.dirstamp" - # - # Configure - # - - name: Configure - working-directory: ${{ matrix.build-dir }} - run: | - test 'x${{ matrix.rte-kernels }}' = xopenacc && enable_gpu=yes || enable_gpu=no - "${GITHUB_WORKSPACE}/configure" \ - --disable-silent-rules \ - --enable-examples \ - --enable-tests \ - --with-netcdf-fortran \ - --enable-gpu=$enable_gpu \ - acx_cv_fc_openacc_flag= \ - || { cat ./config.log; exit 1; } - # - # Build - # - - name: Build - working-directory: ${{ matrix.build-dir }} - run: make -j - # - # Check - # - - name: Check - working-directory: ${{ matrix.build-dir }} - run: | - make -j check - find . -name '*.test.log' -print -exec cat {} ';' - # - # Install - # - - name: Install - working-directory: ${{ matrix.build-dir }} - run: sudo make install - # - # Distclean - # We want to keep the cached RFMIP files, therefore we run this only for - # the out-of-source build. - # - - name: Distclean - if: matrix.build-dir != '.' - working-directory: ${{ matrix.build-dir }} - run: | - make -j distclean - test "x$(ls -A .)" = x || { find .; exit 1; } diff --git a/.github/workflows/self-hosted-ci.yml b/.github/workflows/self-hosted-ci.yml deleted file mode 100644 index e2fde5c17..000000000 --- a/.github/workflows/self-hosted-ci.yml +++ /dev/null @@ -1,100 +0,0 @@ -name: Self-hosted CI -on: - push: - branches-ignore: - - documentation - pull_request: - branches-ignore: - - documentation - -defaults: - run: - shell: bash - -jobs: - CI: - runs-on: daint - continue-on-error: ${{ matrix.experimental }} - strategy: - fail-fast: false - matrix: - include: - - config-name: nvidia-gpu-openacc - enable-gpu: openacc - compiler-modules: "PrgEnv-nvidia nvidia craype-accel-nvidia60 cdt-cuda/21.09 !cray-libsci_acc" - # Generic accelerator flag - # -acc is removed as it should be detected by the configure script - fcflags: "-O3 -Mallocatable=03 -gopt" - experimental: false - - config-name: cce-cpu-icon-production - enable-gpu: no - compiler-modules: "PrgEnv-cray" - # Production flags for Icon model - fcflags: "-hadd_paren -r am -Ktrap=divz,ovf,inv -hflex_mp=intolerant -hfp1 -hnoacc -O1,cache0" - experimental: false - - config-name: cce-gpu-openmp - enable-gpu: openmp - compiler-modules: "PrgEnv-cray craype-accel-nvidia60 cdt-cuda/22.05 cudatoolkit/11.2.0_3.39-2.1__gf93aa1c" - # OpenMP flags from Nichols Romero (Argonne) - # -homp is removed as it should be detected by the configure script - # (in fact, the configure script detects -fopenmp) - fcflags: "-hnoacc -O0" - experimental: true - env: - # Core variables: - FC: ftn - FCFLAGS: ${{ matrix.fcflags }} - # Configure script variables: - LAUNCH_PREFIX: "srun -C gpu -A d56 -p cscsci -t 15:00" - steps: - # - # Checks-out repository under $GITHUB_WORKSPACE - # - - uses: actions/checkout@v3 - # - # Finalize build environment - # - - name: Finalize build environment - run: | - # There are significant limitations on what can go into ${GITHUB_ENV}, - # therefore, we use ${BASH_ENV} but only when necessary: - BASH_ENV="${GITHUB_WORKSPACE}/.bash" - echo "source '${GITHUB_WORKSPACE}/.github/workflows/module_switcher'" >> "${BASH_ENV}" - echo "switch_for_module daint-gpu ${{ matrix.compiler-modules }} cray-netcdf cray-hdf5" >> "${BASH_ENV}" - # Use custom Python environment: - # The environment can be re-generated as follows: - # module load cray-python - # python3 -m venv /scratch/snx3000/rpincus/rte-rrtmgp-python - # /scratch/snx3000/rpincus/rte-rrtmgp-python/bin/pip3 install --upgrade pip - # /scratch/snx3000/rpincus/rte-rrtmgp-python/bin/pip3 install dask[array] netCDF4 numpy xarray - echo 'PATH="/scratch/snx3000/rpincus/rte-rrtmgp-python/bin:${PATH}"' >> "${BASH_ENV}" - # Make bash run the above on startup: - echo "BASH_ENV=${BASH_ENV}" >> "${GITHUB_ENV}" - # Compiler needs more temporary space than normally available: - tmpdir='${{ github.workspace }}/tmp' - mkdir "${tmpdir}" && echo "TMPDIR=${tmpdir}" >> "${GITHUB_ENV}" - # We use the "non-default products" for the tests - # (see https://support.hpe.com/hpesc/public/docDisplay?docId=a00113984en_us&page=Modify_Linking_Behavior_to_Use_Non-default_Libraries.html): - echo 'LD_LIBRARY_PATH="${CRAY_LD_LIBRARY_PATH}:${LD_LIBRARY_PATH}"' >> "${BASH_ENV}" - # - # Configure - # - - name: Configure - run: | - ./configure \ - --disable-silent-rules \ - --enable-gpu=${{ matrix.enable-gpu }} \ - --enable-tests \ - || { cat ./config.log; exit 1; } - # - # Build - # - - name: Build - run: make -j8 - # - # Check - # - - name: Check - run: | - make -j8 check - find . -name '*.test.log' -print -exec cat {} ';'