-
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
Automating the Github Actions workflow provisioning in the provider repositories #39
Conversation
…o it. Signed-off-by: Ringo De Smet <ringo@de-smet.name>
Signed-off-by: Ringo De Smet <ringo@de-smet.name>
Signed-off-by: Ringo De Smet <ringo@de-smet.name>
Signed-off-by: Ringo De Smet <ringo@de-smet.name>
Signed-off-by: Ringo De Smet <ringo@de-smet.name>
Signed-off-by: Ringo De Smet <ringo@de-smet.name>
Signed-off-by: Ringo De Smet <ringo@de-smet.name>
This is a huge PR. I don't know if governance board members are the right people for this sort of review; maybe we should be reviewing the design, more than the implementation. We could find a technical board, or a sub-group of technical volunteers, for these sorts of large developments. That said, I have a few points:
|
Also: it looks like there's no issue open for this work. Why is this work a higher priority then the existing issues? |
The reason I started this PR, even without an open ticket, is that I was the one currently setting up new provider repositories. The current process, although we don't have that many providers yet, is clunky and hard to update when changes need to be made to the build system. I wanted to find a way to keep in sync much easier. It is indeed quite a bulky PR, but most of the code was copied from Pulumi Because of this PR, I had a chat with one of the internal engineers. There is no need to go forward with this PR in its current form. The team is reworking the code in For now, I'm going to close this PR. I have filed #40 as a replacement. |
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.