-
-
Notifications
You must be signed in to change notification settings - Fork 62
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
dockerimage condition fails when docker image does not exist #1728
Comments
Thanks for opening this issue, indeed you are right to highlight a scenario I forgot about.
The purpose of the fix introduced in 0.65.0 was to detect broken pipeline if the condition failed. I now realize that "skipped" is different than "failed" and we need both.
Yes |
@olblak that is strange indeed: what is a "failed" condition? It looks like the problem resides in the dockerimage plugin which should not fail but answer "false" when the condition does not find an image. Having the image not present is not a failure at all (for a condition), otherwise it breaks a LOT of cases for condition right? |
Thanks for taking care guys! I do not have much context around For Instance: Specifiying a non existing docker repository could mean failure/error |
The problem that I tried to fix in 0.65.0 has nothing to do with the dockerimage code but how we understand a pipeline result as a whole. Let's take the following scenario
We can understand it in two different ways Scenario 1 The condition in step 2 is wrong because: My target should have been update but for some reason it was not Many times in the past I detected problems in upstream project but It's getting harder for project fully automated as I don't necessary watch the result of each pipeline. Scenario 2 The condition step 2 is not passing because: My target should have been update but for some reason the condition wasn't yet passing so we need to wait a little until let say the release pipeline is over. In this case, I wouldn't consider the pipeline as failed but just the target was skipped because all conditions were not passing. Both scenarios are valid to me prior 0.65.0, we consider all pipeline as the scenario 2, and since 0.65.0 all pipeline are considered as scenario 1 After additional thought, I think the default should be the scenario 2 but I am still interested to fail some pipeline if the condition is not passing. I am open for the suggestion here, and considering that I'll be very busy in the two coming weeks, I am fine reverting the change introduced in 0.65.0 |
thanks for the detailed explanation! |
You are right, I'll release 0.65.1 within the day |
Thanks folks! Food for thought:
|
True that: @olblak don't hesitate, if you can remember or cross path with the uses cases you mentioned (e.g. skipped targets but need to investigate) to list them here. I agree with @treezio : each plugin implementing a condition should properly separate:
Does it make sense? |
Closing as the current issue solve |
Is there an existing issue for this?
Current Behavior
After upgrading
updatecli
fromv0.64.1
tov0.65.0
the condition fordockerimage
fails instead of being skipped, leading to a failure output (exit 1).Expected Behavior
The pipeline is skipped as the image does not exists meaning the condition is not met.
Steps To Reproduce
On github actions use latest action version
v2.47.0
which runs onupdatecli v0.65.0
Set a condition for a docker image tag that does not exist.
Scenario: The latest tag/release in the source repository is
v1.47.2
. There is nov1.47.2
tag for the Docker Image in DockerHubThe output:
Environment
Anything else?
No response
The text was updated successfully, but these errors were encountered: