Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

NOAA/NASA pyFV3 CI on every commit #1478

Merged
merged 34 commits into from
May 9, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
34 commits
Select commit Hold shift + click to select a range
293b910
Fix actions/checkout repo pull
FlorianDeconinck Dec 12, 2023
73be20b
Smaller version of py 3.8.x availlable on 22.04
FlorianDeconinck Dec 12, 2023
5a79f31
Specify working dir on checkout
FlorianDeconinck Dec 12, 2023
529b508
Add curent remote (for work comming on forks)
FlorianDeconinck Dec 12, 2023
10ef62c
Add curent remote (for work comming on forks)
FlorianDeconinck Dec 12, 2023
ed17626
Try to re-use base Dace install
FlorianDeconinck Dec 12, 2023
cc4bd49
Another attempt to fetch the correct DaCe and pip it
FlorianDeconinck Dec 12, 2023
7d6a561
Bring openmpi
FlorianDeconinck Dec 12, 2023
67c83cd
ompi
FlorianDeconinck Dec 12, 2023
6c595fd
sudo apt
FlorianDeconinck Dec 12, 2023
67702b0
boost
FlorianDeconinck Dec 12, 2023
6fcd6f3
Only rank 0 for D_SW
FlorianDeconinck Dec 12, 2023
220f5f8
Go to gcc-13
FlorianDeconinck Dec 12, 2023
c2e38f1
Turn on for every push/PR and on `ci-fix` as other recurring actions
FlorianDeconinck Dec 13, 2023
f2dc524
Add the `no-ci` label check
FlorianDeconinck Dec 13, 2023
2ffab39
Merge commit 'ba1587ecc2b9a0a914fbb472922b1123a2c4a1ca' into fix/pace_ci
FlorianDeconinck Feb 27, 2024
e0466c7
Swap `pace` for `pyFV3`
FlorianDeconinck Feb 27, 2024
6d008ad
Temporary deactivation of the `no-ci` label
FlorianDeconinck Feb 27, 2024
69d257c
Update to checkout v4
FlorianDeconinck Feb 27, 2024
1ccf61e
SPCL disallowed v4, back to v3
FlorianDeconinck Feb 27, 2024
841a253
Renaming Pace to pyFV3
FlorianDeconinck Feb 27, 2024
9cfb32d
Swap remote for NOAA-GFDL upstream
FlorianDeconinck May 6, 2024
1638af4
Install `develop` of `pyFV3` to pull the pytest harness
FlorianDeconinck May 6, 2024
bf1f397
Typo
FlorianDeconinck May 6, 2024
6a56ad9
Swap Riemman Solver on C-grid for D-grid (better coverage)
FlorianDeconinck May 6, 2024
6a181ce
chmod the data
FlorianDeconinck May 6, 2024
13b6e46
Typo
FlorianDeconinck May 6, 2024
71b3e98
Bad reference to `pyFV3` savepoint
FlorianDeconinck May 6, 2024
55f72ec
Merge branch 'master' into fix/pace_ci
FlorianDeconinck May 6, 2024
4dd053e
Update to python 3.11.7
FlorianDeconinck May 6, 2024
7c82358
Merge branch 'master' into fix/pace_ci
tbennun May 8, 2024
f2c79c4
Clean up caches between pytest runs (?)
FlorianDeconinck May 9, 2024
98e0bc2
Restore `no-ci` behavior
FlorianDeconinck May 9, 2024
5f0c794
Verbose why the rm of caches
FlorianDeconinck May 9, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
75 changes: 0 additions & 75 deletions .github/workflows/pace-build-ci.yml

This file was deleted.

94 changes: 94 additions & 0 deletions .github/workflows/pyFV3-ci.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,94 @@
name: NASA/NOAA pyFV3 repository build test

on:
push:
branches: [ master, ci-fix ]
pull_request:
branches: [ master, ci-fix ]

