Skip to content

Add support for in-build signing#164

Merged
mmitche merged 3 commits intodotnet:mainfrom
mmitche:inbuild-sign-main
Aug 5, 2022
Merged

Add support for in-build signing#164
mmitche merged 3 commits intodotnet:mainfrom
mmitche:inbuild-sign-main

Conversation

@mmitche
Copy link
Copy Markdown
Member

@mmitche mmitche commented Aug 2, 2022

  • Add an explicit flag for post-build signing
  • In-build signing is only supported on Windows. This repo creates some packages on Mac and Linux, and at the moment they can only be created on those platforms. When post build signing isn't enabled, download the artifacts for those platforms and run the sign and publish phases of the build.
  • Update the cert for the MSIs to be the .NET Cert
  • Move the PostBuildSIgn flag into the YAML so it can be used in template expressions
  • Pass -sign (harmless if post-build sign is on) in all ci cases.
  • Always publish even on PRs, there's no harm in it.

- Add an explicit flag for post-build signing
- In-build signing is only supported on Windows. This repo creates some packages on Mac and Linux, and at the moment they can only be created on those platforms. When post build signing isn't enabled, download the artifacts for those platforms and run the sign and publish phases of the build.
- Update the cert for the MSIs to be the .NET Cert
- Move the PostBuildSIgn flag into the YAML so it can be used in template expressions
- Pass -sign (harmless if post-build sign is on) in all ci cases.
- Always publish even on PRs, there's no harm in it.
@mmitche
Copy link
Copy Markdown
Member Author

mmitche commented Aug 2, 2022

PB sign test: https://dev.azure.com/dnceng/internal/_build/results?buildId=1919296&view=results
In build sign test: https://dev.azure.com/dnceng/internal/_build/results?buildId=1919302&view=results

Note that in-build will fail until signing approval is obtained.

@mmitche mmitche merged commit b36ce43 into dotnet:main Aug 5, 2022
@mmitche mmitche deleted the inbuild-sign-main branch August 5, 2022 21:05
radical added a commit to radical/emsdk that referenced this pull request Aug 11, 2022
In the commit mentioned at the end, a new variable was added
conditionally:

```yml
   # If post build signing, then OSX and Linux don't publish during their main pass. Otherwise, always publish
   - ${{ if eq(variables['PostBuildSign'], 'true') }}:
     - name: _NonWindowsInternalPublishArg
       value: -publish
```

.. but this resulted in the variable not getting defined at all in the
final yaml. I think the reason is that you can't define a variable based
on a the value of another variable, at yaml expansion time. So, access
the variable at run time.

```
commit b36ce43
Author: Matt Mitchell <mmitche@microsoft.com>
Date:   Fri Aug 5 14:05:37 2022 -0700

    Add support for in-build signing (dotnet#164)
```
akoeplinger added a commit that referenced this pull request Aug 11, 2022
In the PR #164 a new variable was added conditionally:

```yml
   # If post build signing, then OSX and Linux don't publish during their main pass. Otherwise, always publish
   - ${{ if eq(variables['PostBuildSign'], 'true') }}:
     - name: _NonWindowsInternalPublishArg
       value: -publish
```

.. but this resulted in the variable not getting defined at all in the final yaml.
We need to move the if to the variable _value_ instead.

Co-authored-by: Alexander Köplinger <alex.koeplinger@outlook.com>
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