azure-sdk-for-cpp/eng/pipelines/daily-verification.yml
Daniel Jurek 5a99f38df1
Add nightly vcpkg publishing (#2025)
* Tool changes to support nightly test package release

* Initial wiring up and refactor vcpkg-publish.yml

* Use vcpkg-clone.yml

* Disable publishing for verification of nightly builds

* Complete the comment

* Dependency is enforced at the stage level, not the deployment/job level

* Remove environment, no approval needed

* Add ability to enable test release parameters

* deploy -> job

* deployment -> job

* Remove strategy

* Download pipeline artifacts

* task -> download

* Set appropriate working directory

* git status

* Set working directory

* Add pipeline for nightly vcpkg PR update

* Correct vcpkg-clone.yml path

* Add identity parameters to git merge commands

* Remove GitIdentityParameters, the merge command does not suppor tthem. Add instead in the pipeline

* Split lines

* Write-Host

* Template for nightly branch name, update comments, Check for scheduling or "PublishNightlyVcpkg"

* include archetype-cpp-release.yml changes

* Re-enable publishing stage

* Close the and

* Runtime condition for integration stage

* Move integration below package publishing stages

* try -- to disambiguate

* ^ -> ~

* Remove --

* Documentation and variable naming

* Move documentation comment

* Update eng/pipelines/templates/steps/generate-nightly-branch-name.yml

Co-authored-by: Wes Haggard <weshaggard@users.noreply.github.com>

* Apply suggestions from code review

Co-authored-by: Wes Haggard <weshaggard@users.noreply.github.com>

* Review feedback

* Add ability to skip all release steps

* Equal sign

* The right number of dashes

* Checkout before merge

* Checkout the default branch

* --no-ff

* git reset

* Skip publishing for artifacts which are not publishign to vcpkg

* Add git config --unset

* Apply suggestions from code review

Co-authored-by: Wes Haggard <weshaggard@users.noreply.github.com>

* Review feedback

* Review feedback

* Remove extra reset

* TestRelease -> DailyRelease

Co-authored-by: Wes Haggard <weshaggard@users.noreply.github.com>
2021-04-06 14:48:32 -07:00

55 lines
2.0 KiB
YAML

jobs:
- job:
displayName: Daily vcpkg PR
pool:
name: azsdk-pool-mms-win-2019-general
vmImage: MMS2019
variables:
# The branch in the azure-sdk/vcpkg repo that is updated daily with the
# latest set of ports
TargetPrBranch: release/azure-sdk-for-cpp-daily-verification
steps:
- checkout: self
- template: /eng/pipelines/templates/steps/generate-daily-branch-name.yml
- template: /eng/pipelines/templates/steps/vcpkg-clone.yml
parameters:
Workspace: $(Pipeline.Workspace)
RepoOwner: azure-sdk
- template: /eng/common/pipelines/templates/steps/set-default-branch.yml
parameters:
WorkingDirectory: $(Pipeline.Workspace)/vcpkg
- pwsh: |
Write-Host "git checkout $(DailyBranchName)"
git checkout $(DailyBranchName)
if ($LASTEXITCODE -ne 0) {
Write-Error "Cannot check out $(DailyBranchName) LASTEXITCODE=$LASTEXITCODE"
}
Write-Host "##vso[task.setvariable variable=HasChanges]$true"
workingDirectory: $(Pipeline.Workspace)/vcpkg
displayName: Update vcpkg Daily Branch
# This step will skip creating the PR if the PR already exists
- template: /eng/common/pipelines/templates/steps/create-pull-request.yml
parameters:
# Force push so this recreates the $(TargetPrBranch)
PushArgs: --force
BaseBranchName: $(DefaultBranch)
PRBranchName: $(TargetPrBranch)
RepoOwner: Microsoft
RepoName: vcpkg
WorkingDirectory: $(Pipeline.Workspace)/vcpkg
CommitMsg: Update with changes from $(DailyBranchName)
PRTitle: "[DO NOT MERGE] Daily Azure SDK for C++ CI validation"
PRBody: This is a long-lived draft PR should not be merged. Its branch is be updated periodically to validate the Azure SDK for C++ against the vcpkg CI.
ScriptDirectory: $(System.DefaultWorkingDirectory)/eng/common/scripts
OpenAsDraft: true
SkipCheckingForChanges: true