Skip to content

Commit

Permalink
Migrate ODL 8 pipeline to 1ES (#2976)
Browse files Browse the repository at this point in the history
* Migrate ODL 8 pipeline to 1ES

* Update nightly yaml

* Remove .NET Fx build support

* Remove credentials
  • Loading branch information
habbes authored May 30, 2024
1 parent 4fa32f5 commit fd83a9d
Show file tree
Hide file tree
Showing 6 changed files with 174 additions and 152 deletions.
133 changes: 84 additions & 49 deletions azure-pipelines-nightly.yml
Original file line number Diff line number Diff line change
Expand Up @@ -15,55 +15,90 @@ schedules:
- main
- dev-8.x

jobs:
resources:
repositories:
- repository: self
type: git
ref: refs/heads/main
- repository: 1ESPipelineTemplates
type: git
name: 1ESPipelineTemplates/1ESPipelineTemplates
ref: refs/tags/release

- job: Debug
pool:
vmImage: 'windows-2019'
variables:
buildPlatform: 'Any CPU'
buildConfiguration: 'Debug'
skipComponentGovernanceDetection: true
snExe: 'C:\Program Files (x86)\Microsoft SDKs\Windows\v10.0A\bin\NETFX 4.8 Tools\sn.exe'
snExe64: 'C:\Program Files (x86)\Microsoft SDKs\Windows\v10.0A\bin\NETFX 4.8 Tools\x64\sn.exe'
gacUtil: '$(Build.SourcesDirectory)\test\CommonAssemblies\Microsoft.VisualStudio.QualityTools.UnitTestFramework.dll'
ProductBinPath1: '$(Build.SourcesDirectory)\src\Microsoft.OData.Edm\bin\$(BuildConfiguration)'
mainDll1: 'Microsoft.OData.Edm.dll'
ProductBinPath2: '$(Build.SourcesDirectory)\src\Microsoft.OData.Core\bin\$(BuildConfiguration)'
mainDll2: 'Microsoft.OData.Core.dll'
ProductBinPath3: '$(Build.SourcesDirectory)\src\Microsoft.Spatial\bin\$(BuildConfiguration)'
mainDll3: 'Microsoft.Spatial.dll'
ProductBinPath4: '$(Build.SourcesDirectory)\src\Microsoft.OData.Client\bin\$(BuildConfiguration)'
mainDll4: 'Microsoft.OData.Client.dll'
ProductBinPath5: '$(Build.SourcesDirectory)\src\CodeGen\bin\$(BuildConfiguration)'
mainDll5: 'Microsoft.OData.Service.Design.T4.dll'
ProductBinPath: $(Build.SourcesDirectory)\bin\$(BuildPlatform)\$(BuildConfiguration)\Product
NugetArtifactsDir: 'Nuget-Debug'
steps:
- template: nightly.yml
variables:
- name: __NugetSecurityAnalysisWarningLevel__
value: none
- name: runCodesignValidationInjection
value: false

- job: Release
pool:
vmImage: 'windows-2019'
variables:
buildPlatform: 'Any CPU'
buildConfiguration: 'Release'
skipComponentGovernanceDetection: true
snExe: 'C:\Program Files (x86)\Microsoft SDKs\Windows\v10.0A\bin\NETFX 4.8 Tools\sn.exe'
snExe64: 'C:\Program Files (x86)\Microsoft SDKs\Windows\v10.0A\bin\NETFX 4.8 Tools\x64\sn.exe'
gacUtil: '$(Build.SourcesDirectory)\test\CommonAssemblies\Microsoft.VisualStudio.QualityTools.UnitTestFramework.dll'
ProductBinPath1: '$(Build.SourcesDirectory)\src\Microsoft.OData.Edm\bin\$(BuildConfiguration)'
mainDll1: 'Microsoft.OData.Edm.dll'
ProductBinPath2: '$(Build.SourcesDirectory)\src\Microsoft.OData.Core\bin\$(BuildConfiguration)'
mainDll2: 'Microsoft.OData.Core.dll'
ProductBinPath3: '$(Build.SourcesDirectory)\src\Microsoft.Spatial\bin\$(BuildConfiguration)'
mainDll3: 'Microsoft.Spatial.dll'
ProductBinPath4: '$(Build.SourcesDirectory)\src\Microsoft.OData.Client\bin\$(BuildConfiguration)'
mainDll4: 'Microsoft.OData.Client.dll'
ProductBinPath5: '$(Build.SourcesDirectory)\src\CodeGen\bin\$(BuildConfiguration)'
mainDll5: 'Microsoft.OData.Service.Design.T4.dll'
ProductBinPath: $(Build.SourcesDirectory)\bin\$(BuildPlatform)\$(BuildConfiguration)\Product
NugetArtifactsDir: 'Nuget-Release'
steps:
- template: nightly.yml
extends:
template: v1/1ES.Official.PipelineTemplate.yml@1ESPipelineTemplates
parameters:
pool:
name: MSSecurity-1ES-Build-Agents-Pool
image: MSSecurity-1ES-Windows-2019
os: windows
customBuildTags:
- ES365AIMigrationTooling
stages:
- stage: build
jobs:
- job: Debug
timeoutInMinutes: 120
variables:
buildPlatform: 'Any CPU'
buildConfiguration: 'Debug'
skipComponentGovernanceDetection: true
snExe: 'C:\Program Files (x86)\Microsoft SDKs\Windows\v10.0A\bin\NETFX 4.8 Tools\sn.exe'
snExe64: 'C:\Program Files (x86)\Microsoft SDKs\Windows\v10.0A\bin\NETFX 4.8 Tools\x64\sn.exe'
gacUtil: '$(Build.SourcesDirectory)\test\CommonAssemblies\Microsoft.VisualStudio.QualityTools.UnitTestFramework.dll'
productBinPathEdm: '$(Build.SourcesDirectory)\src\Microsoft.OData.Edm\bin\$(buildConfiguration)'
mainDllEdm: 'Microsoft.OData.Edm.dll'
productBinPathCore: '$(Build.SourcesDirectory)\src\Microsoft.OData.Core\bin\$(buildConfiguration)'
mainDllCore: 'Microsoft.OData.Core.dll'
productBinPathSpatial: '$(Build.SourcesDirectory)\src\Microsoft.Spatial\bin\$(buildConfiguration)'
mainDllSpatial: 'Microsoft.Spatial.dll'
productBinPathClient: '$(Build.SourcesDirectory)\src\Microsoft.OData.Client\bin\$(buildConfiguration)'
mainDllClient: 'Microsoft.OData.Client.dll'
nugetArtifactsDir: 'Nuget-Debug'
templateContext:
outputs:
- output: pipelineArtifact
displayName: 'Publish Artifact - NuGet Debug Packages'
targetPath: '$(Build.ArtifactStagingDirectory)\NuGet-Debug'
artifactName: NuGetDebug
steps:
- template: /nightly.yml@self
- job: Release
timeoutInMinutes: 120
variables:
buildPlatform: 'Any CPU'
buildConfiguration: 'Release'
skipComponentGovernanceDetection: true
snExe: 'C:\Program Files (x86)\Microsoft SDKs\Windows\v10.0A\bin\NETFX 4.8 Tools\sn.exe'
snExe64: 'C:\Program Files (x86)\Microsoft SDKs\Windows\v10.0A\bin\NETFX 4.8 Tools\x64\sn.exe'
gacUtil: '$(Build.SourcesDirectory)\test\CommonAssemblies\Microsoft.VisualStudio.QualityTools.UnitTestFramework.dll'
productBinPathEdm: '$(Build.SourcesDirectory)\src\Microsoft.OData.Edm\bin\$(buildConfiguration)'
mainDllEdm: 'Microsoft.OData.Edm.dll'
productBinPathCore: '$(Build.SourcesDirectory)\src\Microsoft.OData.Core\bin\$(buildConfiguration)'
mainDllCore: 'Microsoft.OData.Core.dll'
productBinPathSpatial: '$(Build.SourcesDirectory)\src\Microsoft.Spatial\bin\$(buildConfiguration)'
mainDllSpatial: 'Microsoft.Spatial.dll'
productBinPathClient: '$(Build.SourcesDirectory)\src\Microsoft.OData.Client\bin\$(buildConfiguration)'
mainDllClient: 'Microsoft.OData.Client.dll'
nugetArtifactsDir: 'Nuget-Release'
templateContext:
outputs:
- output: pipelineArtifact
displayName: 'Publish Artifact - NuGet Release Packages'
targetPath: '$(Build.ArtifactStagingDirectory)\NuGet-Release'
artifactName: NuGetRelease
- output: nuget
displayName: 'MyGet push - Nightly packages to MyGet'
packageParentPath: '$(Build.ArtifactStagingDirectory)'
packagesToPush: $(Build.ArtifactStagingDirectory)\Nuget-Release\*Nightly*.nupkg
nuGetFeedType: external
publishFeedCredentials: 'MyGet.org - ODL Feed'
steps:
- template: /nightly.yml@self

115 changes: 65 additions & 50 deletions azure-pipelines-rolling.yml
Original file line number Diff line number Diff line change
Expand Up @@ -14,55 +14,70 @@ pr:
- main
- dev-8.x

jobs:
resources:
repositories:
- repository: self
type: git
ref: refs/heads/main
- repository: 1ESPipelineTemplates
type: git
name: 1ESPipelineTemplates/1ESPipelineTemplates
ref: refs/tags/release

- job: Debug
pool:
vmImage: 'windows-2019'
variables:
buildPlatform: 'Any CPU'
buildConfiguration: 'Release'
skipComponentGovernanceDetection: true
snExe: 'C:\Program Files (x86)\Microsoft SDKs\Windows\v10.0A\bin\NETFX 4.8 Tools\sn.exe'
snExe64: 'C:\Program Files (x86)\Microsoft SDKs\Windows\v10.0A\bin\NETFX 4.8 Tools\x64\sn.exe'
gacUtil: '$(Build.SourcesDirectory)\test\CommonAssemblies\Microsoft.VisualStudio.QualityTools.UnitTestFramework.dll'
ProductBinPath1: '$(Build.SourcesDirectory)\src\Microsoft.OData.Edm\bin\$(BuildConfiguration)'
mainDll1: 'Microsoft.OData.Edm.dll'
ProductBinPath2: '$(Build.SourcesDirectory)\src\Microsoft.OData.Core\bin\$(BuildConfiguration)'
mainDll2: 'Microsoft.OData.Core.dll'
ProductBinPath3: '$(Build.SourcesDirectory)\src\Microsoft.Spatial\bin\$(BuildConfiguration)'
mainDll3: 'Microsoft.Spatial.dll'
ProductBinPath4: '$(Build.SourcesDirectory)\src\Microsoft.OData.Client\bin\$(BuildConfiguration)'
mainDll4: 'Microsoft.OData.Client.dll'
ProductBinPath5: '$(Build.SourcesDirectory)\src\CodeGen\bin\$(BuildConfiguration)'
mainDll5: 'Microsoft.OData.Service.Design.T4.dll'
ProductBinPath: $(Build.SourcesDirectory)\bin\$(BuildPlatform)\$(BuildConfiguration)\Product
steps:
- template: buildandtest.yml
- template: credscan.yml

- job: Release
pool:
vmImage: 'windows-2019'
variables:
buildPlatform: 'Any CPU'
buildConfiguration: 'Release'
skipComponentGovernanceDetection: true
snExe: 'C:\Program Files (x86)\Microsoft SDKs\Windows\v10.0A\bin\NETFX 4.8 Tools\sn.exe'
snExe64: 'C:\Program Files (x86)\Microsoft SDKs\Windows\v10.0A\bin\NETFX 4.8 Tools\x64\sn.exe'
gacUtil: '$(Build.SourcesDirectory)\test\CommonAssemblies\Microsoft.VisualStudio.QualityTools.UnitTestFramework.dll'
ProductBinPath1: '$(Build.SourcesDirectory)\src\Microsoft.OData.Edm\bin\$(BuildConfiguration)'
mainDll1: 'Microsoft.OData.Edm.dll'
ProductBinPath2: '$(Build.SourcesDirectory)\src\Microsoft.OData.Core\bin\$(BuildConfiguration)'
mainDll2: 'Microsoft.OData.Core.dll'
ProductBinPath3: '$(Build.SourcesDirectory)\src\Microsoft.Spatial\bin\$(BuildConfiguration)'
mainDll3: 'Microsoft.Spatial.dll'
ProductBinPath4: '$(Build.SourcesDirectory)\src\Microsoft.OData.Client\bin\$(BuildConfiguration)'
mainDll4: 'Microsoft.OData.Client.dll'
ProductBinPath5: '$(Build.SourcesDirectory)\src\CodeGen\bin\$(BuildConfiguration)'
mainDll5: 'Microsoft.OData.Service.Design.T4.dll'
ProductBinPath: $(Build.SourcesDirectory)\bin\$(BuildPlatform)\$(BuildConfiguration)\Product
steps:
- template: buildandtest.yml
- template: credscan.yml
variables:
- name: __NugetSecurityAnalysisWarningLevel__
value: none
- name: runCodesignValidationInjection
value: false

extends:
template: v1/1ES.Official.PipelineTemplate.yml@1ESPipelineTemplates
parameters:
pool:
name: MSSecurity-1ES-Build-Agents-Pool
image: MSSecurity-1ES-Windows-2019
os: windows
customBuildTags:
- ES365AIMigrationTooling
stages:
- stage: build
jobs:
- job: Debug
variables:
buildPlatform: 'Any CPU'
buildConfiguration: 'Debug'
skipComponentGovernanceDetection: true
snExe: 'C:\Program Files (x86)\Microsoft SDKs\Windows\v10.0A\bin\NETFX 4.8 Tools\sn.exe'
snExe64: 'C:\Program Files (x86)\Microsoft SDKs\Windows\v10.0A\bin\NETFX 4.8 Tools\x64\sn.exe'
gacUtil: '$(Build.SourcesDirectory)\test\CommonAssemblies\Microsoft.VisualStudio.QualityTools.UnitTestFramework.dll'
productBinPathEdm: '$(Build.SourcesDirectory)\src\Microsoft.OData.Edm\bin\$(buildConfiguration)'
mainDllEdm: 'Microsoft.OData.Edm.dll'
productBinPathCore: '$(Build.SourcesDirectory)\src\Microsoft.OData.Core\bin\$(buildConfiguration)'
mainDllCore: 'Microsoft.OData.Core.dll'
productBinPathSpatial: '$(Build.SourcesDirectory)\src\Microsoft.Spatial\bin\$(buildConfiguration)'
mainDllSpatial: 'Microsoft.Spatial.dll'
productBinPathClient: '$(Build.SourcesDirectory)\src\Microsoft.OData.Client\bin\$(buildConfiguration)'
mainDllClient: 'Microsoft.OData.Client.dll'
steps:
- template: /buildandtest.yml@self
- template: /credscan.yml@self
- job: Release
variables:
buildPlatform: 'Any CPU'
buildConfiguration: 'Release'
skipComponentGovernanceDetection: true
snExe: 'C:\Program Files (x86)\Microsoft SDKs\Windows\v10.0A\bin\NETFX 4.8 Tools\sn.exe'
snExe64: 'C:\Program Files (x86)\Microsoft SDKs\Windows\v10.0A\bin\NETFX 4.8 Tools\x64\sn.exe'
gacUtil: '$(Build.SourcesDirectory)\test\CommonAssemblies\Microsoft.VisualStudio.QualityTools.UnitTestFramework.dll'
productBinPathEdm: '$(Build.SourcesDirectory)\src\Microsoft.OData.Edm\bin\$(buildConfiguration)'
mainDllEdm: 'Microsoft.OData.Edm.dll'
productBinPathCore: '$(Build.SourcesDirectory)\src\Microsoft.OData.Core\bin\$(buildConfiguration)'
mainDllCore: 'Microsoft.OData.Core.dll'
productBinPathSpatial: '$(Build.SourcesDirectory)\src\Microsoft.Spatial\bin\$(buildConfiguration)'
mainDllSpatial: 'Microsoft.Spatial.dll'
productBinPathClient: '$(Build.SourcesDirectory)\src\Microsoft.OData.Client\bin\$(buildConfiguration)'
mainDllClient: 'Microsoft.OData.Client.dll'
steps:
- template: /buildandtest.yml@self
- template: /credscan.yml@self

13 changes: 3 additions & 10 deletions buildandtest.yml
Original file line number Diff line number Diff line change
Expand Up @@ -3,14 +3,10 @@ steps:
inputs:
versionSpec: '6.5.0'





- task: UseDotNet@2
inputs:
version: '8.x'

- task: PowerShell@2
inputs:
targetType: 'inline'
Expand All @@ -20,8 +16,6 @@ steps:
[System.Reflection.Assembly]::Load("System.EnterpriseServices, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a")
$publish = New-Object System.EnterpriseServices.Internal.Publish
$publish.GacInstall("$(gacUtil)")
- task: UseDotNet@2
inputs:
version: '8.x'
Expand All @@ -31,7 +25,6 @@ steps:
inputs:
version: '2.1.x'


- task: DotNetCoreCLI@2
displayName: 'Build'
inputs:
Expand All @@ -54,10 +47,10 @@ steps:
# TODO: e2e tests fail to run. We should fix/rewrite e2e tests to support the new target frameworks.
# See: https://github.com/OData/odata.net/issues/2852
# - task: DotNetCoreCLI@2
# condition: eq(variables.BuildConfiguration, 'Release')
# condition: eq(variables.buildConfiguration, 'Release')
# displayName: 'Test'
# inputs:
# command: 'test'
# arguments: '--configuration $(BuildConfiguration) --collect "Code coverage"'
# arguments: '--configuration $(buildConfiguration) --collect "Code coverage"'
# projects: |
# $(Build.SourcesDirectory)\test\EndToEndTests\Tests\Client\Build.Desktop\Microsoft.Test.OData.Tests.Client.csproj
16 changes: 8 additions & 8 deletions credscan.yml
Original file line number Diff line number Diff line change
Expand Up @@ -23,9 +23,9 @@ steps:
inputs:
InputType: Basic
AnalyzeTarget: |
$(ProductBinPath1)\**\$(mainDll1)
$(productBinPathEdm)\**\$(mainDllEdm)
AnalyzeSymPath: |
$(ProductBinPath1)
$(productBinPathEdm)
AnalyzeVerbose: true
AnalyzeHashes: true
AnalyzeEnvironment: true
Expand All @@ -35,9 +35,9 @@ steps:
inputs:
InputType: Basic
AnalyzeTarget: |
$(ProductBinPath2)\**\$(mainDll2)
$(productBinPathCore)\**\$(mainDllCore)
AnalyzeSymPath: |
$(ProductBinPath2)
$(productBinPathCore)
AnalyzeVerbose: true
AnalyzeHashes: true
AnalyzeEnvironment: true
Expand All @@ -47,9 +47,9 @@ steps:
inputs:
InputType: Basic
AnalyzeTarget: |
$(ProductBinPath3)\**\$(mainDll3)
$(productBinPathSpatial)\**\$(mainDllSpatial)
AnalyzeSymPath: |
$(ProductBinPath3)
$(productBinPathSpatial)
AnalyzeVerbose: true
AnalyzeHashes: true
AnalyzeEnvironment: true
Expand All @@ -59,9 +59,9 @@ steps:
inputs:
InputType: Basic
AnalyzeTarget: |
$(ProductBinPath4)\**\$(mainDll4)
$(productBinPathClient)\**\$(mainDllClient)
AnalyzeSymPath: |
$(ProductBinPath4)
$(productBinPathClient)
AnalyzeVerbose: true
AnalyzeHashes: true
AnalyzeEnvironment: true
Expand Down
Loading

0 comments on commit fd83a9d

Please sign in to comment.