diff --git a/azure-pipelines.yml b/azure-pipelines.yml index 42bd821..e6d6688 100644 --- a/azure-pipelines.yml +++ b/azure-pipelines.yml @@ -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'