You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
We should create a new workflow template which does not assume anything about the underlying provider.
The contract between CI and the provider should be driven entirely by make targets. make is not necessarily the best task runner for this purpose, but it's the one we use most widely right now so we should start there.
As we build this template, keep in mind that it should eventually be able to work equally well with native providers, component providers, or bridged providers. However our initial goal is to use it with providers not currently managed by ci-mgmt.
We should use the existing bridged provider template as a starting point as this is already quite battle-tested.
Changes we should consider making to the bridged template:
We should not assume anything about an "upstream".
We should try to eliminate as many customization options as possible in conjunction with Allow make target customization #1131. Concretely, this means if a provider previously needed a separate action to perform e.g. some setup, we should instead try to do that as part of a make target override or we should do it inside the test itself. This is a good practice in general as it makes things easier to reproduce locally. Examples of options we likely don't need:
setupScript
docsCmd
preTests and extraTests
sshPrivateKey
We should consolidate test steps into a reusable action.
We should enable the lint action by default.
generate_coverage_data should be replaced by Codecov.
generate_coverage_data should be replaced by Codecov: actually this will destroy our system of tracking the bridged example conversion data quality (what generate_coverage_data) does, and I do not think this is advisable as no equivalent exists in codecov.
Couple more notes here. I think we should close this as won't fix in favor of onboarding the remaining providers onto a modified version of the bridged workflow, as done for awsx and continuing two api-gateway and eks. The bridge workflow automatically satisfies:
We should consolidate test steps into a reusable action.
We should stop using gotestfmt.
We should consolidate test steps into a reusable action.
In addition to this some work has been done to cover:
We should not assume anything about an "upstream".
We should stop sharding on language - there is now an option to do this for the bridged/generic template
Remainders, it appears these are more nice to have:
We should try to eliminate as many customization options as possible
On #1131 we decided with @danielrbradley not to go as written but introduce some simpler form of configuration-driven script entry point overrides. This seems good enough to support AWSX, and I am following up to remove all custom make commands from the repos that had them. Make in particular make --touch that we seem to be using is hard to reason about in presence of these customizations. I think the chosen approach will work well enough for now.
Not planning to do anything else here for this iteration.
We should create a new workflow template which does not assume anything about the underlying provider.
The contract between CI and the provider should be driven entirely by
make
targets.make
is not necessarily the best task runner for this purpose, but it's the one we use most widely right now so we should start there.As we build this template, keep in mind that it should eventually be able to work equally well with native providers, component providers, or bridged providers. However our initial goal is to use it with providers not currently managed by ci-mgmt.
We should use the existing bridged provider template as a starting point as this is already quite battle-tested.
Changes we should consider making to the bridged template:
make
target customization #1131. Concretely, this means if a provider previously needed a separate action to perform e.g. some setup, we should instead try to do that as part of amake
target override or we should do it inside the test itself. This is a good practice in general as it makes things easier to reproduce locally. Examples of options we likely don't need:lint
action by default.generate_coverage_data
should be replaced by Codecov.gotestfmt
.The text was updated successfully, but these errors were encountered: