-
Notifications
You must be signed in to change notification settings - Fork 11
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
fms_yaml_tools conda environment+packaging attempt #66
base: main
Are you sure you want to change the base?
Conversation
…v, test in conda env (create_test_conda_env). also to run on push: workflow to build conda package but not publish the package (build_conda). to run on merge to main branch: workflow to publish conda package (publish_conda). environment.yaml builds usable environment with `conda env create -f environment.yaml`, which can then be activated. the python within that environment may be used to pip install the `fms_yaml_tools` package into the conda env. meta.yaml provides info for `conda build`, this is a first-pass ultimate goal is a conda package fms_yaml_tools to link fre-cli's fre.yamltools into, ala fre.catalog into catalogbuilder
…r gfdl_msd_schemas/FMS folder to execute final test
… gfdl_msd_schemas/MSD
whitespace change please workflow run
see if i can't convince conda build to use the gfdl_msd_schemas repo code anyways
probably not gonna work. gotta try it juuuuust one more thing though...
Add conda environment yaml
To understand the friction with Poking through logs here, you come up against the relevant error message, thrown by
This message is essentially useless and is points one to the wrong thing, i think, because of github's CI/CD oddities. To get to the root of the real problem, one should clone this repo locally, pull in it's submodules (grabbing Locally, a |
an attempt inspired by dana https://github.com/NOAA-GFDL/fre-cli/actions/runs/11689951547/workflow
…d for recursive cloning
CREDIT TO @singhd789 and @rem1776 for pointing this out to me. the solution is- no "by hand"
|
This is less an actual PR, and more a discussion with some diffs nearby to easily click through.
There was a clear and early intention to have
fms_yaml_tools
interface withfre-cli
. These were not formally a dependency, however, and so those pieces of code were not tracking updates to this repository. I removed them when I realized exactly how far behind they were...So, after that, I set about exploring how I could make
fms_yaml_tools
a formal dependency of thefre-cli
conda package. This PR reflects that effort! The first step to making it a formal dependency is to makefms_yaml_tools
a conda package itself. Conda packages are only permitted to rely on other conda packages within the conda ecosystem.This PR is doing two main things:
adds
environment.yml
to create a conda environment forfms_yaml_tools
. If one doesconda env create -f environment.yml
and activates that created environment, one should be able to clone this repo (recursively) andpip install .
successfully into that environment. I've tested this locally by hand and it works great- the unittests pass! Additionally, there is also nowcreate_test_conda_env.yml
, a workflow that clearly demonstrates whatenvironment.yml
is for and how to use it. A successful run can be seen here. Aside from style/neatness, this is largely ready as a prototype approach.Independent of the above capability, though slightly-overlapping, this PR also adds
meta.yaml
for initial conda packaging efforts. This is very similar toenvironment.yml
but with a crucial difference- it's the target forconda build
, which outputs a tarball that's capable of being uploaded to a conda channel repository.fre-cli
's workflows check the conda package build/publishing using github workflows, which i've attempted to adapt to this repo, as seen in.github/workflows/build_conda.yml
and.github/workflows/publish_conda.yml
. These workflows are not working yet. I.e., the conda packaging of this repository is not ready as a prototype yet. I will detail the friction in my next comment.