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 #2062

Merged
merged 6 commits into from
Apr 25, 2024
Merged

Conversation

martincostello
Copy link
Member

@martincostello martincostello commented Apr 16, 2024

This PR aims to add some GitHub Actions automation to streamline the release process and some of the boring tasks associated with it.

I'm going to test these out in a throwaway repo before merging to check they work as intended.

  1. Add a workflow that creates a new draft release ready for publishing. Running release with the version number to publish as (e.g. 8.3.2) will create a new draft release for that tag with the release notes populated. Then the person running it can click through to the link to the draft to check they're happy with the content before publishing it, which kicks off the release workflow to publish the packages to NuGet.org after the tag is created.
  2. Add a workflow that closes the current milestone and creates a draft pull request to update the samples to use that version of Polly and add the release notes to the CHANGELOG. Bumping MinVerMinimumMajorMinor is still a manual process if we want to increase the minor or major version of Polly itself.
  3. Moves any entries in the PublicAPI.Unshipped.txt files to the corresponding PublicAPI.Shipped.txt file.

Add a GitHub Actions workflow that creates a new draft release ready for publishing.
Add a comment for automation to use to insert the next release.
Add a GitHub Actions workflow that closes the current milestone and creates a pull request to update the samples and release notes.
@martincostello martincostello added CI/build github_actions Pull requests that update GitHub Actions code labels Apr 16, 2024
@martincostello martincostello added this to the v8.3.2 milestone Apr 16, 2024
Copy link

codecov bot commented Apr 16, 2024

Codecov Report

All modified and coverable lines are covered by tests ✅

Project coverage is 83.69%. Comparing base (f537f55) to head (ff0dd05).
Report is 9 commits behind head on main.

Additional details and impacted files
@@            Coverage Diff             @@
##             main    #2062      +/-   ##
==========================================
+ Coverage   83.67%   83.69%   +0.01%     
==========================================
  Files         312      312              
  Lines        7106     7114       +8     
  Branches     1054     1054              
==========================================
+ Hits         5946     5954       +8     
  Misses        789      789              
  Partials      371      371              
Flag Coverage Δ
linux 83.69% <ø> (+0.01%) ⬆️
macos 83.69% <ø> (+0.01%) ⬆️
windows ?

Flags with carried forward coverage won't be shown. Click here to find out more.

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

@martintmk
Copy link
Contributor

This is amazing @martincostello👍

I was silently hoping we could automate this at some point.

Move any entries in the Unshipped public API files to their corresponding Shipped file.
Move the inline PowerShell to script files.
- Fix tag name.
- Trim `v` if it's entered for a release tag.
- Update PR title and body.
- Fix incorrect link to release.
@martincostello
Copy link
Member Author

@martincostello martincostello marked this pull request as ready for review April 24, 2024 15:34
@martincostello martincostello merged commit 20cf892 into App-vNext:main Apr 25, 2024
18 checks passed
@martincostello martincostello deleted the release-automation branch April 25, 2024 07:07
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
CI/build github_actions Pull requests that update GitHub Actions code
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants