diff --git a/windows-release/azure-pipelines.yml b/windows-release/azure-pipelines.yml index 94e89b0f..f06dbc01 100644 --- a/windows-release/azure-pipelines.yml +++ b/windows-release/azure-pipelines.yml @@ -19,6 +19,10 @@ parameters: displayName: "Git tag" type: string default: main +- name: SourceCommit + displayName: "Git commit ('empty' to disable commit SHA check)" + type: string + default: 'empty' - name: DoPublish displayName: "Publish release" type: boolean @@ -90,6 +94,10 @@ variables: ${{ else }}: GitRemote: ${{ parameters.GitRemote_Other }} SourceTag: ${{ parameters.SourceTag }} + ${{ if ne(parameters.SourceCommit, 'empty') }}: + SourceCommit: ${{ parameters.SourceCommit }} + ${{ else }}: + SourceCommit: '' ${{ if ne(parameters.SigningCertificate, 'Unsigned') }}: SigningCertificate: ${{ parameters.SigningCertificate }} SigningDescription: ${{ parameters.SigningDescription }} diff --git a/windows-release/checkout.yml b/windows-release/checkout.yml index d42d55ff..897d1af8 100644 --- a/windows-release/checkout.yml +++ b/windows-release/checkout.yml @@ -19,3 +19,11 @@ steps: - script: git clone --progress -v --depth ${{ parameters.depth }} --branch $(Build.SourceBranchName) --single-branch $(Build.Repository.Uri) . displayName: 'git clone' condition: and(succeeded(), and(not(variables['GitRemote']), not(variables['SourceTag']))) + +- powershell: | + $checkout_commit = (git rev-parse HEAD) + if ($checkout_commit -ne '$(SourceCommit)') { + throw "Expected git commit '$(SourceCommit)' didn't match tagged commit '$checkout_commit'" + } + displayName: "Verify CPython commit matches tag" + condition: and(succeeded(), variables['SourceCommit'])
Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.
Alternative Proxies: