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

Release 0.1 #131

Closed
satra opened this issue Aug 18, 2019 · 18 comments
Closed

Release 0.1 #131

satra opened this issue Aug 18, 2019 · 18 comments

Comments

@satra
Copy link
Contributor

satra commented Aug 18, 2019

version 0.1 is ready for release. any concerns, comments:

cc: / @effigies @mgxd @djarecka

@effigies
Copy link
Contributor

Sounds good to me.

@djarecka
Copy link
Collaborator

djarecka commented Aug 18, 2019

sounds good

@djarecka
Copy link
Collaborator

@effigies @mgxd - it looks it's time for me to learn how to make a release, but might need some help from you. I should probably start from having access to the PyPI

@effigies
Copy link
Contributor

effigies commented Aug 19, 2019

What's your PyPI user? Well, my first guess worked. You're now an owner of the PyPI project.

@djarecka
Copy link
Collaborator

@effigies - thanks! trying to keep my usernames set small ;-)

@effigies
Copy link
Contributor

Good luck. And if your entire release process involves more than git, (python setup.py or pip) and twine, you've probably found an out-of-date guide.

@djarecka
Copy link
Collaborator

@effigies - and do you have your favorite guide?

@satra
Copy link
Contributor Author

satra commented Aug 19, 2019

favorite guide for this project :)

1. update version in a branch and push to github (see versioneer docs)
2. make sure CI pass
3. use annotated git tag with semantic versioning 
4. push `--tags` to make github release
5. use setup.py to build a py3 wheel
6. use twine to push to pypi (note that you can only push one release to pypi - you cannot overwrite a release, you will be forced to update the version)

@effigies
Copy link
Contributor

No, I'm terrible at collecting useful resources, and I now do this so much that I don't need to look it up. The Software Carpentries might have a good one.

Off of the top of my head, we have the deeply elaborate and in need of pruning guide to making a nibabel release, and nipype's Release checklist.

And I suppose I should clarify, by release process I mean "tagging, packaging and publishing", which use git, setup.py and twine, respectively.

There's other stuff like updating changelogs, mailmaps, Zenodo metadata, etc. I like to use a release branch for things like that, which gives people a chance to comment if necessary. And for that, I just go find an old PR and use it as a template.

@mgxd
Copy link
Contributor

mgxd commented Aug 19, 2019

@djarecka I aggregated information to a wiki entry here:
https://github.com/nipype/pydra/wiki/Release-Checklist

everyone: feel free to add / change things.

@djarecka
Copy link
Collaborator

I think I did it, but you can check if everything is ok.

Later today will update the wiki

@satra
Copy link
Contributor Author

satra commented Aug 19, 2019

overall looks good, but the tag was not annotated. so git describe doesn't work.

@effigies
Copy link
Contributor

effigies commented Aug 19, 2019

You can delete and repush an annotated tag from the CLI. GitHub takes it pretty smoothly.

# Delete your tag
git tag --delete 0.1.0
# Tag with annotation
git tag -a 0.1.0
# Delete upstream tag
git push upstream :0.1.0
# Push upstream tag
git push upstream 0.1.0

If you have a GitHub release, it will simply slip the new tag under the old release.

@satra
Copy link
Contributor Author

satra commented Aug 20, 2019

thank you @djarecka and @effigies

@satra satra closed this as completed Aug 20, 2019
@djarecka
Copy link
Collaborator

it should be better now.

@effigies - thanks, but I've changed the tag before reading your answer in full, so I kept the name 0.1. If you prefer 0.1.0 or v0.1.0, let me know

@effigies
Copy link
Contributor

Pretty sure 0.1 and 0.1.0 are equivalent as far as PEP 440 is concerned, so I wouldn't worry about redoing it.

@djarecka
Copy link
Collaborator

ok, I saw people are definitely using this notation, so should be fine

@djarecka
Copy link
Collaborator

I've updated wiki, feel free to change.

do we want to create zenodo right now, or we will wait wit this?

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

4 participants