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

Mechanized Release Process #380

Merged
merged 18 commits into from Feb 20, 2020
Merged

Mechanized Release Process #380

merged 18 commits into from Feb 20, 2020

Conversation

AstraLuma
Copy link
Member

Implements a mechanized release process. Under this, the release process would be:

  1. Go to GitHub Release pages
  2. Look at the diff since last version, compile changelog
  3. On the GitHub site, create a tag/release with the changelog and any other release notes
  4. Cirrus CI is responsible for building and uploading to PyPI and GitHub

Additionally, dev releases are uploaded to PyPI test every time master is updated.

Version numbers are no longer explicitly listed in the repo, instead being calculated based on the git tags.

This code is a pretty direct copy from https://github.com/gqlmod/gqlmod (which is in part based on code that @duckinator wrote).

@nbraud originally proposed this for PPB.

AstraLuma and others added 3 commits February 19, 2020 13:21
Co-authored-by: Nicolas Braud-Santoni <nicolas@braud-santoni.eu>
Co-authored-by: Nicolas Braud-Santoni <nicolas@braud-santoni.eu>
Need the `git` command with setuptools_scm

Co-authored-by: Nicolas Braud-Santoni <nicolas@braud-santoni.eu>
@AstraLuma
Copy link
Member Author

Note that I don't really expect this to be merged. It's more along the lines of "demo then discuss".

Can't easily install git into the windows container, so just use the built wheel

Co-authored-by: Nicolas Braud-Santoni <nicolas@braud-santoni.eu>
Co-authored-by: Nicolas Braud-Santoni <nicolas@braud-santoni.eu>
Co-authored-by: Nicolas Braud-Santoni <nicolas@braud-santoni.eu>
@AstraLuma
Copy link
Member Author

Ok, I'm going to leave the shuffling of artifacts around until we decide to actually do this.

@pathunstrom
Copy link
Collaborator

Additionally, dev releases are uploaded to PyPI test every time master is updated.

Alright this is pretty much the thing that settles my doubts. It gives us a live preview of the build artifacts before we cut a release. If you and @nbraud are happy with this, I'm happy with it.

Co-authored-by: Nicolas Braud-Santoni <nicolas@braud-santoni.eu>
AstraLuma and others added 4 commits February 19, 2020 16:38
Co-authored-by: Nicolas Braud-Santoni <nicolas@braud-santoni.eu>
Co-authored-by: Nicolas Braud-Santoni <nicolas@braud-santoni.eu>
Co-authored-by: Nicolas Braud-Santoni <nicolas@braud-santoni.eu>
Co-authored-by: Nicolas Braud-Santoni <nicolas@braud-santoni.eu>
@AstraLuma AstraLuma marked this pull request as ready for review February 19, 2020 22:35
@AstraLuma AstraLuma requested a review from a team as a code owner February 19, 2020 22:35
@AstraLuma
Copy link
Member Author

Ok, CI is green.

Just need to add the API tokens, and this should be good.

@AstraLuma
Copy link
Member Author

NVM. I can't log in as the bot because of Security:tm:, so the credentials will have to wait.

AstraLuma and others added 6 commits February 19, 2020 19:23
Co-authored-by: Nicolas Braud-Santoni <nicolas@braud-santoni.eu>
Co-authored-by: Nicolas Braud-Santoni <nicolas@braud-santoni.eu>
@AstraLuma
Copy link
Member Author

Tokens are in place.

Tested uploads.

I think this is good.

@pathunstrom
Copy link
Collaborator

Off we go into the new world.

bors r+

bors bot added a commit that referenced this pull request Feb 20, 2020
380: Mechanized Release Process r=pathunstrom a=astronouth7303

Implements a mechanized release process. Under this, the release process would be:

1. Go to GitHub Release pages
2. Look at the diff since last version, compile changelog
3. On the GitHub site, create a tag/release with the changelog and any other release notes
4. Cirrus CI is responsible for building and uploading to PyPI and GitHub

Additionally, dev releases are uploaded to PyPI test every time `master` is updated.

Version numbers are no longer explicitly listed in the repo, instead being calculated based on the git tags.

This code is a pretty direct copy from https://github.com/gqlmod/gqlmod (which is in part based on code that @duckinator wrote).

@nbraud originally proposed this for PPB.

Co-authored-by: Jamie Bliss <jamie@ivyleav.es>
@bors
Copy link
Contributor

bors bot commented Feb 20, 2020

Timed out

@AstraLuma
Copy link
Member Author

bors retry

bors bot added a commit that referenced this pull request Feb 20, 2020
380: Mechanized Release Process r=pathunstrom a=astronouth7303

Implements a mechanized release process. Under this, the release process would be:

1. Go to GitHub Release pages
2. Look at the diff since last version, compile changelog
3. On the GitHub site, create a tag/release with the changelog and any other release notes
4. Cirrus CI is responsible for building and uploading to PyPI and GitHub

Additionally, dev releases are uploaded to PyPI test every time `master` is updated.

Version numbers are no longer explicitly listed in the repo, instead being calculated based on the git tags.

This code is a pretty direct copy from https://github.com/gqlmod/gqlmod (which is in part based on code that @duckinator wrote).

@nbraud originally proposed this for PPB.

Co-authored-by: Jamie Bliss <jamie@ivyleav.es>
@bors
Copy link
Contributor

bors bot commented Feb 20, 2020

Canceled

@AstraLuma
Copy link
Member Author

bors retry

@bors
Copy link
Contributor

bors bot commented Feb 20, 2020

Build succeeded

  • docs
  • Linux python:3.6-slim
  • Linux python:3.7-slim
  • macOS PYTHON:3.6.8
  • macOS PYTHON:3.7.2
  • pep517
  • Windows python:3.6-windowsservercore
  • Windows python:3.7-windowsservercore

@bors bors bot merged commit dcd23c5 into ppb:master Feb 20, 2020
@AstraLuma AstraLuma deleted the ci-auto-release branch February 20, 2020 04:49
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

Successfully merging this pull request may close these issues.

None yet

2 participants