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

new signing pipeline (part1) #2476

Merged
merged 28 commits into from
Nov 19, 2021
Merged

new signing pipeline (part1) #2476

merged 28 commits into from
Nov 19, 2021

Conversation

TimothyMothra
Copy link
Member

@TimothyMothra TimothyMothra commented Nov 17, 2021

#2475.

This PR introduces the new pipelines for our new signed builds.
I need this on the main branch to test some of the compliance settings.

Please review screenshots below for a description of the pipeline output.

A follow up PR will:

  • refactor/normalize some of the scripts and settings.
  • resolve all compliance issues.

Changes

  • Creating three new pipelines
    • "Buddy" will be used in PR validation.
    • "Official" is for signing the AI SDK
    • "Official Redfield" is for signing the AI SDK w/ Redfield build flag
  • Creating new *.cmd scripts.
    FYI: pipelines cannot have inline scripts and must use external files.
    • i've numbered these scripts in order to sort them according to which "build stage" they will be used.

Checklist

  • I ran Unit Tests locally.
  • CHANGELOG.md updated with one line description of the fix, and a link to the original issue if available.

For significant contributions please make sure you have completed the following items:

  • Design discussion issue #
  • Changes in public surface reviewed

The PR will trigger build, unit tests, and functional tests automatically. Please follow these instructions to build and test locally.

Notes for authors:

  • FxCop and other analyzers will fail the build. To see these errors yourself, compile localy using the Release configuration.

Notes for reviewers:

  • We support comment build triggers
    • /AzurePipelines run will queue all builds
    • /AzurePipelines run <pipeline-name> will queue a specific build

@TimothyMothra
Copy link
Member Author

As of commit c6cfebc we have three builds....

Buddy

The buddy build does not permit signing and will eventually run with all PRs.

The log correctly identifies itself
image

The output NUPKGs are not signed.
The contained DLLs are not signed.
image

TODO

  • change build params to include build number. This is to distinguish between "official" builds.

Official

The official build uses signing.

The log correctly identifies itself
image

The output NUPKGs are signed.
The contained DLLS are signed.
image

Official Redfield

This is an official build, which uses signing.

The log correctly identifies itself
image

The output NUPKGs are signed.
The contained DLLs are signed.
image

TODO

  • should the package name include "redfield" instead of "beta"?

@TimothyMothra
Copy link
Member Author

Fixed Redfield, now has correct package name.
image

@TimothyMothra
Copy link
Member Author

fixed package name for Buddy build:
image

@TimothyMothra TimothyMothra changed the title [WIP] new signing pipeline new signing pipeline (part1) Nov 17, 2021
@TimothyMothra TimothyMothra marked this pull request as ready for review November 17, 2021 21:38
@TimothyMothra TimothyMothra requested a review from reyang November 17, 2021 21:41
commands:
- !!buildcommand
name: 'Dotnet Build'
command: '.pipelines\02_build.cmd'
Copy link
Member

@reyang reyang Nov 19, 2021

Choose a reason for hiding this comment

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

nit: many of these commands (e.g. dotnet) are platform independent, consider getting rid of the cmd file and make it self-contained.

e.g. https://github.com/open-telemetry/opentelemetry-dotnet/blob/66d2621170c614313c81fc82e4f6c79218244974/.github/workflows/linux-ci.yml#L44

Copy link
Member Author

Choose a reason for hiding this comment

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

I would have GREATLY preferred this approach.
I went to office hours to ask this exact question. OneBranch does not permit in-line scripts as a rule!

In all of our github builds, i'm doing everything in-line:

run: dotnet build ./BASE/Microsoft.ApplicationInsights.sln --configuration Release --no-restore

Copy link
Member

@reyang reyang left a comment

Choose a reason for hiding this comment

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

LGTM with some suggestions.

@TimothyMothra TimothyMothra enabled auto-merge (squash) November 19, 2021 02:13
@TimothyMothra TimothyMothra merged commit 4feb2cf into main Nov 19, 2021
@TimothyMothra TimothyMothra deleted the tilee/pipelines branch November 19, 2021 02:21
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.

2 participants