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: release (undraft) GitHub release from release script #18886

Draft
wants to merge 1 commit into
base: main
Choose a base branch
from

Conversation

ivanvc
Copy link
Member

@ivanvc ivanvc commented Nov 12, 2024

Release (updraft) GitHub release from the release script after creating it, avoiding the last manual step of this process. However, if the user answers no to the prompt, the script won't exit with a failure code, as it is still possible to manually release it.

I tested this in my fork, and it works as expected.

Part of #18604

Please read https://github.com/etcd-io/etcd/blob/main/CONTRIBUTING.md#contribution-flow.

@codecov-commenter
Copy link

⚠️ Please install the 'codecov app svg image' to ensure uploads and comments are reliably processed by Codecov.

Codecov Report

All modified and coverable lines are covered by tests ✅

Project coverage is 68.76%. Comparing base (1316f3a) to head (5e33645).

Current head 5e33645 differs from pull request most recent head 7f94319

Please upload reports for the commit 7f94319 to get more accurate results.

❗ Your organization needs to install the Codecov GitHub app to enable full functionality.

Additional details and impacted files

see 20 files with indirect coverage changes

@@            Coverage Diff             @@
##             main   #18886      +/-   ##
==========================================
- Coverage   68.77%   68.76%   -0.01%     
==========================================
  Files         420      420              
  Lines       35532    35532              
==========================================
- Hits        24438    24435       -3     
- Misses       9661     9670       +9     
+ Partials     1433     1427       -6     

Continue to review full report in Codecov by Sentry.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 1316f3a...7f94319. Read the comment docs.

Copy link
Member

@jmhbnz jmhbnz left a comment

Choose a reason for hiding this comment

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

LGTM - Thanks @ivanvc

log_warning ""

# Give a 10 minute timeout to the user to confirm the release.
read -p "Release GitHub release for ${RELEASE_VERSION} [y/N]? " -t 600 -r confirm
Copy link
Member

Choose a reason for hiding this comment

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

I think with a bit more testing / confidence we can simply drop the publishing of the release in draft mode and 10 minute review prompt and simply publish the full release.

It was a really great milestone to see the script automatically creating the GitHub release for us today so let's just get a bit more confidence in the next round of releases and then revisit it :)

Copy link
Member Author

Choose a reason for hiding this comment

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

I agree. I was hesitant to add this change, but no matter what arguments I'd pass to gh create release, the draft release in the edit UI always has the "set as latest release" checkbox ticked. So, the workaround was to publish the release by editing it, while passing all the possible arguments.

Copy link
Member Author

Choose a reason for hiding this comment

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

I'm going to draft this PR then. We can revisit it when we feel confident about automating the release process.

"main")
gh_release_args=(--latest=false --prerelease=true)
;;
"release-3.5")
Copy link
Member

Choose a reason for hiding this comment

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

We might want to start capturing a list of tasks in an issue and adding it to the https://github.com/etcd-io/etcd/milestone/38 in order to capture the trivial release related tasks we would need to perform in order to safely cut new release-3.6 branch. For example, updating this script to add the release-3.6 logic.

@k8s-ci-robot
Copy link

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: ivanvc, jmhbnz

The full list of commands accepted by this bot can be found here.

The pull request process is described here

Needs approval from an approver in each of these files:

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@ivanvc ivanvc marked this pull request as draft November 13, 2024 07:11
@ivanvc ivanvc changed the title release: add a prompt to release GitHub release release: release (undraft) GitHub release from release script Nov 14, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Development

Successfully merging this pull request may close these issues.

4 participants