hpcugent / vsc-install

Shared setuptools functions and classes for python libraries developed by UGent's HPC group
Other
0 stars 27 forks source link

auto publish master builds to pypi #63

Open JensTimmerman opened 7 years ago

JensTimmerman commented 7 years ago

when master builds correctly and a version was bumped, (perhaps by checking if this is a specific tag?) the packages should be built and pushed to pypi. options:

stdweird commented 7 years ago

there's already the vsc_release command, which now only prnits what you should run, incl tag in github, requires config file for pypi and some env variable with the github secret

boegel commented 7 years ago

If you want to let Travis do this, we might as well switch to Travis entirely.

Please don't start mixing Jenkins & Travis for a project.

JensTimmerman commented 7 years ago

@boegel agreed, I just wanted to be clomplete @stdweird excellent, that makes it easy

boegel commented 7 years ago

EasyBuild bootstrap got broken again after merge of #66 because no new release of vsc-install was published on PyPI (fixed manually now).

Any ETA for getting this fixed?

Maybe we should have a separate Jenkins jobs that reacts to vsc-install merges to master which verifies if a corresponding release was pushed to PyPI, so we don't forget about it until this issue is handled?

JensTimmerman commented 7 years ago

I'll start working on this (because I'm often bitten by this)

I'll create a new setup.py command: jenkins_run This should combine the test and vsc_release command, in that it will run the tests, if successful check if os.environ['GIT_BRANCH'] == 'master' and if so run the commands that are now generated by vsc_release. (probably also first check if the version on pypi is older then the current one and fail the test if version wasn't bumped?)

We could then create 1 Jenkinsfile that only does: set up setuptools, install vsc-install, call python setup.py jenkins_run If in the future anything else needs to happen in tests or on jenkins, no need to change the jenkinsfile everywhere, we can fix this in vsc-install.

any remarks?

stdweird commented 7 years ago

a procedure and/or a new vsc_something call to revoke a release?

JensTimmerman commented 7 years ago

Is it really possible to revoke a release? This would probably mean reupload the previous version with a higher version number.

boegel commented 7 years ago

You can remove the sources from PyPI, but it should be done with great care, since you can never re-upload again for the same version.

Removing sources is frowned upon, all software has bugs, just do a new release with a bumped version...

JensTimmerman commented 7 years ago

see also https://github.com/hpcugent/vsc-install/issues/7 This command should also run clusterbuildrpm and publish releases on github