Merged PR 23: merge yaml
merge yaml
This commit is contained in:
commit
3cfb4673b5
@ -18,53 +18,8 @@ stages:
|
||||
- stage: Build
|
||||
jobs:
|
||||
|
||||
- job: SetupEnvironment
|
||||
displayName: "Setup Build Environment"
|
||||
steps:
|
||||
|
||||
- checkout: self
|
||||
persistCredentials: true
|
||||
fetchDepth: 0
|
||||
|
||||
- task: PowerShell@2
|
||||
name: "diffStep"
|
||||
inputs:
|
||||
targetType: 'inline'
|
||||
script: |
|
||||
Write-Host "##[section]All Environment Variables:"
|
||||
Get-ChildItem env: | Format-Table -AutoSize
|
||||
|
||||
Write-Host "##[section]Specific Variable Example:"
|
||||
Write-Host "BUILD_SOURCEBRANCH = $env:BUILD_SOURCEBRANCH"
|
||||
Write-Host "BUILD_REPOSITORY_NAME = $env:BUILD_REPOSITORY_NAME"
|
||||
git fetch origin "$(Build.SourceBranchName)" main
|
||||
$diffResult = git diff --name-only origin/main...HEAD
|
||||
$folderFound = $false
|
||||
if ([string]::IsNullOrWhiteSpace($diffResult)) {
|
||||
Write-Host "No diff results found."
|
||||
Write-Host "##vso[task.setvariable variable=folderChanged;isOutput=true]$folderFound"
|
||||
exit 0 # Exit with success code
|
||||
}
|
||||
Write-Host "git diff result is $diffResult"
|
||||
$diffResultEncoded = [Convert]::ToBase64String([Text.Encoding]::UTF8.GetBytes($diffResult))
|
||||
Write-Host "##vso[task.setvariable variable=diffResultEncoded]$diffResultEncoded"
|
||||
|
||||
$foldersToCheck = @('EnotaryoPH/EnotaryoPH.DbMigration/Scripts')
|
||||
foreach ($folder in $foldersToCheck) {
|
||||
if ($diffResult -match $folder) {
|
||||
$folderFound = $true
|
||||
Write-Host "Found changes in $folder"
|
||||
break
|
||||
}
|
||||
}
|
||||
Write-Host "##vso[task.setvariable variable=folderChanged;isOutput=true]$folderFound"
|
||||
displayName: 'Check Git Diff for Specific Folders'
|
||||
|
||||
- job: LinuxBuild
|
||||
displayName: 'Build on Linux'
|
||||
dependsOn: SetupEnvironment
|
||||
variables:
|
||||
folderChanged: $[ dependencies.SetupEnvironment.outputs['diffStep.folderChanged'] ]
|
||||
pool:
|
||||
vmImage: 'ubuntu-latest'
|
||||
steps:
|
||||
@ -80,11 +35,13 @@ stages:
|
||||
versionSpec: '20.x'
|
||||
|
||||
- task: PowerShell@2
|
||||
displayName: 'Run Make File'
|
||||
inputs:
|
||||
filePath: 'make.ps1'
|
||||
arguments: '-OutputDir $(Build.ArtifactStagingDirectory)-linux'
|
||||
|
||||
- task: ArchiveFiles@2
|
||||
displayName: 'Archive Web Artifact'
|
||||
inputs:
|
||||
rootFolderOrFile: '$(Build.ArtifactStagingDirectory)-linux/web'
|
||||
includeRootFolder: true
|
||||
@ -93,13 +50,14 @@ stages:
|
||||
replaceExistingArchive: true
|
||||
|
||||
- task: PublishBuildArtifacts@1
|
||||
displayName: 'Publish Artifact'
|
||||
inputs:
|
||||
PathtoPublish: '$(Build.ArtifactStagingDirectory)-linux/$(Build.BuildId)/web.zip'
|
||||
ArtifactName: 'drop-linux-web'
|
||||
publishLocation: 'Container'
|
||||
|
||||
- task: ArchiveFiles@2
|
||||
condition: eq(variables['folderChanged'], 'True')
|
||||
displayName: 'Archive Migration Artifact'
|
||||
inputs:
|
||||
rootFolderOrFile: '$(Build.ArtifactStagingDirectory)-linux/migration'
|
||||
includeRootFolder: true
|
||||
@ -108,7 +66,7 @@ stages:
|
||||
replaceExistingArchive: true
|
||||
|
||||
- task: PublishBuildArtifacts@1
|
||||
condition: eq(variables['folderChanged'], 'True')
|
||||
displayName: 'Publish Migration Artifact'
|
||||
inputs:
|
||||
PathtoPublish: '$(Build.ArtifactStagingDirectory)-linux/$(Build.BuildId)/migration.zip'
|
||||
ArtifactName: 'drop-linux-migration'
|
||||
@ -116,10 +74,11 @@ stages:
|
||||
|
||||
- job: WindowsBuild
|
||||
displayName: 'Build on Windows'
|
||||
dependsOn: SetupEnvironment
|
||||
condition: ne(variables['Build.Reason'], 'PullRequest')
|
||||
variables:
|
||||
folderChanged: $[ dependencies.SetupEnvironment.outputs['diffStep.folderChanged'] ]
|
||||
condition: |
|
||||
and(
|
||||
succeeded(),
|
||||
not(in(variables['Build.Reason'], 'IndividualCI', 'BatchedCI'))
|
||||
)
|
||||
pool:
|
||||
vmImage: 'windows-latest' # Specify the Windows agent
|
||||
steps:
|
||||
@ -135,11 +94,13 @@ stages:
|
||||
versionSpec: '20.x'
|
||||
|
||||
- task: PowerShell@2
|
||||
displayName: 'Run Make File'
|
||||
inputs:
|
||||
filePath: 'make.ps1'
|
||||
arguments: '-OutputDir $(Build.ArtifactStagingDirectory)-windows'
|
||||
|
||||
- task: ArchiveFiles@2
|
||||
displayName: 'Archive Web Artifact'
|
||||
inputs:
|
||||
rootFolderOrFile: '$(Build.ArtifactStagingDirectory)-windows/web'
|
||||
includeRootFolder: true
|
||||
@ -147,13 +108,14 @@ stages:
|
||||
archiveFile: '$(Build.ArtifactStagingDirectory)-windows/$(Build.BuildId)/web.zip'
|
||||
replaceExistingArchive: true
|
||||
- task: PublishBuildArtifacts@1
|
||||
displayName: 'Archive Migration Artifact'
|
||||
inputs:
|
||||
PathtoPublish: '$(Build.ArtifactStagingDirectory)-windows/$(Build.BuildId)/web.zip'
|
||||
ArtifactName: 'drop-windows-web'
|
||||
publishLocation: 'Container'
|
||||
|
||||
- task: ArchiveFiles@2
|
||||
condition: eq(variables['folderChanged'], 'True')
|
||||
displayName: 'Archive Migration Artifact'
|
||||
inputs:
|
||||
rootFolderOrFile: '$(Build.ArtifactStagingDirectory)-windows/migration'
|
||||
includeRootFolder: true
|
||||
@ -162,7 +124,7 @@ stages:
|
||||
replaceExistingArchive: true
|
||||
|
||||
- task: PublishBuildArtifacts@1
|
||||
condition: eq(variables['folderChanged'], 'True')
|
||||
displayName: 'Publish Migration Artifact'
|
||||
inputs:
|
||||
PathtoPublish: '$(Build.ArtifactStagingDirectory)-windows/$(Build.BuildId)/migration.zip'
|
||||
ArtifactName: 'drop-windows-migration'
|
||||
|
Loading…
x
Reference in New Issue
Block a user