-
Notifications
You must be signed in to change notification settings - Fork 347
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
Build promotion pipeline YAML #4625
Conversation
Is there a reason why most of this is in eng/common? There's going to be a single build promotion pipeline that should take the yml from Arcade. I'd like us to decouple the release variables that are really common from whatever is only needed for channel assignment after the fact. The pipeline can still reference the stages in eng/common, but unless there's something I'm missing, I don't think we need to distribute all of these changes to all repos. |
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.
The logic seems sound, but I'd like us to not add more files to eng/common unless it really makes sense for every repo to have this.
@riarenas - I addressed the comments we discussed offline: no new files in eng\common Note that some variables are used only in build promotion and others only at build creation time. Other variables are used in both cases. The major change here is because we need to be able to download artifacts from the current build or from another [completed] build. I use the same Job in Testing the build promotion: https://dnceng.visualstudio.com/internal/_build/results?buildId=488127&view=results |
Ping |
Sorry I missed the latest update. Looking now. |
The test build at https://dnceng.visualstudio.com/internal/_build/results?buildId=479710&view=results failed. Maybe not caused by the changes, but the errors happened in one of the publishing tasks, so I'd like to have a successful build + publish with these changes before merge. |
Re-run again the tests: |
This build didn't publish to any channels |
Tested it again here, now publishing to some channel:
Also added the check to validate that the channel exist. |
Looks good to me, but I started thinking that it's not easy to tell what the pipeline is doing just from looking at the build. I think we can look at what Davis did in this PR https://github.com/dotnet/arcade/pull/4664/files so that when looking at a build for that pipeline, it's clear which build was promoted, and to which channel. What do you think? |
Yeah, looks simple and useful enough to include in this PR. |
Test build with build tags: https://dnceng.visualstudio.com/internal/_build/results?buildId=496298&view=results |
New test build here: https://dnceng.visualstudio.com/internal/_build/results?buildId=496588&view=results |
Fixed a bug while enabling/disabling conditions. Ran new tests to test that part specifically: |
Closes: #4601
Changes:
I've been testing the Build Promotion in this pipeline.
I also tested if the post-build.yml templates are still working when not used for promoting a build. See test here.