-
Notifications
You must be signed in to change notification settings - Fork 78
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
Add CTC check prior to tag promotion #322
Conversation
Co-authored-by: David Zülke <[email protected]>
steps: | ||
- name: Obtain CTC Lock via TPS API | ||
run: | | ||
curl -sS -X PUT \ |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@joshwlewis This check currently won't actually block releases, since CTC uses non-HTTP-200 responses to denote blocking a lock (https://github.com/heroku/tps/blob/master/docs/ctc.md#responses), and Curl ignores these unless the --fail
argument is used.
eg compare to the Cheverny implementation, which checks for HTTP 200/201:
https://github.com/heroku/cheverny/blob/f27b132b8b829b16d2161977f00316faf0f06520/lib/mediators/stack/ctc_checker.rb#L27
For bonus points, we should probably also use --fail-with-body
rather than --fail
, since the former will also print the API response message:
https://curl.se/docs/manpage.html#--fail-with-body
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
For even more bonus points, perhaps we should also add --connect-timeout
and --retry
to reduce flakiness?
This adds a CTC check prior to promoting to main tags e.g. from
heroku/heroku:24.v133
toheroku/heroku:24
. This should prevent releases during deployment moratoriums.GUS-W-16376259.