Skip to content

Conversation

@jpobst
Copy link
Contributor

@jpobst jpobst commented Feb 7, 2024

As part of Microsoft's continued push for supply chain security, our CI that builds shipping software must extend an "official" template that can be used to ensure various safety checks have run.

Unfortunately, this requires extensive changes to our CI to fit their model. This PR requires both necessary changes and cleanup done to make our process mesh better with the template.

The only functional difference should be:

  • Previously the outputs of both the Windows and MacOS builds were copied to the same artifact directory ("nuget") which was signed and released. This meant that the last one written "won" and that's what we shipped. The new template didn't like multiple agents writing to the same output directory, so now we only write to output-windows and output-macos, and we always sign and ship the output-windows output.

@jpobst jpobst force-pushed the 1es-pipeline branch 30 times, most recently from 64410a7 to 455aa02 Compare February 14, 2024 20:54
@jpobst jpobst force-pushed the 1es-pipeline branch 8 times, most recently from b43c180 to cbca107 Compare February 21, 2024 22:34
@jpobst jpobst force-pushed the 1es-pipeline branch 6 times, most recently from 4c61599 to cd814c7 Compare February 29, 2024 18:47
@jpobst jpobst marked this pull request as ready for review March 1, 2024 01:03
@jpobst jpobst requested review from moljac and pjcollins March 1, 2024 01:03
pool:
name: AzurePipelines-EO
image: 1ESPT-Windows2022
os: windows
Copy link
Member

Choose a reason for hiding this comment

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

Since you are still passing pool information at the job you should be able to safely delete this top level pool value.

Copy link
Member

Choose a reason for hiding this comment

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

Looks like the latest run failed, perhaps this was needed:

/v1/1ES.Pipeline.yml@1esPipelines (Line: 345, Col: 287): Unexpected parameter 'Please specify a windows pool for SDLSources stage.

I ended up specifying this under the sdl element in other pipelines, though I'm not sure which approach is "more correct":

sdl:
  sourceAnalysisPool:
    name: AzurePipelines-EO
    image: $(WindowsPoolImage1ESPT)
    os: windows

@jpobst jpobst merged commit c9f6fdb into main Mar 4, 2024
@jpobst jpobst deleted the 1es-pipeline branch March 4, 2024 19:42
jpobst added a commit that referenced this pull request Apr 19, 2024
After [migrating to the 1ES template](#844), when our build fails, no logs or artifacts are retained, making it very hard to diagnose the issue.  Add an `always` condition to the output upload so these will get saved.

Example build demonstrating artifacts are uploaded on failure:
https://devdiv.visualstudio.com/DevDiv/_build/results?buildId=9440304&view=results
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.

3 participants