cmu-delphi / delphi-epidata

An open API for epidemiological data.
https://cmu-delphi.github.io/delphi-epidata/
MIT License
100 stars 62 forks source link

Decouple client release from Delphi release #1465

Closed rzats closed 1 week ago

rzats commented 1 month ago

Closes #1296.

Summary:

Semi-detaches the versioning of the Python client and delphi-epidata.

This means that a new version of the Python client is only released when changes are made to the client file - when this is the case, however, it is synced to the current delphi-epidata version.

For further details, see https://github.com/cmu-delphi/delphi-epidata/issues/1296#issuecomment-2143152714.

Prerequisites:

dshemetov commented 4 weeks ago

Pushed a merge from dev and resolved conflicts with #1470.

rzats commented 2 weeks ago

@melange396 @dshemetov this is ready once again! Here's an updated rundown of my CI tests as well.

For testing purposes, I've forked the delphi-epidata repository, then added the commit https://github.com/rzats/delphi-epidata/commit/0e9500f7da8cd0506cb259e57692f07c040ed3be to it. This is a version of this PR which enables create-release and release-helper within a fork, but also stubs out various destructive steps in the GitHub Action - like actually creating a PyPi release, for instance.

I then ran several mock releases within the same repository:

4.1.24

https://github.com/rzats/delphi-epidata/pull/1

4.1.25

https://github.com/rzats/delphi-epidata/pull/3

4.1.26

https://github.com/rzats/delphi-epidata/pull/5

sonarcloud[bot] commented 1 week ago

Quality Gate Passed Quality Gate passed

Issues
0 New issues
0 Accepted issues

Measures
0 Security Hotspots
0.0% Coverage on New Code
0.0% Duplication on New Code

See analysis details on SonarCloud

rzats commented 1 week ago

@melange396 @dshemetov I've updated the PR again! Also reran the tests and updated the links here: https://github.com/cmu-delphi/delphi-epidata/pull/1465#issuecomment-2183004917

melange396 commented 1 week ago

It looks like you tested this with just "patch" as the argument to "Create Release"... Did you try with "major" (or "minor") and an explicit version to make sure those do the right thing too?

rzats commented 1 week ago

@melange396 I ran some tests for these just now and everything's looking OK:

minor: https://github.com/rzats/delphi-epidata/pull/7 4.1.264.2.0 major: https://github.com/rzats/delphi-epidata/pull/9 4.2.05.0.0 custom: https://github.com/rzats/delphi-epidata/pull/11 5.0.06.7.8; also changes the Python client to make sure it jumps to the right version