cadquery icon indicating copy to clipboard operation
cadquery copied to clipboard

Make versioned conda builds between releases

Open ovidner opened this issue 3 years ago • 2 comments

NOTE: this is a work in progress. PR opened for discussion and to get Pipelines running.

What's the problem?

It's not possible to pin the package version in conda between releases. There's a ton of cool stuff in CadQuery only available in the development version that one might want to use without necessarily following the very bleeding edge of development. If I pin to cadquery=master today, I might get a different version tomorrow.

What's my solution?

  • Use setuptools_scm to automagically get version numbers based on git tags and history.
  • Build conda packages and mark them using these version numbers. E.g. cadquery-2.2.dev304+g45334d0-py3.8.tar.bz2
  • Publish development versions under the dev label (so that one can use cadquery/label/dev as a channel).
  • Publish released versions under the main label, as usual.

Is this even a good idea?

Well, is it? Feel free to let me know if you outright believe it to be a bad idea. I'm very open to discuss the nuances of this.

ovidner avatar Nov 25 '21 17:11 ovidner

I don't think we want to keep dev builds. If you really need this as a user use pip+git. It would be nice to hava a build number and automatic removal of older builds.

adam-urbanczyk avatar Nov 25 '21 19:11 adam-urbanczyk

I solved this for my own purposes by creating a GitHub Actions workflow (https://github.com/ovidner/cadquery-dev-builder/blob/main/.github/workflows/main.yml), publishing the builds to my own Anaconda namespace, under the cq-dev label (https://anaconda.org/ovidner/cadquery). @adam-urbanczyk: feel free to close this or let me know if you want me to incorporate any of the Actions stuff into the main CQ repo. I'd love to contribute!

ovidner avatar May 12 '22 09:05 ovidner

Thank, superseded by https://github.com/CadQuery/cadquery/pull/1315

adam-urbanczyk avatar Dec 19 '23 14:12 adam-urbanczyk