ODM2 / conda-recipes-ODM2

Conda recipes for the Observations Data Model 2
2 stars 1 forks source link

notes on updating recipes/packages, for future docs #29

Open emiliom opened 8 years ago

emiliom commented 8 years ago

We should turn this into documentation later on. For now, just a collection of notes about how conda packages are updated.

Requesting an update:

Create an issue in this repo. Initially @ocefpaf will handle updates. Later on, hopefully others (myself included) will be able to do the updates, too.

What happens next?

@ocefpaf will update the recipe meta.yaml file. He'll I send a PR from a fork, wait for a "green" build and merge. The upload to the channel is automatic after the merge.

valentinedwv commented 8 years ago

Can we do a proto travis scripts to pull the conda distribution so that we could use them for testing and development... aka dogfood.

Then maybe we can incorporate this into other travis scripts.

EDIT from @emiliom: This discussion was moved to #31. I'd like to keep the original issue focused on just documentation on how the package updating and creation process works.

emiliom commented 8 years ago

More documentation notes, from @ocefpaf's recent update to the odm2api recipe. To update to a new tagged release, effectively only the {% set version} entry in the meta.yaml file was updated (he made another change, but it looks like it's more of a general upgrade to how things are done)

ocefpaf commented 8 years ago

@emiliom that was some boilerplate that is not really needed, but nice to have.

Changing from a git_url and git_tag to a release URL we download less data as we don't clone the whole repository. I also added a sha256 check to ensure the download is fine.

emiliom commented 8 years ago

that was some boilerplate that is not really needed, but nice to have.

Are you referring to the fn and url, or something else?

Thanks for the explanation on git_url and git_tag vs fn and url.

ocefpaf commented 8 years ago

Are you referring to the fn and url, or something else?

Nope. That is it :smile:

emiliom commented 8 years ago

Notes with respect to the (re)building process.

From @ocefpaf at #32 (regarding psycopg2 and odm2api):

You need to wait for the CI to re-build and upload. You can follow the progress here: https://ci.appveyor.com/project/ocefpaf/conda-recipes-odm2/branch/master You can see that some of the new binaries are already there: https://anaconda.org/odm2/odm2api/0.5.0.a0/download/win-32/odm2api-0.5.0.a0-py27_1.tar.bz2

With a follow-up comment:

FYI the Windows builds are always the slowest. AppVeyor does not build the matrix concurrently and waits a few minutes between the builds. There is very little we can do about that but to wait.

And from a different thread, different conda recipes repo (ioos channel) -- but still from @ocefpaf:

They are being built. See https://travis-ci.org/ioos/conda-recipes for the progress. The problem is that Travis-CI, used for the OS X builds, limits the log to 4 MB and gdal exceeds that. So I need to hit re-start after each build.

(EDIT: follow-up to the previous comment)

I am not sure if the log limitation is improved in the paid version, but that is not too painful (and there workarounds that I was too lazy to implement.) It happens only with gdal. In conda-forge we build way more complex stuff using the free account without a problem.

emiliom commented 8 years ago

For great new materials, see the online presentation @ocefpaf put together for today's ODM2/BiGCZ webex meeting. It's got technical details about the ODM2 conda channel, how to create and update recipes, and so on.

emiliom commented 8 years ago

A follow-up to an earlier comment from today:

(me) I guess what I was ultimately asking is, what do we look for (and where) to know when it's completely done and ready?

(@ocefpaf) Ideally the channel like @miguelcleon did. However, since that PR was just merged and you can follow the CI build by clicking on the badges here.

Thanks, @ocefpaf! BTW, I assume what you mean when you say that we should check the channel, is check that all the OS badges are there under the package, and/or that the corresponding files are under the "Files" tab/button.

emiliom commented 6 years ago

I'm parking this pointer from @ocefpaf here, for now:

PEP 440 recommendations on version identification, version tagging, and in particular conventions for pre-release versions: https://www.python.org/dev/peps/pep-0440/#pre-releases