Closed mthalman closed 4 months ago
I couldn't figure out the best area label to add to this issue. If you have write-permissions please help me learn by adding exactly one area label.
I couldn't figure out the best area label to add to this issue. If you have write-permissions please help me learn by adding exactly one area label.
[Triage] This is only consumed in the update-image-builder pipeline:
For retries of the same job, the sourceBuildId will be the same. So, we could solve this in one of three ways:
For option 1, since Azdo pipelines don't support force overwriting of artifacts, we'd have to do a workaround for uploading a 2nd (or 3rd, etc), version of the artifact. This means we'd have to download the artifact to check its existence and version before uploading another version of the artifact. I don't love this approach as it adds overhead and creates copies.
For option 2, we'd have to download the published artifact in order to check its existence. This also adds overhead.
Therefore, I think that option 3 is the best. We would just have to condition the step to only run if previous steps were successful.
There's another option not listed:
Set the artifact name to include the job attempt number. This is done today for another part of the infra: https://github.com/dotnet/docker-tools/blob/570b206e8a83d0517d2732766818abc444737dae/eng/common/templates/jobs/build-images.yml#L140
But the variable nature of that name makes it annoying to have to compensate for when consuming the artifact.
Therefore, I do agree that moving the artifact publishing to the end is the best option.
A build had fail in the
Wait for Image Ingestion
step of the Publish stage. I attempted to retry the build and it failed in an earlier step:Publish Source Build ID Artifact
with the following error:Example build (internal link)