Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

auto publish master builds to pypi #63

Open
JensTimmerman opened this issue Dec 13, 2016 · 9 comments
Open

auto publish master builds to pypi #63

JensTimmerman opened this issue Dec 13, 2016 · 9 comments

Comments

@JensTimmerman
Copy link
Contributor

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
Copy link
Member

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
Copy link
Member

boegel commented Dec 13, 2016

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
Copy link
Contributor Author

JensTimmerman commented Dec 13, 2016

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

@boegel
Copy link
Member

boegel commented Jan 13, 2017

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
Copy link
Contributor Author

JensTimmerman commented Feb 1, 2017

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
Copy link
Member

stdweird commented Feb 1, 2017

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

@JensTimmerman
Copy link
Contributor Author

JensTimmerman commented Feb 2, 2017

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

@boegel
Copy link
Member

boegel commented Feb 3, 2017

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
Copy link
Contributor Author

see also #7
This command should also run clusterbuildrpm and publish releases on github

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants