Skip to content
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

Streamline and simplify v3 publishing job #8334

Merged
merged 1 commit into from
Jan 12, 2022

Conversation

mmitche
Copy link
Member

@mmitche mmitche commented Jan 11, 2022

This change removes a bunch of cruft in the publishing job such that:

  • v2 is no longer supported, even incidentally (it's not been actually supported by Eng Services for some time, but the code has stuck around)
  • A single machine is used for publishing. This reduces the number of allocations, making it possible to move to 1ES pools (not in this change, yet). It also reduces general overhead associated with using multiple jobs and stages.

Implementation is as follows:

  • Remove old, unused v3 publishing options and associated templates (nuget, source link and signing validation).
  • Collapse all publishing down into a single job that first looks up and validates the build and channel info, setting up any necessary variables for passing to the publish task.
  • Call the publish task with the associated parameters
  • Also fixes an issue where we were incorrectly passing IsInternalBuild. The value of that was being evaluated in the context of the arcade publishing job, not the actual build we were trying to promote. The value of this is just used for a safety check.
  • Remove publish installers and checksums options. This was hardcoded to true, and is legacy from when we were rolling this functionality out.
  • Improve the tagging and title of the promotion jobs so that the channel names and BAR id are included in the title, and the BAR id is in the tags.

To double check:

This change removes a bunch of cruft in the publishing job such that:
- v2 is no longer supported, even incidentally (it's not been actually supported by Eng Services for some time, but the code has stuck around)
- A single machine is used for publishing. This reduces the number of allocations, making it possible to move to 1ES pools (not in this change, yet). It also reduces general overhead associated with using multiple jobs and stages.

Implementation is as follows:
- Remove old, unused v3 publishing options and associated templates (nuget, source link and signing validation).
- Collapse all publishing down into a single job that first looks up and validates the build and channel info, setting up any necessary variables for passing to the publish task.
- Call the publish task with the associated parameters
- Also fixes an issue where we were incorrectly passing IsInternalBuild. The value of that was being evaluated in the context of the arcade publishing job, not the actual build we were trying to promote. The value of this is just used for a safety check.
- Remove publish installers and checksums options. This was hardcoded to true, and is legacy from when we were rolling this functionality out.
@mmitche
Copy link
Member Author

mmitche commented Jan 11, 2022

First official test (efcore -> general testing): https://dev.azure.com/dnceng/internal/_build/results?buildId=1547402&view=results

Need to check a few others before I call it validated.

@mmitche
Copy link
Member Author

mmitche commented Jan 11, 2022

For performance purposes, the average time for an efcore promotion appeared to be around 6:30ish. The tests show that it's about 2:30 with these changes.

Copy link
Member

@epananth epananth left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@mmitche mmitche merged commit 5de8a0a into dotnet:main Jan 12, 2022
@mmitche mmitche deleted the streamline-pub branch January 12, 2022 17:38
@MattGal
Copy link
Member

MattGal commented Jan 12, 2022

@mmitche
Copy link
Member Author

mmitche commented Jan 12, 2022

Yeah, some extra parameters that got removed. I'm going to revert this for now. I think it was just a testing gap, but want to make sure.

mmitche added a commit that referenced this pull request Jan 12, 2022
mmitche added a commit that referenced this pull request Jan 12, 2022
mmitche added a commit that referenced this pull request Jan 12, 2022
mmitche added a commit that referenced this pull request Jan 13, 2022
* Revert "Revert "Streamline and simplify v3 publishing job (#8334)" (#8339)"

This reverts commit 7189b4a.

* Remove parameter usage
mmitche added a commit to mmitche/arcade that referenced this pull request Jan 28, 2022
)

* Revert "Revert "Streamline and simplify v3 publishing job (dotnet#8334)" (dotnet#8339)"

This reverts commit 7189b4a.

* Remove parameter usage
mmitche added a commit that referenced this pull request Feb 2, 2022
* Revert "Revert "Streamline and simplify v3 publishing job"" (#8340)

* Revert "Revert "Streamline and simplify v3 publishing job (#8334)" (#8339)"

This reverts commit 7189b4a.

* Remove parameter usage

* Use 1ES pools in templates that run internally (#8344)

* Use 1ES pools in templates that run internally
- Use the 1ES pools in our templates, jobs, etc.
- To reduce some of the cost of this, remove the "Setup Maestro Vars" job and replace with a step so that we don't end up with an additional allocation in those cases.
- Call setup maestro vars to populate the azdo params in execute-sdl

* Fix DevDiv promotion job (#8370)

- Ensure devdiv promotion job uses devdiv pools
- Use powershell core (the pools don't have IE initialized so we have to use basic parsing, which is default on powershell core)

* Fixup common templates to be compatible with devdiv pools (#8371)

In an earlier change, hosted pool usage was moved. This didn't account for differences in pools in devdiv and dnceng.

* Fix oneloc template (#8381)

The OneLoc template isn't used in the official build when not on main, so validation got skipped.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants