diff --git a/.circleci/config.yml b/.circleci/config.yml index 90feecd..2a2c0cc 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -10,48 +10,46 @@ orbs: workflows: build-test: jobs: - # We are turning off the GEOSgcm build and test for now, as the release/MAPL-v3 - # branch in GEOSgcm is still based on v11, but the FV3 code in this repo is now based - # on v12. Once GEOSgcm MAPL3 is updated to v12, we can re-enable these tests. - ######################################################################################### - # - ci/build: # - # name: build-GEOSgcm-on-<< matrix.compiler >> # - # context: # - # - docker-hub-creds # - # matrix: # - # parameters: # - # compiler: [gfortran, ifort] # - # #baselibs_version: *baselibs_version # - # repo: GEOSgcm # - # checkout_fixture: true # - # mepodevelop: false # - # checkout_mapl3_release_branch: true # - # persist_workspace: true # Needs to be true to run fv3/gcm experiment, costs extra # - # - ci/run_fv3: # - # name: run-FV3-on-<< matrix.compiler >>-with-GEOSgcm # - # context: # - # - docker-hub-creds # - # matrix: # - # parameters: # - # compiler: [gfortran, ifort] # - # #baselibs_version: *baselibs_version # - # requires: # - # - build-GEOSgcm-on-<< matrix.compiler >> # - # repo: GEOSgcm # - # # Run AMIP GCM (1 hour, no ExtData) # - # - ci/run_gcm: # - # name: run-GCM-on-<< matrix.compiler >> # - # context: # - # - docker-hub-creds # - # matrix: # - # parameters: # - # compiler: [gfortran, ifort] # - # requires: # - # - build-GEOSgcm-on-<< matrix.compiler >> # - # repo: GEOSgcm # - # #baselibs_version: *baselibs_version # - # #bcs_version: *bcs_version # - ######################################################################################### + # Build GEOSgcm + - ci/build: + name: build-GEOSgcm-on-<< matrix.compiler >> + context: + - docker-hub-creds + matrix: + parameters: + compiler: [gfortran, ifort] + #baselibs_version: *baselibs_version + repo: GEOSgcm + checkout_fixture: true + mepodevelop: false + fixture_branch: release/MAPL-v3 + persist_workspace: false # Needs to be true to run fv3/gcm experiment, costs extra + ########################################################### + # - ci/run_fv3: # + # name: run-FV3-on-<< matrix.compiler >>-with-GEOSgcm # + # context: # + # - docker-hub-creds # + # matrix: # + # parameters: # + # compiler: [gfortran, ifort] # + # #baselibs_version: *baselibs_version # + # requires: # + # - build-GEOSgcm-on-<< matrix.compiler >> # + # repo: GEOSgcm # + # # Run AMIP GCM (1 hour, no ExtData) # + # - ci/run_gcm: # + # name: run-GCM-on-<< matrix.compiler >> # + # context: # + # - docker-hub-creds # + # matrix: # + # parameters: # + # compiler: [gfortran, ifort] # + # requires: # + # - build-GEOSgcm-on-<< matrix.compiler >> # + # repo: GEOSgcm # + # #baselibs_version: *baselibs_version # + # #bcs_version: *bcs_version # + ########################################################### - ci/build: name: build-GEOSfvdycore-as-<< matrix.fv_precision >>-on-<< matrix.compiler >> context: diff --git a/.github/workflows/enforce-labels.yml b/.github/workflows/enforce-labels.yml index 6e1720e..86f4bb4 100644 --- a/.github/workflows/enforce-labels.yml +++ b/.github/workflows/enforce-labels.yml @@ -8,18 +8,20 @@ jobs: require-label: runs-on: ubuntu-latest steps: - - uses: mheap/github-action-required-labels@v2 + - uses: mheap/github-action-required-labels@v5 env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} with: mode: minimum count: 1 - labels: "0 diff,0 diff trivial,Non 0-diff,0 diff structural,0-diff trivial,Not 0-diff,0-diff,automatic,0-diff uncoupled" + labels: "0 diff,0 diff trivial,Non 0-diff,0 diff structural,0-diff trivial,Not 0-diff,0-diff,automatic,0-diff uncoupled,github_actions" add_comment: true + message: "This PR is being prevented from merging because you have not added one of our required labels: {{ provided }}. Please add one so that the PR can be merged." + blocking-label: runs-on: ubuntu-latest steps: - - uses: mheap/github-action-required-labels@v2 + - uses: mheap/github-action-required-labels@v5 env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} with: @@ -27,3 +29,4 @@ jobs: count: 0 labels: "Contingent - DNA,Needs Lead Approval,Contingent -- Do Not Approve" add_comment: true + message: "This PR is being prevented from merging because you have added one of our blocking labels: {{ provided }}. You'll need to remove it before this PR can be merged." diff --git a/.github/workflows/push-to-develop.yml b/.github/workflows/push-to-develop.yml index 00825d1..557ff57 100644 --- a/.github/workflows/push-to-develop.yml +++ b/.github/workflows/push-to-develop.yml @@ -14,8 +14,9 @@ jobs: uses: actions/checkout@v5 with: fetch-depth: 0 + filter: blob:none - name: Run the action - uses: devops-infra/action-pull-request@v0.4 + uses: devops-infra/action-pull-request@v0.5.5 with: github_token: ${{ secrets.GITHUB_TOKEN }} source_branch: feature/sdrabenh/gcm_v12 diff --git a/.github/workflows/validate_yaml_files.yml b/.github/workflows/validate_yaml_files.yml index 449db6e..c9c9591 100644 --- a/.github/workflows/validate_yaml_files.yml +++ b/.github/workflows/validate_yaml_files.yml @@ -15,7 +15,11 @@ jobs: validate-YAML: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v4 + - name: Checkout repo + uses: actions/checkout@v5 + with: + fetch-depth: 0 + filter: blob:none - id: yaml-lint name: yaml-lint uses: ibiqlik/action-yamllint@v3 diff --git a/.github/workflows/workflow.yml b/.github/workflows/workflow.yml new file mode 100644 index 0000000..f9edad3 --- /dev/null +++ b/.github/workflows/workflow.yml @@ -0,0 +1,48 @@ +name: Build Tests + +on: + pull_request: + types: [opened, synchronize, reopened] + # Do not run if the only files changed cannot affect the build + paths-ignore: + - "**.md" + - "**.pro" + - "**.sh" + - "**.perl" + - ".github/CODEOWNERS" + +concurrency: + group: ${{ github.workflow }}-${{ github.ref }} + cancel-in-progress: ${{ github.ref != 'refs/heads/main' }} + +jobs: + build_gcm: + strategy: + matrix: + #compiler: [ifort, gfortran-14, gfortran-15] + # We remove ifort because for some reason, MAPL3 + ifort + Github CI + # is running out of space on the device. For now, CircleCI will + # continue to test ifort. + compiler: [gfortran-14, gfortran-15] + build-type: [Debug] + uses: GEOS-ESM/CI-workflows/.github/workflows/geosgcm_build_tests.yml@project/geosgcm + with: + compiler: ${{ matrix.compiler }} + cmake-build-type: ${{ matrix.build-type }} + fixture-repo: GEOS-ESM/GEOSgcm + fixture-ref: release/MAPL-v3 + run-mepo-develop: false + + spack_build: + uses: GEOS-ESM/CI-workflows/.github/workflows/spack_gcc_build.yml@project/geosgcm + secrets: + BUILDCACHE_USERNAME: ${{ secrets.BUILDCACHE_USERNAME }} + BUILDCACHE_TOKEN: ${{ secrets.BUILDCACHE_TOKEN }} + with: + fixture-repo: GEOS-ESM/GEOSgcm + fixture-ref: release/MAPL-v3 + run-mepo-develop: false + patch-esmf: true + # There is some weird issue with spack builds and the install step with + # MAPL 3. For now, turn off as we don't need to *run* GEOS. + run-install: false