Skip to content

Conversation

@delippi
Copy link
Contributor

@delippi delippi commented Sep 2, 2025

This PR registers the RDAS client in JCB, enabling support for RDAS workflows. In addition, it includes a bug fix needed to ensure successful runs on Hera. These updates are part of the ongoing effort to move RDAS under JCB.

Comment on lines 188 to 189
#write_message(f'Cloning {app} with command: {command_string}')
print(f'Cloning {app} with command: {command_string}')
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Any particular reason why this had to be changed? write_message is used in other places

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It would hang with write_message (on Hera). Switching to print would allow it to continue. I don't fully understand what the problem was. I can look into it more.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

don't spend too much time on it but if it's a python version issue or something that we can easily explain that would be helpful

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Oh, I figured it out. I didn't notice there was a max_line_length. My path to where jcb_client_init.py is cloning the jcb clients is too long and the logic would end up doing an infinite loop. I could double max_line_length (to 200) and/or add some logic to force split the lines up in the case where 200 wouldn't be enough and would again cause an infinite loop (safer). What would you prefer?

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The latter if it is not too difficult, the former if it needs to be something quick and easy

@delippi
Copy link
Contributor Author

delippi commented Sep 2, 2025

@CoryMartin-NOAA any idea why unit test 3.13 is failing? Is it because I'm trying to merge a branch from my fork?

@CoryMartin-NOAA
Copy link
Contributor

@delippi yeah that's my guess. I wouldn't worry, I can bypass the CI and can hotfix if necessary

Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull Request Overview

This PR registers the RDAS client in JCB and fixes a bug in the message formatting function that could cause infinite loops when handling long words without spaces.

  • Adds RDAS client configuration to enable RDAS workflow support in JCB
  • Fixes infinite loop bug in write_message function when processing words longer than 100 characters

Reviewed Changes

Copilot reviewed 2 out of 3 changed files in this pull request and generated no comments.

File Description
jcb_clients.yaml Adds RDAS client registration with repository and branch configuration
jcb_client_init.py Fixes infinite loop bug in message line-breaking logic for long words

Tip: Customize your code reviews with copilot-instructions.md. Create the file or learn how to get started.

@CoryMartin-NOAA CoryMartin-NOAA merged commit 56ee046 into NOAA-EMC:develop Sep 2, 2025
1 of 6 checks passed
@CoryMartin-NOAA
Copy link
Contributor

@delippi take a look at the actions, it looks like the failure was real after all, I think there's an expected template missing for RDAS? I didn't look closely

@delippi
Copy link
Contributor Author

delippi commented Sep 2, 2025

@CoryMartin-NOAA, it is failing at a different step than it was earlier. I don't think it ran this step before because it was first failing to checkout the code. I think it is because jcb-rdas doesn't have an algorithm/ directory. I'm confused why there are algorithms under jcb-gdas and not just use jcb-algorithms?

@CoryMartin-NOAA
Copy link
Contributor

@delippi for application specific code, like if you had an OOPS application that did some sort of LBC/halo processing that only applied to the regional system, the template would live here

@delippi
Copy link
Contributor Author

delippi commented Sep 2, 2025

@CoryMartin-NOAA how do I manually run the ctests on hera to debug this? I think I have a simple fix to at least not have the ctests failing. Still lots of work to do to get this running for rdas.

@CoryMartin-NOAA
Copy link
Contributor

@delippi I think you install jcb into your virtual environment and then run pytest? See:

- name: Install the code
run: |
cd $GITHUB_WORKSPACE
pip install pyyaml
git branch
./jcb_client_init.py
pip install .[testing]
- name: Run unit tests
run: |
cd $GITHUB_WORKSPACE
pytest -v

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants