-
Notifications
You must be signed in to change notification settings - Fork 55
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
Conda package attempt #75
base: main
Are you sure you want to change the base?
Conversation
…define build recipe in meta.yaml and relevant fields. define conda environment.
green check, yes. note failures in pipeline... |
…for test step. add git at dependency to see if it keeps the pipeline happy.
current testing state is odd. In the pipeline,
Additionally, in the pipeline, all
|
…move most unneeded failure-guarding shell commands.
…st t/t001-list_paths.sh
…nge approach to resolving binDir in t/t001-list_paths- should possibly keep the pipeline happier. include mkmf in source files for test step of conda build. more echos, switch spot of echo output to avoid adjusting status of last-called shell command.
…he testing approach makes perfect sense locally- so why isnt the pipeline happy?
…tween string and ints in test success condition checks
…slowing this pipeline down for its own good!! (maybe...)
AHA! the failure in githhub's pipeline arises because the command there, for some reason, resolves the symbolic link file a little more simply: locally, the test |
relatively sure that once the |
It looks great, thanks! The What do you think about throwing in the noaa-gfdl anaconda channel key and having this pipeline publish as well as build. Too soon? It's odd that the tests needing adjusting (but then again I hadn't realized there were mkmf tests. :) |
nope!
no we can do it- i'll maybe say it should stick with an alpha version tag for now... at most, beta
100% conda build is derefencing links found in specified source files for the testing step! idk what the best way to deal with that is and not lose true quality control. |
put conda-relevant things in README- adjust markdown, update dependencies discussed. put disclaimer+license at the bottom of the readme to emphasize usage, installation, featurres etc.
update badge
This is ready. The only thing i can think of is that to make the tests compatible w/ conda and the past-mode of usage is to adjust |
…pty repo for pipeline-compatibility
All tests now pass without caveat in all contexts. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Nice work, Ian. Bonus for the the documentation updates.
The templates still have to be installed somehow, right?
RE: these templates- |
It's odd that mkmf includes the code and the templates for compiling FMS models on selected platforms, but they're been used together like this for 20 years. I think it's a little more consistent to only conda install the mkmf and list-paths tools, but by tradition, we should probably include the templates in the conda package also. CatalogBuilder does this.. I'm not sure how it works, but e.g. the templates are installed alongside the bin and lib files. @Ciheim could explain it. For proof though, the GFDL default template (gfdl_template.json) is installed in fre-cli:
|
using shell to drive workflows for decades will incentivize this kind of approach. unfortunately, given the way conda packages function... do we really want to be doing things like this? targeting the
maybe we should consider de-coupling the templates and the code?
i'm sympathetic, i wanna figure it out.
It's not quite 1-1: |
i get the executables in the environment to $PREFIX/bin, because |
i think the ideal solution would be that |
Yes!! I agree that would be a natural solution. I was thinking of a dummy |
Pertaining to the templates for fre make functions, currently we have the path specified in the platforms.yaml: Ryan mentioned this in another issue as well (in relation to mkmf being a submodule but still applies): NOAA-GFDL/fre-cli#303 If the template is in a set location in the conda package, that would pretty nice to refer to that location and just have the name of the template in the platforms.yaml (for fre make things at least) |
My main problem with me implementing that in this PR is that i do not know |
Let's chat for a minute in-person on this when we can |
The templates should be a separate repository, as they're not really used by this repository out of necessity- they are a convenience for prospective users. We're informing this view point with the following:
|
… package directory.
slightly adjust current README instructions
test-run publish_conda workflow by asking it to run on push to `conda_package` branch, see what happens!
…gitlab/travis pipeline workflow files
this PR:
- adjust success condition of some tests, particularly those testinglist_files
t/t001-list_paths.sh
does set-up, now createst/src/file6.f90
symbolic link on-the-fly. removed at end of each of those testsPATH
and adjusts only if needed. abovefile6.f90
link creation done on-the-fly fort/t003-mkmf.sh
as well.meta.yaml
to define theconda build
recipeenvironment.yml
defining fully functional environmentmkmf
"package" directoryconda build
under github's CI/CD pipelines,conda build .
--no-anaconda-upload
version in.github/workflows/build_conda.yml
, with uploading in.github/workflows/publish_conda.yml
. run conditions identical to that offre-cli