Closed bflad closed 8 months ago
Automatically doing this was considered undesirable for some developers, so closing this out. Anyone interested in this sort of checking can implement something similar in their calling workflows.
I'm going to lock this issue because it has been closed for 30 days ⏳. This helps our maintainers find and focus on the active issues. If you have found a problem that seems similar to this, please open a new issue and complete the issue template so we can capture all the details necessary to investigate further.
Description
One challenge for HashiCorp provider releases at the moment is that there is a background task responsible for synchronizing releases.hashicorp.com product versions onto ingressing any new versions in the public Registry. This process is triggered on-demand with the hc-releases promotion command and there is a fallback hourly cron, but either or both of those can fail. There is no external methodology for checking those tasks. As such, even when everything is working as it should, there can be an indeterminate time between the provider release workflow completing and the provider version being actually accessible by practitioners.
Proposal
After the hc-releases promotion call, start a continual loop that checks the Registry API for the newly released provider version. On success, it should exit cleanly and cause success of the release workflow. On failure, it should continually keep trying. Eventually, it would trigger a GitHub Actions timeout, which will implicitly fail the workflow.
Locally, here is a quick shell script (
curl
andjq
are installed on public runner images already):Using a known good version, exits successfully:
Using a known bad version, loops forever:
With proper name and version substitution in a run step, this should hopefully do the trick:
For future consideration, these (or any) release process failures could be funneled to a shared Slack channel for increased visibility.