Skip to content
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 the "Publish Provider Family" workflow to build and push an official provider family #195

Merged
merged 1 commit into from
Mar 14, 2024

Conversation

ulucinar
Copy link
Contributor

Description of your changes

Although we've observed a successful run of the reusable Publish Service Artifacts workflow here for all the members of the official AWS provider family, that run was from the main branch's HEAD, where the Terraform CLI and the Terraform provider binaries have been removed from the provider packages. But we are still maintaining the v0.x release branches (specifically v0.47 and afterwards) in crossplane-contrib/provider-upjet-aws and the v0.x branches still bundle those binaries, which increase the disk space requirements during the builds.

I anticipate we may not be able to fit a build & publish run with 6 child build jobs for the v0.x branch. We had previously tried the publish-service-artifacts workflow with 8 child build jobs, and we had observed issues with the Upbound registry as we tried to push 8 (larger) packages in parallel. So I also expect we won't be able to decrease the # of packages we build and push per child job (this would currently mean more child build jobs running in parallel).

So, as a backup plan, this PR introduces a new workflow which we can use, in this repository (not as a reusable workflow in the provider family repository), to build and publish the specified provider family. This means that the provider family to be built is a parameter to the newly introduced workflow. Because the workflow is run in this repository, which is under the upbound Github organization, we can still enjoy the larger disk space available to our e2-standard-8 self-hosted runners.

I have:

  • Run make reviewable test to ensure this PR is ready for review.

How has this code been tested

A test has succeeded here. And here are the example parameters used for that run:
image

Copy link
Member

@sergenyalcin sergenyalcin left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks @ulucinar LGTM! Left a nit comment

inputs:
repository:
description: 'Official provider family repository to build and publish'
default: 'crossplane-contrib/provider-upjet-aws'
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

nit: What do you think about making this parameter required and removing the default? For now, we foresee using it only in AWS (since no disk issues have been observed in other providers), but we may also need bigger runners for different providers. Since this workflow is centralized and has release capabilities for any provider, we might consider not having a default for the parameter.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Done. Moved crossplane-contrib/provider-upjet-aws to the description as an example.

…er family to the

Upbound registry using the larger available runners for the upbound Github organization

Signed-off-by: Alper Rifat Ulucinar <ulucinar@users.noreply.github.com>
@ulucinar ulucinar merged commit 4af62dd into upbound:main Mar 14, 2024
6 checks passed
@ulucinar ulucinar deleted the op-publish branch March 14, 2024 12:02
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants