From 9fdb80fad5b750fd376213021db945dd43be90eb Mon Sep 17 00:00:00 2001 From: dooruk Date: Thu, 9 Oct 2025 14:21:20 -0700 Subject: [PATCH 01/25] add nas pleiades modules as a platform --- .../config/platforms/nas_pleiades.yaml | 74 +++++++++++++++++++ 1 file changed, 74 insertions(+) create mode 100644 src/jedi_bundle/config/platforms/nas_pleiades.yaml diff --git a/src/jedi_bundle/config/platforms/nas_pleiades.yaml b/src/jedi_bundle/config/platforms/nas_pleiades.yaml new file mode 100644 index 0000000..1fcafca --- /dev/null +++ b/src/jedi_bundle/config/platforms/nas_pleiades.yaml @@ -0,0 +1,74 @@ +platform_name: nas_pleiades +is_it_me: + - command: 'hostname' + contains: pfe +crtm_coeffs_path: '/nobackup/dardag/SwellStaticFiles/jedi/crtm_coefficients/' +crtm_coeffs_version: '2.4.1_skylab_4.0' +modules: + default_modules: intel-oneapi + intel-oneapi: + init: + - source /usr/share/modules/init/bash + load: + - module purge + - module use /nobackup/gmao_SIteam/modulefiles + - module use /nobackup/gmao_SIteam/spack-stack/spack-stack-1.9.3/envs/ue-oneapi-2024.2.0/install/modulefiles/Core + - module load stack-oneapi/2024.2.0 + - module load stack-mpt/2.30 + - module load stack-python/3.11.7 + - module load jedi-fv3-env + - module load soca-env + - module unload -f gsibec crtm + - module load gmao-swell-env/1.0.0 + - module load sp/2.5.0 + configure: -DMPIEXEC_EXECUTABLE="/nasa/hpe/mpt/2.30_rhel810/bin/mpirun" -DMPIEXEC_NUMPROC_FLAG="-np" + intel-oneapi-geos: + init: + - source /usr/share/modules/init/bash + load: + - module purge + - module use /nobackup/gmao_SIteam/modulefiles + - module use /nobackup/gmao_SIteam/spack-stack/spack-stack-1.9.3/envs/ue-oneapi-2024.2.0/install/modulefiles/Core + - module load stack-oneapi/2024.2.0 + - module load stack-mpt/2.30 + - module load stack-python/3.11.7 + - module load jedi-fv3-env + - module load soca-env + - module load gmao-swell-env/1.0.0 + - module unload -f gsibec crtm + - module load sp/2.5.0 + - module load cmake esmf/8.8.0 gftl gftl-shared pflogger fargparse udunits + configure: -DMPIEXEC_EXECUTABLE="/nasa/hpe/mpt/2.30_rhel810/bin/mpirun" -DMPIEXEC_NUMPROC_FLAG="-np" + gnu: + init: + - source /usr/share/modules/init/bash + load: + - module purge + - module use /nobackup/gmao_SIteam/modulefiles + - module use /nobackup/gmao_SIteam/spack-stack/spack-stack-1.9.3/envs/ue-gcc-12.3.0/install/modulefiles/Core + - module load stack-gcc/12.3.0 + - module load stack-openmpi/4.1.8 + - module load stack-python/3.11.7 + - module load jedi-fv3-env + - module load soca-env + - module load gmao-swell-env/1.0.0 + - module unload -f gsibec crtm + - module load sp/2.5.0 + configure: -DMPIEXEC_EXECUTABLE="/usr/bin/srun" -DMPIEXEC_NUMPROC_FLAG="-n" + gnu-geos: + init: + - source /usr/share/modules/init/bash + load: + - module purge + - module use /nobackup/gmao_SIteam/modulefiles + - module use /nobackup/gmao_SIteam/spack-stack/spack-stack-1.9.3/envs/ue-gcc-12.3.0/install/modulefiles/Core + - module load stack-gcc/12.3.0 + - module load stack-openmpi/4.1.8 + - module load stack-python/3.11.7 + - module load jedi-fv3-env + - module load soca-env + - module load gmao-swell-env/1.0.0 + - module unload -f gsibec crtm + - module load sp/2.5.0 + - module load esmf python py-pyyaml py-numpy pflogger fargparse zlib-ng cmake + configure: -DMPIEXEC_EXECUTABLE="/usr/bin/srun" -DMPIEXEC_NUMPROC_FLAG="-n" From bc88cdba73424c7b26b204d6f29649e29d80ed42 Mon Sep 17 00:00:00 2001 From: dooruk Date: Wed, 12 Nov 2025 07:53:43 -0800 Subject: [PATCH 02/25] aitken --- .../config/platforms/nas_aitken.yaml | 74 +++++++++++++++++++ 1 file changed, 74 insertions(+) create mode 100644 src/jedi_bundle/config/platforms/nas_aitken.yaml diff --git a/src/jedi_bundle/config/platforms/nas_aitken.yaml b/src/jedi_bundle/config/platforms/nas_aitken.yaml new file mode 100644 index 0000000..f960402 --- /dev/null +++ b/src/jedi_bundle/config/platforms/nas_aitken.yaml @@ -0,0 +1,74 @@ +platform_name: nas_aitken +is_it_me: + - command: 'hostname' + contains: afe +crtm_coeffs_path: '/nobackup/dardag/SwellStaticFiles/jedi/crtm_coefficients/' +crtm_coeffs_version: '2.4.1_skylab_4.0' +modules: + default_modules: intel-oneapi + intel-oneapi: + init: + - source /usr/share/modules/init/bash + load: + - module purge + - module use /nobackup/gmao_SIteam/modulefiles + - module use /nobackup/gmao_SIteam/spack-stack/spack-stack-1.9.3/envs/ue-oneapi-2024.2.0/install/modulefiles/Core + - module load stack-oneapi/2024.2.0 + - module load stack-mpt/2.30 + - module load stack-python/3.11.7 + - module load jedi-fv3-env + - module load soca-env + - module unload -f gsibec crtm + - module load gmao-swell-env/1.0.0 + - module load sp/2.5.0 + configure: -DMPIEXEC_EXECUTABLE="/nasa/hpe/mpt/2.30_rhel810/bin/mpirun" -DMPIEXEC_NUMPROC_FLAG="-np" + intel-oneapi-geos: + init: + - source /usr/share/modules/init/bash + load: + - module purge + - module use /nobackup/gmao_SIteam/modulefiles + - module use /nobackup/gmao_SIteam/spack-stack/spack-stack-1.9.3/envs/ue-oneapi-2024.2.0/install/modulefiles/Core + - module load stack-oneapi/2024.2.0 + - module load stack-mpt/2.30 + - module load stack-python/3.11.7 + - module load jedi-fv3-env + - module load soca-env + - module load gmao-swell-env/1.0.0 + - module unload -f gsibec crtm + - module load sp/2.5.0 + - module load cmake esmf/8.8.0 gftl gftl-shared pflogger fargparse udunits + configure: -DMPIEXEC_EXECUTABLE="/nasa/hpe/mpt/2.30_rhel810/bin/mpirun" -DMPIEXEC_NUMPROC_FLAG="-np" + gnu: + init: + - source /usr/share/modules/init/bash + load: + - module purge + - module use /nobackup/gmao_SIteam/modulefiles + - module use /nobackup/gmao_SIteam/spack-stack/spack-stack-1.9.3/envs/ue-gcc-12.3.0/install/modulefiles/Core + - module load stack-gcc/12.3.0 + - module load stack-openmpi/4.1.8 + - module load stack-python/3.11.7 + - module load jedi-fv3-env + - module load soca-env + - module load gmao-swell-env/1.0.0 + - module unload -f gsibec crtm + - module load sp/2.5.0 + configure: -DMPIEXEC_EXECUTABLE="/usr/bin/srun" -DMPIEXEC_NUMPROC_FLAG="-n" + gnu-geos: + init: + - source /usr/share/modules/init/bash + load: + - module purge + - module use /nobackup/gmao_SIteam/modulefiles + - module use /nobackup/gmao_SIteam/spack-stack/spack-stack-1.9.3/envs/ue-gcc-12.3.0/install/modulefiles/Core + - module load stack-gcc/12.3.0 + - module load stack-openmpi/4.1.8 + - module load stack-python/3.11.7 + - module load jedi-fv3-env + - module load soca-env + - module load gmao-swell-env/1.0.0 + - module unload -f gsibec crtm + - module load sp/2.5.0 + - module load esmf python py-pyyaml py-numpy pflogger fargparse zlib-ng cmake + configure: -DMPIEXEC_EXECUTABLE="/usr/bin/srun" -DMPIEXEC_NUMPROC_FLAG="-n" From 35df854fd00d426fccd732c11a528eb2a1e90905 Mon Sep 17 00:00:00 2001 From: dooruk Date: Wed, 12 Nov 2025 07:54:36 -0800 Subject: [PATCH 03/25] take JCSDA out, bump version --- src/jedi_bundle/__init__.py | 2 +- src/jedi_bundle/config/build.yaml | 3 +-- 2 files changed, 2 insertions(+), 3 deletions(-) diff --git a/src/jedi_bundle/__init__.py b/src/jedi_bundle/__init__.py index f749895..99e30c0 100644 --- a/src/jedi_bundle/__init__.py +++ b/src/jedi_bundle/__init__.py @@ -9,4 +9,4 @@ build_directory = os.path.dirname(__file__) # Set the version for jedi_bundle -__version__ = '1.0.30' +__version__ = '1.0.40' diff --git a/src/jedi_bundle/config/build.yaml b/src/jedi_bundle/config/build.yaml index d278372..1796e92 100644 --- a/src/jedi_bundle/config/build.yaml +++ b/src/jedi_bundle/config/build.yaml @@ -3,7 +3,6 @@ clone_options: user_branch: '' github_orgs: - JCSDA-internal - - JCSDA - GEOS-ESM - NOAA-EMC bundles: @@ -21,4 +20,4 @@ configure_options: external_modules: false make_options: - cores_to_use_for_make: 6 + cores_to_use_for_make: 24 From 0e8108022e5d8c8439f51879ef33c296a7619d1a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Doruk=20Arda=C4=9F?= <38666458+Dooruk@users.noreply.github.com> Date: Wed, 12 Nov 2025 11:37:25 -0500 Subject: [PATCH 04/25] update python versions (#98) * Implement matrix strategy for coding norms * same for clone * fix syntax --- .github/workflows/clone_a_jedi_bundle.yml | 55 ++++++++++++----------- .github/workflows/python_coding_norms.yml | 39 ++++++++-------- 2 files changed, 49 insertions(+), 45 deletions(-) diff --git a/.github/workflows/clone_a_jedi_bundle.yml b/.github/workflows/clone_a_jedi_bundle.yml index 2d09611..8768bc4 100644 --- a/.github/workflows/clone_a_jedi_bundle.yml +++ b/.github/workflows/clone_a_jedi_bundle.yml @@ -9,31 +9,32 @@ jobs: buildbundle: name: Clone oops bundle runs-on: ubuntu-latest - + strategy: + matrix: + python-version: ["3.10", "3.11"] steps: - - # Setup Python - - name: Set up Python 3.9 - uses: actions/setup-python@v5 - with: - python-version: 3.9 - - # Clone the code repo - - name: Clone code repo - uses: actions/checkout@v4 - with: - lfs: true - - # Install package - - name: Install JEDI bundle and dependencies - run: python -m pip install --use-deprecated=legacy-resolver -r requirements.txt --user . - - name: Put executables in the path - run: echo "$HOME/.local/bin" >> $GITHUB_PATH - - # Run an application test - - name: Run JEDI Bundle application test - run: jedi_bundle Clone src/jedi_bundle/config/build.yaml - - # Confirm existence of expected file - - name: Check - run: ls -l jedi_bundle/oops/CMakeLists.txt + # Setup Python + - name: Set up Python ${{ matrix.python-version }} + uses: actions/setup-python@v5 + with: + python-version: ${{ matrix.python-version }} + + # Clone the code repo + - name: Clone code repo + uses: actions/checkout@v4 + with: + lfs: true + + # Install package + - name: Install JEDI bundle and dependencies + run: python -m pip install --use-deprecated=legacy-resolver -r requirements.txt --user . + - name: Put executables in the path + run: echo "$HOME/.local/bin" >> $GITHUB_PATH + + # Run an application test + - name: Run JEDI Bundle application test + run: jedi_bundle Clone src/jedi_bundle/config/build.yaml + + # Confirm existence of expected file + - name: Check + run: ls -l jedi_bundle/oops/CMakeLists.txt diff --git a/.github/workflows/python_coding_norms.yml b/.github/workflows/python_coding_norms.yml index f3e0492..363bc29 100644 --- a/.github/workflows/python_coding_norms.yml +++ b/.github/workflows/python_coding_norms.yml @@ -8,26 +8,29 @@ jobs: pycodestyle: name: Check Python Coding Norms runs-on: ubuntu-latest - steps: + strategy: + matrix: + python-version: ["3.10", "3.11"] - # Setup Python - - name: Set up Python 3.9 - uses: actions/setup-python@v2 - with: - python-version: 3.9 + steps: + # Setup Python + - name: Set up Python ${{ matrix.python-version }} + uses: actions/setup-python@v2 + with: + python-version: ${{ matrix.python-version }} - # Update conda - - name: Update conda - run: conda update -n base -c defaults conda + # Update conda + - name: Update conda + run: conda update -n base -c defaults conda - # Install pycodestyle - - name: Install pycodestyle - run: conda install -c conda-forge pycodestyle + # Install pycodestyle + - name: Install pycodestyle + run: conda install -c conda-forge pycodestyle - # Clone the code repo - - name: Clone code repo - uses: actions/checkout@v2 + # Clone the code repo + - name: Clone code repo + uses: actions/checkout@v2 - # Run python codestyle - - name: Run python codestyle - run: $CONDA/bin/python3 pycodestyle_run.py + # Run python codestyle + - name: Run python codestyle + run: $CONDA/bin/python3 pycodestyle_run.py From b6d2b88e8591d64331258e59b68266686d3ea2d0 Mon Sep 17 00:00:00 2001 From: Matthew Thompson Date: Wed, 12 Nov 2025 15:21:28 -0500 Subject: [PATCH 05/25] Add git-credentials --- .github/workflows/clone_a_jedi_bundle.yml | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/.github/workflows/clone_a_jedi_bundle.yml b/.github/workflows/clone_a_jedi_bundle.yml index 8768bc4..986a807 100644 --- a/.github/workflows/clone_a_jedi_bundle.yml +++ b/.github/workflows/clone_a_jedi_bundle.yml @@ -21,10 +21,20 @@ jobs: # Clone the code repo - name: Clone code repo - uses: actions/checkout@v4 + uses: actions/checkout@v5 with: lfs: true + # Configure git to access private repos + - name: Configure git credentials for private JEDI repos + run: | + mkdir -p "${HOME}" + + cat <<'EOF' > "${HOME}/.git-credentials" + https://${{ secrets.JEDI_GH_USER }}:${{ secrets.JEDI_GH_PAT }}@github.com + EOF + git config --global credential.helper "store --file=${HOME}/.git-credentials" + # Install package - name: Install JEDI bundle and dependencies run: python -m pip install --use-deprecated=legacy-resolver -r requirements.txt --user . From 3ddfb0a3733bfa8c323b1641143e55ca14308204 Mon Sep 17 00:00:00 2001 From: Matthew Thompson Date: Thu, 13 Nov 2025 07:32:42 -0500 Subject: [PATCH 06/25] Try two for credentials --- .github/workflows/clone_a_jedi_bundle.yml | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/.github/workflows/clone_a_jedi_bundle.yml b/.github/workflows/clone_a_jedi_bundle.yml index 986a807..23aa8ce 100644 --- a/.github/workflows/clone_a_jedi_bundle.yml +++ b/.github/workflows/clone_a_jedi_bundle.yml @@ -29,11 +29,8 @@ jobs: - name: Configure git credentials for private JEDI repos run: | mkdir -p "${HOME}" - - cat <<'EOF' > "${HOME}/.git-credentials" - https://${{ secrets.JEDI_GH_USER }}:${{ secrets.JEDI_GH_PAT }}@github.com - EOF - git config --global credential.helper "store --file=${HOME}/.git-credentials" + printf "https://${{ secrets.JEDI_GH_USER }}:${{ secrets.JEDI_GH_PAT }}@github.com\nhttps:${{ secrets.JEDI_GH_USER }}:${{ secrets.JEDI_GH_PAT }}\n" > "${HOME}/.git-credentials" + git config --global credential.helper "store" # Install package - name: Install JEDI bundle and dependencies From e9d64e141abf41456de054f6cef1fc8513790454 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Doruk=20Arda=C4=9F?= <38666458+Dooruk@users.noreply.github.com> Date: Fri, 14 Nov 2025 09:47:12 -0500 Subject: [PATCH 07/25] test robot suggestions --- .github/workflows/clone_a_jedi_bundle.yml | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/.github/workflows/clone_a_jedi_bundle.yml b/.github/workflows/clone_a_jedi_bundle.yml index 23aa8ce..fefa4e9 100644 --- a/.github/workflows/clone_a_jedi_bundle.yml +++ b/.github/workflows/clone_a_jedi_bundle.yml @@ -4,7 +4,6 @@ on: pull_request: types: [opened, synchronize, reopened] - jobs: buildbundle: name: Clone oops bundle @@ -29,15 +28,21 @@ jobs: - name: Configure git credentials for private JEDI repos run: | mkdir -p "${HOME}" - printf "https://${{ secrets.JEDI_GH_USER }}:${{ secrets.JEDI_GH_PAT }}@github.com\nhttps:${{ secrets.JEDI_GH_USER }}:${{ secrets.JEDI_GH_PAT }}\n" > "${HOME}/.git-credentials" + printf "https://${{ secrets.JEDI_GH_USER }}:${{ secrets.JEDI_GH_PAT }}@github.com\n" > "${HOME}/.git-credentials" git config --global credential.helper "store" # Install package - name: Install JEDI bundle and dependencies run: python -m pip install --use-deprecated=legacy-resolver -r requirements.txt --user . + - name: Put executables in the path run: echo "$HOME/.local/bin" >> $GITHUB_PATH + # Test credentials + - name: Test git credentials + run: | + git ls-remote https://github.com/YOUR-ORG/jedicmake.git + # Run an application test - name: Run JEDI Bundle application test run: jedi_bundle Clone src/jedi_bundle/config/build.yaml From 43e25cba08de0accaeddc38d5833086195dda4e8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Doruk=20Arda=C4=9F?= <38666458+Dooruk@users.noreply.github.com> Date: Fri, 14 Nov 2025 09:50:34 -0500 Subject: [PATCH 08/25] norm --- .github/workflows/clone_a_jedi_bundle.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/clone_a_jedi_bundle.yml b/.github/workflows/clone_a_jedi_bundle.yml index fefa4e9..69c9ddd 100644 --- a/.github/workflows/clone_a_jedi_bundle.yml +++ b/.github/workflows/clone_a_jedi_bundle.yml @@ -34,14 +34,14 @@ jobs: # Install package - name: Install JEDI bundle and dependencies run: python -m pip install --use-deprecated=legacy-resolver -r requirements.txt --user . - + - name: Put executables in the path run: echo "$HOME/.local/bin" >> $GITHUB_PATH # Test credentials - name: Test git credentials run: | - git ls-remote https://github.com/YOUR-ORG/jedicmake.git + git ls-remote https://github.com/JCSDA-internal/jedi-cmake.git # Run an application test - name: Run JEDI Bundle application test From e06e68a2dda12ed2a0bc50c8ce73ccbf6099c2a9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Doruk=20Arda=C4=9F?= <38666458+Dooruk@users.noreply.github.com> Date: Fri, 14 Nov 2025 09:54:22 -0500 Subject: [PATCH 09/25] robot suggestion 2 --- .github/workflows/clone_a_jedi_bundle.yml | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/.github/workflows/clone_a_jedi_bundle.yml b/.github/workflows/clone_a_jedi_bundle.yml index 69c9ddd..e11e1d5 100644 --- a/.github/workflows/clone_a_jedi_bundle.yml +++ b/.github/workflows/clone_a_jedi_bundle.yml @@ -24,12 +24,17 @@ jobs: with: lfs: true + # Configure git to access private repos + # - name: Configure git credentials for private JEDI repos + # run: | + # mkdir -p "${HOME}" + # printf "https://${{ secrets.JEDI_GH_USER }}:${{ secrets.JEDI_GH_PAT }}@github.com\n" > "${HOME}/.git-credentials" + # git config --global credential.helper "store" + # Configure git to access private repos - name: Configure git credentials for private JEDI repos run: | - mkdir -p "${HOME}" - printf "https://${{ secrets.JEDI_GH_USER }}:${{ secrets.JEDI_GH_PAT }}@github.com\n" > "${HOME}/.git-credentials" - git config --global credential.helper "store" + git config --global url."https://${{ secrets.JEDI_GH_USER }}:${{ secrets.JEDI_GH_PAT }}@github.com/".insteadOf "https://github.com/" # Install package - name: Install JEDI bundle and dependencies From 2f2ae34c0aa7843771ada1c5e4496d8e5fdcaa0f Mon Sep 17 00:00:00 2001 From: Matthew Thompson Date: Fri, 14 Nov 2025 11:57:29 -0500 Subject: [PATCH 10/25] Try out with new token --- .github/workflows/clone_a_jedi_bundle.yml | 22 +++++++++------------- 1 file changed, 9 insertions(+), 13 deletions(-) diff --git a/.github/workflows/clone_a_jedi_bundle.yml b/.github/workflows/clone_a_jedi_bundle.yml index e11e1d5..1498a29 100644 --- a/.github/workflows/clone_a_jedi_bundle.yml +++ b/.github/workflows/clone_a_jedi_bundle.yml @@ -24,17 +24,17 @@ jobs: with: lfs: true - # Configure git to access private repos - # - name: Configure git credentials for private JEDI repos - # run: | - # mkdir -p "${HOME}" - # printf "https://${{ secrets.JEDI_GH_USER }}:${{ secrets.JEDI_GH_PAT }}@github.com\n" > "${HOME}/.git-credentials" - # git config --global credential.helper "store" - # Configure git to access private repos - name: Configure git credentials for private JEDI repos run: | - git config --global url."https://${{ secrets.JEDI_GH_USER }}:${{ secrets.JEDI_GH_PAT }}@github.com/".insteadOf "https://github.com/" + mkdir -p "${HOME}" + printf "https://${{ secrets.JEDI_GH_USER }}:${{ secrets.JEDI_GH_PAT }}@github.com\nhttps:${{ secrets.JEDI_GH_USER }}:${{ secrets.JEDI_GH_PAT }}\n" > "${HOME}/.git-credentials" + git config --global credential.helper "store" + + # Test credentials + - name: Test git credentials + run: | + git ls-remote https://github.com/JCSDA-internal/jedi-cmake.git # Install package - name: Install JEDI bundle and dependencies @@ -43,11 +43,6 @@ jobs: - name: Put executables in the path run: echo "$HOME/.local/bin" >> $GITHUB_PATH - # Test credentials - - name: Test git credentials - run: | - git ls-remote https://github.com/JCSDA-internal/jedi-cmake.git - # Run an application test - name: Run JEDI Bundle application test run: jedi_bundle Clone src/jedi_bundle/config/build.yaml @@ -55,3 +50,4 @@ jobs: # Confirm existence of expected file - name: Check run: ls -l jedi_bundle/oops/CMakeLists.txt + From 59af9836499f6601ab3859c0a93a75f556719114 Mon Sep 17 00:00:00 2001 From: Matthew Thompson Date: Fri, 14 Nov 2025 12:05:56 -0500 Subject: [PATCH 11/25] ChatGPT suggestion --- .github/workflows/clone_a_jedi_bundle.yml | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/.github/workflows/clone_a_jedi_bundle.yml b/.github/workflows/clone_a_jedi_bundle.yml index 1498a29..81acc18 100644 --- a/.github/workflows/clone_a_jedi_bundle.yml +++ b/.github/workflows/clone_a_jedi_bundle.yml @@ -6,6 +6,7 @@ on: jobs: buildbundle: + if: github.event.pull_request.head.repo.full_name == github.repository name: Clone oops bundle runs-on: ubuntu-latest strategy: @@ -31,6 +32,11 @@ jobs: printf "https://${{ secrets.JEDI_GH_USER }}:${{ secrets.JEDI_GH_PAT }}@github.com\nhttps:${{ secrets.JEDI_GH_USER }}:${{ secrets.JEDI_GH_PAT }}\n" > "${HOME}/.git-credentials" git config --global credential.helper "store" + - name: Debug git-credentials presence + run: | + ls -l "${HOME}" + sed 's/\(https:\/\/\).*\(:\).*\(@github.com\)/\1USER\2***\3/' "${HOME}/.git-credentials" || echo "no creds" + # Test credentials - name: Test git credentials run: | From 97dc5d3f3878a9a15ec587216a501b54befcb634 Mon Sep 17 00:00:00 2001 From: Matthew Thompson Date: Fri, 14 Nov 2025 12:10:11 -0500 Subject: [PATCH 12/25] Latest from GPT --- .github/workflows/clone_a_jedi_bundle.yml | 16 +++++++++++++--- 1 file changed, 13 insertions(+), 3 deletions(-) diff --git a/.github/workflows/clone_a_jedi_bundle.yml b/.github/workflows/clone_a_jedi_bundle.yml index 81acc18..8b7b285 100644 --- a/.github/workflows/clone_a_jedi_bundle.yml +++ b/.github/workflows/clone_a_jedi_bundle.yml @@ -25,18 +25,28 @@ jobs: with: lfs: true - # Configure git to access private repos + ## Configure git to access private repos + #- name: Configure git credentials for private JEDI repos + #run: | + #mkdir -p "${HOME}" + #printf "https://${{ secrets.JEDI_GH_USER }}:${{ secrets.JEDI_GH_PAT }}@github.com\nhttps:${{ secrets.JEDI_GH_USER }}:${{ secrets.JEDI_GH_PAT }}\n" > "${HOME}/.git-credentials" + #git config --global credential.helper "store" + - name: Configure git credentials for private JEDI repos run: | mkdir -p "${HOME}" - printf "https://${{ secrets.JEDI_GH_USER }}:${{ secrets.JEDI_GH_PAT }}@github.com\nhttps:${{ secrets.JEDI_GH_USER }}:${{ secrets.JEDI_GH_PAT }}\n" > "${HOME}/.git-credentials" - git config --global credential.helper "store" + printf "https://${{ secrets.JEDI_GH_USER }}:${{ secrets.JEDI_GH_PAT }}@github.com\n" > "${HOME}/.git-credentials" + git config --global credential.helper "store --file=${HOME}/.git-credentials" - name: Debug git-credentials presence run: | ls -l "${HOME}" sed 's/\(https:\/\/\).*\(:\).*\(@github.com\)/\1USER\2***\3/' "${HOME}/.git-credentials" || echo "no creds" + - name: Direct PAT test (debug only) + run: | + git ls-remote "https://${{ secrets.JEDI_GH_USER }}:${{ secrets.JEDI_GH_PAT }}@github.com/JCSDA-internal/jedi-cmake.git" + # Test credentials - name: Test git credentials run: | From 75377482316f689f97df2fcc2e31fcb61616a46d Mon Sep 17 00:00:00 2001 From: Matthew Thompson Date: Fri, 14 Nov 2025 12:17:31 -0500 Subject: [PATCH 13/25] Try x-access-token --- .github/workflows/clone_a_jedi_bundle.yml | 11 ++--------- 1 file changed, 2 insertions(+), 9 deletions(-) diff --git a/.github/workflows/clone_a_jedi_bundle.yml b/.github/workflows/clone_a_jedi_bundle.yml index 8b7b285..48b1d81 100644 --- a/.github/workflows/clone_a_jedi_bundle.yml +++ b/.github/workflows/clone_a_jedi_bundle.yml @@ -25,17 +25,10 @@ jobs: with: lfs: true - ## Configure git to access private repos - #- name: Configure git credentials for private JEDI repos - #run: | - #mkdir -p "${HOME}" - #printf "https://${{ secrets.JEDI_GH_USER }}:${{ secrets.JEDI_GH_PAT }}@github.com\nhttps:${{ secrets.JEDI_GH_USER }}:${{ secrets.JEDI_GH_PAT }}\n" > "${HOME}/.git-credentials" - #git config --global credential.helper "store" - - name: Configure git credentials for private JEDI repos run: | mkdir -p "${HOME}" - printf "https://${{ secrets.JEDI_GH_USER }}:${{ secrets.JEDI_GH_PAT }}@github.com\n" > "${HOME}/.git-credentials" + printf "https://x-access-token:${{ secrets.JEDI_GH_PAT }}@github.com\n" > "${HOME}/.git-credentials" git config --global credential.helper "store --file=${HOME}/.git-credentials" - name: Debug git-credentials presence @@ -45,7 +38,7 @@ jobs: - name: Direct PAT test (debug only) run: | - git ls-remote "https://${{ secrets.JEDI_GH_USER }}:${{ secrets.JEDI_GH_PAT }}@github.com/JCSDA-internal/jedi-cmake.git" + git ls-remote "https://x-access-token:${{ secrets.JEDI_GH_PAT }}@github.com/JCSDA-internal/jedi-cmake.git" # Test credentials - name: Test git credentials From 8db6984bfa9c9706025ce2af33303cb1bdf6acc4 Mon Sep 17 00:00:00 2001 From: Matthew Thompson Date: Fri, 14 Nov 2025 12:32:21 -0500 Subject: [PATCH 14/25] Try printing a bit --- .github/workflows/clone_a_jedi_bundle.yml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/.github/workflows/clone_a_jedi_bundle.yml b/.github/workflows/clone_a_jedi_bundle.yml index 48b1d81..32f9f4b 100644 --- a/.github/workflows/clone_a_jedi_bundle.yml +++ b/.github/workflows/clone_a_jedi_bundle.yml @@ -31,6 +31,10 @@ jobs: printf "https://x-access-token:${{ secrets.JEDI_GH_PAT }}@github.com\n" > "${HOME}/.git-credentials" git config --global credential.helper "store --file=${HOME}/.git-credentials" + - name: Debug PAT prefix + run: | + echo "PAT prefix: $(echo "${{ secrets.JEDI_GH_PAT }}" | cut -c1-6)" + - name: Debug git-credentials presence run: | ls -l "${HOME}" From eb9cf1348b50479f06ff8dbeaf9c7f13823b9d57 Mon Sep 17 00:00:00 2001 From: Matthew Thompson Date: Fri, 14 Nov 2025 12:33:07 -0500 Subject: [PATCH 15/25] Remove debug --- .github/workflows/clone_a_jedi_bundle.yml | 4 ---- 1 file changed, 4 deletions(-) diff --git a/.github/workflows/clone_a_jedi_bundle.yml b/.github/workflows/clone_a_jedi_bundle.yml index 32f9f4b..48b1d81 100644 --- a/.github/workflows/clone_a_jedi_bundle.yml +++ b/.github/workflows/clone_a_jedi_bundle.yml @@ -31,10 +31,6 @@ jobs: printf "https://x-access-token:${{ secrets.JEDI_GH_PAT }}@github.com\n" > "${HOME}/.git-credentials" git config --global credential.helper "store --file=${HOME}/.git-credentials" - - name: Debug PAT prefix - run: | - echo "PAT prefix: $(echo "${{ secrets.JEDI_GH_PAT }}" | cut -c1-6)" - - name: Debug git-credentials presence run: | ls -l "${HOME}" From 33195e9b312535c65d754a99fb44054ab82bbf15 Mon Sep 17 00:00:00 2001 From: Matthew Thompson Date: Fri, 14 Nov 2025 12:38:59 -0500 Subject: [PATCH 16/25] Add curl --- .github/workflows/clone_a_jedi_bundle.yml | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/.github/workflows/clone_a_jedi_bundle.yml b/.github/workflows/clone_a_jedi_bundle.yml index 48b1d81..b304f53 100644 --- a/.github/workflows/clone_a_jedi_bundle.yml +++ b/.github/workflows/clone_a_jedi_bundle.yml @@ -36,6 +36,14 @@ jobs: ls -l "${HOME}" sed 's/\(https:\/\/\).*\(:\).*\(@github.com\)/\1USER\2***\3/' "${HOME}/.git-credentials" || echo "no creds" + - name: Debug PAT scopes against GitHub API + run: | + echo "Querying GitHub API for token scopes..." + curl -s -I \ + -H "Authorization: token ${{ secrets.JEDI_GH_PAT }}" \ + https://api.github.com/user \ + | grep -i '^X-OAuth-Scopes\|^X-Accepted-OAuth-Scopes\|^Status' + - name: Direct PAT test (debug only) run: | git ls-remote "https://x-access-token:${{ secrets.JEDI_GH_PAT }}@github.com/JCSDA-internal/jedi-cmake.git" From 2acf9d43c841babe2762ccba7509b648819c83c2 Mon Sep 17 00:00:00 2001 From: Matthew Thompson Date: Fri, 14 Nov 2025 12:41:48 -0500 Subject: [PATCH 17/25] remove curl --- .github/workflows/clone_a_jedi_bundle.yml | 8 -------- 1 file changed, 8 deletions(-) diff --git a/.github/workflows/clone_a_jedi_bundle.yml b/.github/workflows/clone_a_jedi_bundle.yml index b304f53..48b1d81 100644 --- a/.github/workflows/clone_a_jedi_bundle.yml +++ b/.github/workflows/clone_a_jedi_bundle.yml @@ -36,14 +36,6 @@ jobs: ls -l "${HOME}" sed 's/\(https:\/\/\).*\(:\).*\(@github.com\)/\1USER\2***\3/' "${HOME}/.git-credentials" || echo "no creds" - - name: Debug PAT scopes against GitHub API - run: | - echo "Querying GitHub API for token scopes..." - curl -s -I \ - -H "Authorization: token ${{ secrets.JEDI_GH_PAT }}" \ - https://api.github.com/user \ - | grep -i '^X-OAuth-Scopes\|^X-Accepted-OAuth-Scopes\|^Status' - - name: Direct PAT test (debug only) run: | git ls-remote "https://x-access-token:${{ secrets.JEDI_GH_PAT }}@github.com/JCSDA-internal/jedi-cmake.git" From e94266d823a30fbba7c317f642b6f343d93380ea Mon Sep 17 00:00:00 2001 From: Matthew Thompson Date: Fri, 14 Nov 2025 12:43:17 -0500 Subject: [PATCH 18/25] New curl test --- .github/workflows/clone_a_jedi_bundle.yml | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/.github/workflows/clone_a_jedi_bundle.yml b/.github/workflows/clone_a_jedi_bundle.yml index 48b1d81..08fe1c7 100644 --- a/.github/workflows/clone_a_jedi_bundle.yml +++ b/.github/workflows/clone_a_jedi_bundle.yml @@ -36,6 +36,14 @@ jobs: ls -l "${HOME}" sed 's/\(https:\/\/\).*\(:\).*\(@github.com\)/\1USER\2***\3/' "${HOME}/.git-credentials" || echo "no creds" + - name: Debug PAT access to JCSDA-internal/jedi-cmake via API + run: | + echo "Checking repo visibility via API..." + curl -s -I \ + -H "Authorization: token ${{ secrets.JEDI_GH_PAT }}" \ + https://api.github.com/repos/JCSDA-internal/jedi-cmake \ + | grep -i '^Status\|^X-RateLimit-Remaining\|^X-GitHub-Request-Id' + - name: Direct PAT test (debug only) run: | git ls-remote "https://x-access-token:${{ secrets.JEDI_GH_PAT }}@github.com/JCSDA-internal/jedi-cmake.git" From 59f1b0627b1fc99090afa339b5bcafde8e0dd5de Mon Sep 17 00:00:00 2001 From: Matthew Thompson Date: Fri, 14 Nov 2025 12:45:10 -0500 Subject: [PATCH 19/25] Better curl test --- .github/workflows/clone_a_jedi_bundle.yml | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/.github/workflows/clone_a_jedi_bundle.yml b/.github/workflows/clone_a_jedi_bundle.yml index 08fe1c7..dc9f7dd 100644 --- a/.github/workflows/clone_a_jedi_bundle.yml +++ b/.github/workflows/clone_a_jedi_bundle.yml @@ -36,13 +36,18 @@ jobs: ls -l "${HOME}" sed 's/\(https:\/\/\).*\(:\).*\(@github.com\)/\1USER\2***\3/' "${HOME}/.git-credentials" || echo "no creds" - - name: Debug PAT access to JCSDA-internal/jedi-cmake via API + - name: Debug PAT scopes and repo access run: | - echo "Checking repo visibility via API..." - curl -s -I \ + echo "Token scopes for /user:" + curl -s -o /dev/null -w 'HTTP: %{http_code}\nX-OAuth-Scopes: %{header:X-OAuth-Scopes}\nX-Accepted-OAuth-Scopes: %{header:X-Accepted-OAuth-Scopes}\n' \ -H "Authorization: token ${{ secrets.JEDI_GH_PAT }}" \ - https://api.github.com/repos/JCSDA-internal/jedi-cmake \ - | grep -i '^Status\|^X-RateLimit-Remaining\|^X-GitHub-Request-Id' + https://api.github.com/user + + echo + echo "Access to JCSDA-internal/jedi-cmake:" + curl -s -o /dev/null -w 'HTTP: %{http_code}\nX-OAuth-Scopes: %{header:X-OAuth-Scopes}\nX-Accepted-OAuth-Scopes: %{header:X-Accepted-OAuth-Scopes}\n' \ + -H "Authorization: token ${{ secrets.JEDI_GH_PAT }}" \ + https://api.github.com/repos/JCSDA-internal/jedi-cmake - name: Direct PAT test (debug only) run: | From c7523ed3c0f031853e8f4623c992a155160900e7 Mon Sep 17 00:00:00 2001 From: Matthew Thompson Date: Fri, 14 Nov 2025 12:47:09 -0500 Subject: [PATCH 20/25] Fix case --- .github/workflows/clone_a_jedi_bundle.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/clone_a_jedi_bundle.yml b/.github/workflows/clone_a_jedi_bundle.yml index dc9f7dd..42c3c84 100644 --- a/.github/workflows/clone_a_jedi_bundle.yml +++ b/.github/workflows/clone_a_jedi_bundle.yml @@ -39,13 +39,13 @@ jobs: - name: Debug PAT scopes and repo access run: | echo "Token scopes for /user:" - curl -s -o /dev/null -w 'HTTP: %{http_code}\nX-OAuth-Scopes: %{header:X-OAuth-Scopes}\nX-Accepted-OAuth-Scopes: %{header:X-Accepted-OAuth-Scopes}\n' \ + curl -s -o /dev/null -w 'HTTP: %{http_code}\nX-OAuth-Scopes: %{header:x-oauth-scopes}\nX-Accepted-OAuth-Scopes: %{header:x-accepted-oauth-scopes}\n' \ -H "Authorization: token ${{ secrets.JEDI_GH_PAT }}" \ https://api.github.com/user echo echo "Access to JCSDA-internal/jedi-cmake:" - curl -s -o /dev/null -w 'HTTP: %{http_code}\nX-OAuth-Scopes: %{header:X-OAuth-Scopes}\nX-Accepted-OAuth-Scopes: %{header:X-Accepted-OAuth-Scopes}\n' \ + curl -s -o /dev/null -w 'HTTP: %{http_code}\nX-OAuth-Scopes: %{header:x-oauth-scopes}\nX-Accepted-OAuth-Scopes: %{header:x-accepted-oauth-scopes}\n' \ -H "Authorization: token ${{ secrets.JEDI_GH_PAT }}" \ https://api.github.com/repos/JCSDA-internal/jedi-cmake From 9be9b192875151801c3a9219bd033a409fad5e3f Mon Sep 17 00:00:00 2001 From: Matthew Thompson Date: Fri, 14 Nov 2025 12:48:44 -0500 Subject: [PATCH 21/25] use direct --- .github/workflows/clone_a_jedi_bundle.yml | 31 +++-------------------- 1 file changed, 3 insertions(+), 28 deletions(-) diff --git a/.github/workflows/clone_a_jedi_bundle.yml b/.github/workflows/clone_a_jedi_bundle.yml index 42c3c84..f07f1fb 100644 --- a/.github/workflows/clone_a_jedi_bundle.yml +++ b/.github/workflows/clone_a_jedi_bundle.yml @@ -25,36 +25,11 @@ jobs: with: lfs: true - - name: Configure git credentials for private JEDI repos + - name: Configure git to use PAT for GitHub run: | - mkdir -p "${HOME}" - printf "https://x-access-token:${{ secrets.JEDI_GH_PAT }}@github.com\n" > "${HOME}/.git-credentials" - git config --global credential.helper "store --file=${HOME}/.git-credentials" + git config --global url."https://x-access-token:${{ secrets.JEDI_GH_PAT }}@github.com/".insteadOf "https://github.com/" - - name: Debug git-credentials presence - run: | - ls -l "${HOME}" - sed 's/\(https:\/\/\).*\(:\).*\(@github.com\)/\1USER\2***\3/' "${HOME}/.git-credentials" || echo "no creds" - - - name: Debug PAT scopes and repo access - run: | - echo "Token scopes for /user:" - curl -s -o /dev/null -w 'HTTP: %{http_code}\nX-OAuth-Scopes: %{header:x-oauth-scopes}\nX-Accepted-OAuth-Scopes: %{header:x-accepted-oauth-scopes}\n' \ - -H "Authorization: token ${{ secrets.JEDI_GH_PAT }}" \ - https://api.github.com/user - - echo - echo "Access to JCSDA-internal/jedi-cmake:" - curl -s -o /dev/null -w 'HTTP: %{http_code}\nX-OAuth-Scopes: %{header:x-oauth-scopes}\nX-Accepted-OAuth-Scopes: %{header:x-accepted-oauth-scopes}\n' \ - -H "Authorization: token ${{ secrets.JEDI_GH_PAT }}" \ - https://api.github.com/repos/JCSDA-internal/jedi-cmake - - - name: Direct PAT test (debug only) - run: | - git ls-remote "https://x-access-token:${{ secrets.JEDI_GH_PAT }}@github.com/JCSDA-internal/jedi-cmake.git" - - # Test credentials - - name: Test git credentials + - name: Direct test via git run: | git ls-remote https://github.com/JCSDA-internal/jedi-cmake.git From be22b38e8eed1bddef03d4451213143a673c52c3 Mon Sep 17 00:00:00 2001 From: Matthew Thompson Date: Fri, 14 Nov 2025 12:57:52 -0500 Subject: [PATCH 22/25] Try code from stack overflow --- .github/workflows/clone_a_jedi_bundle.yml | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/.github/workflows/clone_a_jedi_bundle.yml b/.github/workflows/clone_a_jedi_bundle.yml index f07f1fb..c5ed0ac 100644 --- a/.github/workflows/clone_a_jedi_bundle.yml +++ b/.github/workflows/clone_a_jedi_bundle.yml @@ -25,9 +25,10 @@ jobs: with: lfs: true - - name: Configure git to use PAT for GitHub + - name: Set github url and credentials run: | - git config --global url."https://x-access-token:${{ secrets.JEDI_GH_PAT }}@github.com/".insteadOf "https://github.com/" + git config --global credential.helper store + echo "https://x-access-token:${{ secrets.JEDI_GH_PAT }}@github.com" > ~/.git-credentials - name: Direct test via git run: | From 8171d89375aa89e24aa9439dee6ab37da87647a5 Mon Sep 17 00:00:00 2001 From: dooruk Date: Tue, 9 Dec 2025 17:08:08 -0500 Subject: [PATCH 23/25] take da-utils out --- src/jedi_bundle/config/build.yaml | 2 +- src/jedi_bundle/config/bundles/da-utils.yaml | 5 ----- src/jedi_bundle/config/pinned_versions.yaml | 3 --- 3 files changed, 1 insertion(+), 9 deletions(-) delete mode 100644 src/jedi_bundle/config/bundles/da-utils.yaml diff --git a/src/jedi_bundle/config/build.yaml b/src/jedi_bundle/config/build.yaml index 1796e92..a0d0c47 100644 --- a/src/jedi_bundle/config/build.yaml +++ b/src/jedi_bundle/config/build.yaml @@ -2,9 +2,9 @@ clone_options: path_to_source: jedi_bundle user_branch: '' github_orgs: + - JCSDA - JCSDA-internal - GEOS-ESM - - NOAA-EMC bundles: - oops extra_repos: [gsibec] diff --git a/src/jedi_bundle/config/bundles/da-utils.yaml b/src/jedi_bundle/config/bundles/da-utils.yaml deleted file mode 100644 index c933c9b..0000000 --- a/src/jedi_bundle/config/bundles/da-utils.yaml +++ /dev/null @@ -1,5 +0,0 @@ -required_repos: - - jedicmake - - oops - - ioda - - da-utils diff --git a/src/jedi_bundle/config/pinned_versions.yaml b/src/jedi_bundle/config/pinned_versions.yaml index 98064f1..3b8a70c 100644 --- a/src/jedi_bundle/config/pinned_versions.yaml +++ b/src/jedi_bundle/config/pinned_versions.yaml @@ -41,6 +41,3 @@ - ufo-data: branch: 532370c47e6cf444b890fdf24d8647c97f0ebe62 commit: true -- da-utils: - branch: 1f122df3e6b3cc28db5020bfe81a1bfd72313d08 - commit: true From ebd9bf3da410995be32417e0c607c19736c76046 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Doruk=20Arda=C4=9F?= <38666458+Dooruk@users.noreply.github.com> Date: Tue, 9 Dec 2025 17:49:35 -0500 Subject: [PATCH 24/25] keep matrix approach, avoid credential check --- .github/workflows/clone_a_jedi_bundle.yml | 17 ++--------------- 1 file changed, 2 insertions(+), 15 deletions(-) diff --git a/.github/workflows/clone_a_jedi_bundle.yml b/.github/workflows/clone_a_jedi_bundle.yml index c5ed0ac..dba4bab 100644 --- a/.github/workflows/clone_a_jedi_bundle.yml +++ b/.github/workflows/clone_a_jedi_bundle.yml @@ -24,22 +24,10 @@ jobs: uses: actions/checkout@v5 with: lfs: true - - - name: Set github url and credentials - run: | - git config --global credential.helper store - echo "https://x-access-token:${{ secrets.JEDI_GH_PAT }}@github.com" > ~/.git-credentials - - - name: Direct test via git - run: | - git ls-remote https://github.com/JCSDA-internal/jedi-cmake.git - + # Install package - name: Install JEDI bundle and dependencies - run: python -m pip install --use-deprecated=legacy-resolver -r requirements.txt --user . - - - name: Put executables in the path - run: echo "$HOME/.local/bin" >> $GITHUB_PATH + run: python -m pip install --use-deprecated=legacy-resolver -r requirements.txt . # Run an application test - name: Run JEDI Bundle application test @@ -48,4 +36,3 @@ jobs: # Confirm existence of expected file - name: Check run: ls -l jedi_bundle/oops/CMakeLists.txt - From d73c51e0d48c11409ffedf703b6fdca102a4ba17 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Doruk=20Arda=C4=9F?= <38666458+Dooruk@users.noreply.github.com> Date: Tue, 9 Dec 2025 17:51:18 -0500 Subject: [PATCH 25/25] Remove extra blank line in workflow file --- .github/workflows/clone_a_jedi_bundle.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/clone_a_jedi_bundle.yml b/.github/workflows/clone_a_jedi_bundle.yml index dba4bab..411565e 100644 --- a/.github/workflows/clone_a_jedi_bundle.yml +++ b/.github/workflows/clone_a_jedi_bundle.yml @@ -24,7 +24,7 @@ jobs: uses: actions/checkout@v5 with: lfs: true - + # Install package - name: Install JEDI bundle and dependencies run: python -m pip install --use-deprecated=legacy-resolver -r requirements.txt .