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

Automate release tag, changelog and man pages #61031

Merged
merged 5 commits into from
May 24, 2022
Merged

Conversation

Ch3LL
Copy link
Contributor

@Ch3LL Ch3LL commented Oct 12, 2021

What does this PR do?

Use Github Actions to help automate some release tasks. Both of these Github Actions are manually triggered, with the release version and other inputs required.

  1. Generate Release changelog and man pages

release-docs

release-docs-ga-in-progress

This Github Action will generate the changelog, add the changelog to the release notes and generate the man pages. If the man pages do not need to be generated you can set man pages to false in the inputs. Once all the docs are generated it will create a PR automatically. Here is the PR that was created on my repo:

Ch3LL#16

There are still some improvements that could be made to this:
a. Detect if the release file has not been created and add the required 3005 banner at the top of the release notes file.
b. If re-generating the docs for a re-tag, figure out how to automatically add the changelog entries to the correct place. Right now this will require manually updating the PR.

  1. Create Tag and Release:

create-tag

tag-release-final

This Github Action will create a 3005 tag and github release. It will also build and generate the salt tar ball. If its a re-tag, you can set retag to be true and it will delete the previous 3005 tag and release before generating the new tag and github release.

@Ch3LL Ch3LL requested a review from a team as a code owner October 12, 2021 13:43
@Ch3LL Ch3LL requested review from krionbsd, barbaricyawps and bryceml and removed request for a team October 12, 2021 13:43
krionbsd
krionbsd previously approved these changes Oct 12, 2021
barbaricyawps
barbaricyawps previously approved these changes Oct 12, 2021
Copy link
Contributor

@barbaricyawps barbaricyawps left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good to me!

@bryceml
Copy link
Contributor

bryceml commented Oct 18, 2021

it looks like the tag annotation was v3005 when we've always done something like Version 3005 in the past.

@Ch3LL Ch3LL force-pushed the ga_release branch 3 times, most recently from ab3f3a4 to dedc2b5 Compare November 8, 2021 16:03
@Ch3LL
Copy link
Contributor Author

Ch3LL commented Nov 8, 2021

I don't see a reason why we need the tag annotation to say "Version 3005" versus using "v3005". Looks like the github action is pending a PR mathieudutour/github-tag-action#23 here to add the feature to add a custom annotated tag message. If there is no need for "Version 3005" I think we are okay to go forward with this.

@dmurphy18
Copy link
Contributor

dmurphy18 commented Feb 17, 2022

@Ch3LL Wondering about that definition to use Python 3.8, file .github/workflows/release-tag.yml lines 44-48. While it would be great for Centos 7 and 8, Centos 9 is using Python 3.9, Ubuntu 22.04 is probably going to be using Python 3.9 too, or maybe Python 3.10 like Fedora 35 , 36. Until Tiamat packaging is the only available packages, I believe we need to allow for the OS provided Python 3 version so long as it is 3.8 or greater.

Or is that Python 3.8 just for the GitHub Actions ?

@s0undt3ch
Copy link
Collaborator

@dmurphy18 it's GH Actions specific, nothing to do with whatever python versions salt supports

@Ch3LL
Copy link
Contributor Author

Ch3LL commented Feb 25, 2022

ping @krionbsd would changing the annotation tag impact packaging at all?

I verified that changing the tag annotation does not impact the salt version:

(heist-3.8)  ch3ll@megan-precision5550  ~/git/salt  ➦ cb056ac98b <B>  git tag -a v3006.1 -m "Version 3006.1"
(heist-3.8)  ch3ll@megan-precision5550  ~/git/salt  ➦ cb056ac98b <B>  git checkout v3006.1    
HEAD is now at cb056ac98b skip if no docker and fix failing test
(heist-3.8)  ch3ll@megan-precision5550  ~/git/salt  ➦ cb056ac98b <B>  salt --version                        
salt 3006.1
(heist-3.8)  ch3ll@megan-precision5550  ~/git/salt  ➦ cb056ac98b <B>  git tag -a v3006.1 -m "v3006.1"       
(heist-3.8)  ch3ll@megan-precision5550  ~/git/salt  ➦ cb056ac98b <B>  git checkout v3006.1
HEAD is now at cb056ac98b skip if no docker and fix failing test
(heist-3.8)  ch3ll@megan-precision5550  ~/git/salt  ➦ cb056ac98b <B>  salt --version                 
salt 3006.1

@krionbsd
Copy link
Contributor

ping @krionbsd would changing the annotation tag impact packaging at all?

no, it shouldn't impact packaging

@Ch3LL Ch3LL added the Phosphorus v3005.0 Release code name and version label May 24, 2022
@Ch3LL Ch3LL merged commit d29511c into saltstack:master May 24, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Phosphorus v3005.0 Release code name and version
Projects
None yet
Development

Successfully merging this pull request may close these issues.

7 participants