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

Create a generic template #1132

Open
blampe opened this issue Nov 7, 2024 · 0 comments
Open

Create a generic template #1132

blampe opened this issue Nov 7, 2024 · 0 comments
Labels
kind/engineering Work that is not visible to an external user

Comments

@blampe
Copy link
Contributor

blampe commented Nov 7, 2024

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.
  • We should stop using gotestfmt.
  • We should stop sharding on language (Invert build tags to improve DX #676).
@pulumi-bot pulumi-bot added the needs-triage Needs attention from the triage team label Nov 7, 2024
@guineveresaenger guineveresaenger removed the needs-triage Needs attention from the triage team label Nov 7, 2024
@mikhailshilkov mikhailshilkov added the kind/engineering Work that is not visible to an external user label Nov 18, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
kind/engineering Work that is not visible to an external user
Projects
None yet
Development

No branches or pull requests

4 participants