-
Notifications
You must be signed in to change notification settings - Fork 292
ci-operator: add TestStep type #95
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
ci-operator: add TestStep type #95
Conversation
|
As a first pass, we should be concerned with identifying the set of information necessary to work with downstream/at runtime. Let's validate that every field exists, resources are set, etc. No concept of name resolution yet |
|
Another one:
Container tests don't have that problem because they simply don't allow it, templates use the |
|
|
||
| type TestStep struct { | ||
| Name string `json:"name,omitempty"` | ||
| Image string `json:"image,omitempty"` |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
As this is a string and not a PipelineImageReference don't we already allow any pull spec here?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
There are two points in the execution where this is used:
- When configuration is loaded, to determine dependencies between (ci-operator) steps.
- When the pods are created.
The biggest problem is #1. We know at that point the images that are part of the pipeline, but not those that come from tag_specification.
For #2, we can always use pipeline:src, stable:tests, or even a full spec, which is what I've been using, but since #1 requires us to have that information, that should not be required.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
So we generally operate on the concept that if an image is named foo and there exists a foo in the images brought in by the tag_specification, the built image overrides that which is pulled in. So, we can accept a simple string here and:
- if it matches something that is built by the pipeline or the
images, create that link in the steps - if it does not, expect it to be provided by the import from
tag-specification
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
That's what I wanted to hear/read.
stevekuznetsov
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
/lgtm
|
[APPROVALNOTIFIER] This PR is APPROVED This pull-request has been approved by: bbguimaraes, stevekuznetsov The full list of commands accepted by this bot can be found here. The pull request process is described here DetailsNeeds approval from an approver in each of these files:
Approvers can indicate their approval by writing |
Slightly modified subset of #85.
Open questions:
namethe best way to reference a pre-defined step? See the original PR for details and https://github.com/bbguimaraes/release/tree/steps for an example.resourcesrequired? That is the case for other ci-operator tests, but not for templates.TestStepis a terrible name.