defaults:
run:
shell: bash

jobs:
build_and_validate_pyFV3:
if: "!contains(github.event.pull_request.labels.*.name, 'no-ci')"
runs-on: ubuntu-latest
strategy:
matrix:
python-version: [3.11.7]

steps:
- uses: actions/checkout@v2
with:
repository: 'NOAA-GFDL/PyFV3'
ref: 'ci/DaCe'
submodules: 'recursive'
path: 'pyFV3'
- uses: actions/checkout@v2
with:
path: 'dace'
submodules: 'recursive'
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v2
with:
python-version: ${{ matrix.python-version }}
- name: Install library dependencies
run: |
sudo apt-get install libopenmpi-dev libboost-all-dev gcc-13
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-13 13
gcc --version
# Because Github doesn't allow us to do a git checkout in code
# we use a trick to checkout DaCe first (not using the external submodule)
# install the full suite via requirements_dev, then re-install the correct DaCe
- name: Install Python packages
run: |
python -m pip install --upgrade pip wheel setuptools
pip install -e ./pyFV3[develop]
pip install -e ./dace
- name: Download data
run: |
cd pyFV3
mkdir -p test_data
cd test_data
wget https://portal.nccs.nasa.gov/datashare/astg/smt/pace-regression-data/8.1.3_c12_6ranks_standard.D_SW.tar.gz
tar -xzvf 8.1.3_c12_6ranks_standard.D_SW.tar.gz
wget https://portal.nccs.nasa.gov/datashare/astg/smt/pace-regression-data/8.1.3_c12_6ranks_standard.RiemSolver3.tar.gz
tar -xzvf 8.1.3_c12_6ranks_standard.RiemSolver3.tar.gz
wget https://portal.nccs.nasa.gov/datashare/astg/smt/pace-regression-data/8.1.3_c12_6ranks_standard.Remapping.tar.gz
tar -xzvf 8.1.3_c12_6ranks_standard.Remapping.tar.gz
cd ../..
# Clean up caches between run for stale un-expanded SDFG to trip the build system (NDSL side issue)
- name: "Regression test: Riemman Solver on D-grid (RiemSolver3)"
env:
FV3_DACEMODE: BuildAndRun
PACE_CONSTANTS: GFS
PACE_LOGLEVEL: Debug
run: |
pytest -v -s --data_path=./pyFV3/test_data/8.1.3/c12_6ranks_standard/dycore \
--backend=dace:cpu --which_modules=Riem_Solver3 \
--threshold_overrides_file=./pyFV3/tests/savepoint/translate/overrides/standard.yaml \
./pyFV3/tests/savepoint
rm -r ./.gt_cache_FV3_A
- name: "Regression test: Shallow water lagrangian dynamics on D-grid (D_SW) (on rank 0 only)"
env:
FV3_DACEMODE: BuildAndRun
PACE_CONSTANTS: GFS
PACE_LOGLEVEL: Debug
run: |
pytest -v -s --data_path=./pyFV3/test_data/8.1.3/c12_6ranks_standard/dycore \
--backend=dace:cpu --which_modules=D_SW --which_rank=0 \
--threshold_overrides_file=./pyFV3/tests/savepoint/translate/overrides/standard.yaml \
./pyFV3/tests/savepoint
rm -r ./.gt_cache_FV3_A
- name: "Regression test: Remapping (on rank 0 only)"
env:
FV3_DACEMODE: BuildAndRun
PACE_CONSTANTS: GFS
PACE_LOGLEVEL: Debug
run: |
pytest -v -s --data_path=./pyFV3/test_data/8.1.3/c12_6ranks_standard/dycore \
--backend=dace:cpu --which_modules=Remapping --which_rank=0 \
--threshold_overrides_file=./pyFV3/tests/savepoint/translate/overrides/standard.yaml \
./pyFV3/tests/savepoint
rm -r ./.gt_cache_FV3_A