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 automation #163

Merged
merged 3 commits into from
Apr 12, 2023
Merged

Conversation

lucianopaz
Copy link
Collaborator

Closes #162

This PR adds two things.

  1. It adds a release.yml that serves as a template for release notes. It establishes the same labeling convention that is used in PyMC.
  2. It adds a workflow that is only triggered by publishing a release. This will first create the sdist and bdist for the package, test that installing them provides the package with the same version as the one set in the commit tag, then attempts to upload to test.pypi, and if successful, finally uploads to pypi.

@lucianopaz lucianopaz added the no releasenotes Skipped in automatic release note generation label Jan 20, 2023
@drbenvincent
Copy link
Collaborator

Nice!

At the moment the release notes are really easy with the automated GitHub release notes button, producing things like this with zero effort.

Do you know if or how that would change with the .github/release.yml file?

Screenshot 2023-01-23 at 18 48 18

@lucianopaz
Copy link
Collaborator Author

With the release.yml, your release notes would be divided into sections:

  • Major Changes 🛠
  • New Features 🎉
  • Bugfixes 🐛
  • Documentation 📖
  • Maintenance 🔧

The first 4 sections would require you to provide an appropriate label to the PR that is being merged. The PRs that don't have any of those special labels would be listed under the maintenance section. The list of first time contributors will still show up without any changes.

@lucianopaz lucianopaz force-pushed the release_automation branch 2 times, most recently from 83a86c3 to ab42bb8 Compare February 14, 2023 16:51
@lucianopaz lucianopaz mentioned this pull request Feb 15, 2023
@lucianopaz lucianopaz added the devops DevOps related label Feb 15, 2023
@twiecki
Copy link
Contributor

twiecki commented Mar 9, 2023

Can we merge this?

@drbenvincent
Copy link
Collaborator

drbenvincent commented Mar 9, 2023

In an ideal world we'd update CONTRIBUTING.md.

@drbenvincent
Copy link
Collaborator

Do I understand correctly that all this needs in order to work properly is the following tags to exist?

  • no releasenotes
  • major (this is the only one that doesn't exist at this point)
  • enhancement
  • bug
  • everything else is labelled as maintenance?

And the labels that are relevant are ones on the PR's, not on the issues that they may close?

@drbenvincent
Copy link
Collaborator

Currently this goes through my personal pypi account. Do we want to move that over to PyMC Labs pypi account, or shall I just enter my personal secrets.PYPI_API_TOKEN on GitHub?

@drbenvincent drbenvincent merged commit 417b171 into pymc-labs:main Apr 12, 2023
@drbenvincent drbenvincent mentioned this pull request Apr 12, 2023
2 tasks
@lucianopaz lucianopaz deleted the release_automation branch April 12, 2023 10:49
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
devops DevOps related no releasenotes Skipped in automatic release note generation
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Automate the pypi uploads upon release
3 participants