Automating the Github Actions workflow provisioning in the provider repositories #39
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Pulumi has a lot of the Github Actions Workflow management automated in repo ci-mgmt. Their process is as follows:
ci-mgmt
repoci-mgmt
repo to the provider repoPulumi has a central providers team, hence they implemented a push based system from
ci-mgmt
to all the providers under their control. Pulumiverse is different in that we have separate maintainers for each of the providers so we decided to implement a pull based setup.This PR implements the generation process for the following files:
Makefile
: standardized build file for a bridged provider.github/workflows/main.yml
: a workflow run when a new commit is merged to themain
branch.github/workflows/run-regenerate-workflows.yml
: a workflow which can be manually triggered to request regeneration of the workflows.Maintainers should be able to choose themselves when they want to regenerate the workflows in their provider after we publish changes to the standard setup. Our process will be different from Pulumi's one.
Initial setup
The first time we need to set up the workflows, we check out the
infra
andpulumi-<providername>
repositories side-by-side, then execute the following commands:Create a PR for these changed files and manually process these. After this initial setup, the
run-regenerate-workflows.yml
workflow file is available in the repo.Subsequent regeneration by maintainers
Any subsequent action can be triggered via the Github CLI:
This should trigger the workflow on Github Actions. The workflow will clone both repositories, run the npm script and create a pull request automatically when there are changed files.