bokulich-lab / RESCRIPt

REference Sequence annotation and CuRatIon Pipeline
BSD 3-Clause "New" or "Revised" License
89 stars 26 forks source link

Fix broken versioneer tag (2020.11.0) #86

Closed thermokarst closed 3 years ago

thermokarst commented 3 years ago

It looks like the latest release tag has a typo in it, the tag is 2020.11, but in order to be PEP440/versioneer compliant compatible with the QIIME 2 train release, the tag should actually be 2020.11.0. In theory we can just delete the broken tag and replace it with a new tag, but I am not sure what kind of URLs may or may not break because of that (and if it even matters).

thermokarst commented 3 years ago

PS - this broken tag is why the CI is failing. For example:

https://github.com/bokulich-lab/RESCRIPt/actions/runs/332383389

conda_build.exceptions.DependencyNeedsBuildingError: Unsatisfiable dependencies for platform linux-64: {'q2-longitudinal=2020.11+1', 'qiime2=2020.11+1', 'q2-feature-classifier=2020.11+1', 'q2-types=2020.11+1'}

conda-build is searching for a 2020.11 version of qiime2 and friends, but can't find that version (because there is no version of qiime2 called 2020.11.

thermokarst commented 3 years ago

Another issue is that there are no production versions of 2020.11.0 QIIME 2 packages available right now. The point of the "train release" pattern is to match the major+minor version numbers for all of the packages. RESCRIPt is now "ahead" of everything else, which is problematic (this means we have install instructions that look like "well, in order to install the 2020.11 version of rescript, you need to install the 2020.8 version of QIIME 2...").

The latest production release of QIIME 2 is 2020.8.0. Ideally RESCRIPt would have a 2020.8.0 release to coincide with the "train release" (instead of the current 2020.11 release). Similarly, then the master branch on this repo could be tagged 2020.11.0.dev0 to match the rest of the ecosystem's state at this point.

thermokarst commented 3 years ago

Okay, I spent some time refreshing my memory on PEP 440. I think what we can do is mostly just ignore this erroneous release. That means tag dev (add a new empty commit with a tag at 2020.11.0.dev0), develop as usual, then sometime after the QIIME 2 2020.11 release, we can tag release (add a new empty commit/github release at 2020.11.0). Versioneer should do the right thing. We won't need to clean up https://packages.qiime2.org/qiime2/unverified/, because we never got a 2020.11 build (action-library-packaging did the right thing here and prevented us from pushing up a broken build).

thermokarst commented 3 years ago

Okay, so actually, I think I came up with a more sound option: we just start development of rescript 2020.11.1. I dev bumped to 2020.11.1.dev0 (note this is different from 2020.11.0.dev0). When the 2020.11 release of QIIME 2 comes out in a few weeks we can just kick out a 2020.11.1 release of rescript. Duh...