-
Notifications
You must be signed in to change notification settings - Fork 4.8k
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
Update SuperPMI artifact logging #77685
Update SuperPMI artifact logging #77685
Conversation
Tagging subscribers to this area: @hoyosjs Issue DetailsFix suggested at dotnet/arcade#11447 /cc @michellemcdaniel @riarenas
|
If the System.JobAttempt works, then there is no need for "continueOnError: true" (because if we can't upload an artifact then it really is an error). Note that in the SuperPMI pipelines, this error isn't fatal (but is reported in the UI as an error). However, the documentation for https://learn.microsoft.com/en-us/azure/devops/pipelines/build/variables?view=azure-devops&tabs=yaml and this YAML is in a template. So does it work? Also, the other SuperPMI pipelines have the same issue, not just this one. Finally, every other pipeline that uses "PublishPipelineArtifact@1" (which is all of them?) simply sets "continueOnError: true" which means they fail to upload artifacts for 2nd and subsequent runs, and ignore those failures. They could also benefit from a change like this that properly uploads artifacts, if it works. |
That usually means the variable is not available at template evaluation time, like to resolve conditionals on whether certain parts of YAML should execute. The source-build template follows the approach of using the attempt just like this suggested change:
|
That doesn't seem to be the case for this pipeline, so I would check others for the same bug. https://dev.azure.com/dnceng-public/public/_build/results?buildId=65930&view=results 's only failures were log upload failures, and they caused the build to fail. |
Ok, my definition of "fail" here is a little different: the "real work" of the pipeline completes, and subsequent steps all get run, but the job still reports as failure.
That makes sense. But we should actually test it with (1) a successful run where the log file name is now different, and (2) a failing run where we force a retry and see two log files. Then, we should change all SuperPMI pipelines (and other pipelines) to the same system. |
I am going to change all uses of Any other changes? I'd prefer to avoid continually kicking the CI, so let's iterate on expectations before I submit an update. |
The changes LGTM as-is. I don't think the |
Thanks @BruceForstall. Can I get a sign off from someone? |
I'm happy to sign off after it is tested. |
@BruceForstall Whats the best way to make SuperPMI fail? |
I think you first want to test the success case. Note that the As for failure, this will cause it for superpmi replays: https://github.com/dotnet/runtime/compare/main...BruceForstall:FailSpmi?expand=1 |
/azp list |
/azp run runtime-coreclr superpmi-replay |
No pipelines are associated with this pull request. |
@BruceForstall Can you help me trigger this? I am signed into AzDO, but am not being shown anything that allows me to trigger this run. |
I triggered superpmi-replay manually by going to https://dev.azure.com/dnceng-public/public/_build?definitionId=150&_a=summary, hitting "Run Pipeline", then using "refs/pull/77685/head" as the "Branch". There's no need, IMO, to run the others: it would be the same testing, and there's no need to burn all those cycles. |
The success case worked, artifacts here: |
I will revert my breaking trigger. |
This reverts commit edf035a.
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.
Thanks for doing the testing.
Fix suggested at dotnet/arcade#11447
/cc @michellemcdaniel @riarenas