-
Notifications
You must be signed in to change notification settings - Fork 14
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
Dynamically Provision GitHub Environments, Deployments, and Deployment Statuses #12
Comments
REST API documentation:
Note that Statuses are immutable and immortal; they may only be created. Usually only the most recent Status is displayed in the GitHub UI. |
Example Environment Creation
|
Example Deployment creation that failed for some unknown reason.
|
Note that some additional permissions may be required for our reusable workflow (or wherever we end up implementing this.) The workflow permission is probably Also see this important note about "inactive" and "transient" deployments https://docs.github.com/en/rest/deployments/deployments#inactive-deployments |
We can enhance our customers' experiences on GitHub by specifying Environments and Deployments on GitHub from within our reusable workflow and/or GitHub Actions. Read about them here https://docs.github.com/en/actions/deployment/targeting-different-environments/using-environments-for-deployment
Because we want to provision these dynamically, we probably cannot use the easy YAML syntax within GitHub Actions. We can talk to GitHub's REST API directly, either using
curl
or thegh
CLIapi
command. I wasn't able to find an action in the Marketplace for this, but search for one before implementing!Design:
We should consider whether we want to create a single "Uffizzi" Environment and separate Deployments within it, or create Environments for each Uffizzi Deployment. Test both cases and explore the UX within GitHub.
GitHub Environments and Deployments should broadly follow the lifecycle of the Uffizzi Environments and Deployments they represent. Status updates should be posted before and after each
uffizzi
CLI invocation action. It's very important to include the URL of each environment everywhere possible.Slack thread: https://uffizzi-internal.slack.com/archives/C85U32F3M/p1660238762177499
The text was updated successfully, but these errors were encountered: