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

Long term solution for gold files #187

Open
AstroBarker opened this issue Dec 2, 2023 · 8 comments
Open

Long term solution for gold files #187

AstroBarker opened this issue Dec 2, 2023 · 8 comments
Labels
question Further information is requested

Comments

@AstroBarker
Copy link
Collaborator

As the title says. I am starting to spin up implementing the Parthenon regression testing framework into Phoebus. It's basically done, but we are going to need a long term solution for gold files for accepted solutions. Parthenon bakes them into github releases -- are there size limits on that? i.e., would we run into issues far down the line? Thoughts?

@brryan
Copy link
Collaborator

brryan commented Dec 2, 2023 via email

@AstroBarker
Copy link
Collaborator Author

AstroBarker commented Dec 2, 2023

Ah I see. I missed the process for creating the gold files -- I like this far more than the release model. Should've looked closer. As for looming problems, none. What are thoughts on wrapping the existing infrastructure into the Parthenon tooling for running the tests, so that they e.g., hook into the cmake testing?

Thanks for the clarifications!

@Yurlungur
Copy link
Collaborator

I am concerned about the long-term viability of plaintext gold files but they've worked for us up until now, so I'm fine keeping that machinery in place. I do like the idea of hooking into Parthenon's testing machinery other than that.

@brryan
Copy link
Collaborator

brryan commented Dec 4, 2023

For some context, I work on a software project with ~5-10 develoeprs that's had ~100 plaintext goldfiles in the repository for ~5 years that get upgolded regularly and it's never been an issue.

I have a preference (rather than a strong preference) for keeping the test machinery as-is because it works currently and is simple and extensible. Maybe I'm not a power user but I also never found much value in Catch2, I never used it as something other than a wrapper around bool (test passed or failed), and it has had issues in the past with appropriately handling printf/std::cout output, although maybe these are fixed now.

I also don't see any need to give cmake an opinion about how we run tests though I could be missing a useful feature.

One potential issue with the parthenon testing machinery -- does it support plaintext gold files?

@jonahm-LANL
Copy link
Collaborator

jonahm-LANL commented Dec 4, 2023 via email

@brryan
Copy link
Collaborator

brryan commented Dec 4, 2023

it would be nice to be running Phoebus on more hardware than GitHub provides.

Yeah I strongly agree with this. If parthenon's regression test gets us to EDIT: GPU CI then it would be quite useful for development. Thanks for pointing that out.

@Yurlungur
Copy link
Collaborator

Not sure Parthenon's regression suite will get us there... someone just needs to set up some CI on the re-git mirror again. Which probably has to be one of LANL staff...

@bprather
Copy link
Collaborator

bprather commented Dec 4, 2023

If you want a place to start on Darwin, I could also use more eyes on this: https://github.com/AFD-Illinois/kharma/blob/kharma-next/scripts/ci/darwin.yml

It's pretty basic, no containers or anything, should work with Jacamar. I use three different downstream pipelines to run on different hardware, and control what runs where with tags.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
question Further information is requested
Projects
None yet
Development

No branches or pull requests

5 participants