Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
44 commits
Select commit Hold shift + click to select a range
542fe64
Move install-dotnet to common/steps, first bits of pipeline
benrr101 May 28, 2026
d96840b
Adding build and pack steps and writing up the build/pack stage.
benrr101 May 1, 2026
50c02c8
Move common variables to common folder. Move OneBranch specific varia…
benrr101 May 1, 2026
2ee5492
Rename prci-pipeline to pr-pipeline
benrr101 May 1, 2026
cca94d8
First round of tests
benrr101 May 1, 2026
d57e1f4
Run build/pack regardless of previous package.
benrr101 May 1, 2026
9ed3852
Run tree and publish artifact regardless of previous success
benrr101 May 1, 2026
60782cf
Completely untested, let's see what it does.
benrr101 May 8, 2026
3c85479
Rename build-and-pack-stage.yml
benrr101 May 8, 2026
578ba0f
tree on linux
benrr101 May 8, 2026
adfabcf
Fix test framework
benrr101 May 8, 2026
dc8d733
Switch images to ones that have sql server on it
benrr101 May 11, 2026
43d36fc
:robot: Implement config file generation for manual test
benrr101 May 11, 2026
eccbeaf
Fix build name
benrr101 May 11, 2026
a491588
WIP
benrr101 May 12, 2026
9491067
WIP
benrr101 May 12, 2026
5fba197
Add secret generation stage
benrr101 May 15, 2026
9c32547
Run pack-stage and generate-secrets-stage in parallel
benrr101 May 15, 2026
379b384
More WIP to wire up manual test config
benrr101 May 16, 2026
b788c71
:robot: Finish wiring up what exists today. Time to try it out and se…
benrr101 May 18, 2026
7b64e1c
Fine, :robot:, you were right. Adding back the operating system param…
benrr101 May 18, 2026
6e783fb
Fix link to linux config step
benrr101 May 18, 2026
cdd461f
:robot: remove dependency on extutilities
benrr101 May 18, 2026
7b51688
:robot: Get connection string for setting up northwind from config
benrr101 May 19, 2026
3992b3c
:robot: Only swap out the initial catalog field.
benrr101 May 19, 2026
96c193e
:robot: vs :robot: :fight:
benrr101 May 19, 2026
bdddb06
Sync config.cs and config.json
benrr101 May 19, 2026
61283a0
Cleanup powershells
benrr101 May 19, 2026
349d7ec
Config steps
benrr101 May 21, 2026
0bda151
:hammer:
benrr101 May 21, 2026
c2e0ca9
Diagnostic
benrr101 May 21, 2026
eb11519
Stupid powershell.
benrr101 May 21, 2026
dbd7d95
Making demands.
benrr101 May 21, 2026
462253a
Fixing the first round of manual tests.
benrr101 May 22, 2026
8e15564
Increase timeout on sql notification test... not ideal but if it help…
benrr101 May 22, 2026
fabed09
Add retries to dotnet install steps
benrr101 May 22, 2026
1aae60b
Cleanup and add explicit disposal logic to AlwaysEncrypted.ApiShould.…
benrr101 May 26, 2026
a49c991
Temporarily mark SqlNotificationTest.Test_SingleDependency_AllDefault…
benrr101 May 26, 2026
772e925
Comments for pipeline, stages, jobs, variables.
benrr101 May 26, 2026
2934a36
Fix SA password issue.
benrr101 May 27, 2026
357438e
:hammer:
benrr101 May 27, 2026
27912d5
Exclude AE ApiShould tests on debug builds.
benrr101 May 27, 2026
3afd216
Address copilot feedback round 1 of `n`
benrr101 May 28, 2026
6419c73
Config.json changes applied to pipelines.
benrr101 May 28, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -57,6 +57,7 @@ steps:
# Install the SDK listed in the global.json file.
- task: UseDotNet@2
displayName: Install .NET SDK (global.json)
retryCountOnTaskFailure: 3
inputs:
installationPath: ${{ parameters.installDir }}
packageType: sdk
Expand All @@ -65,10 +66,12 @@ steps:
env:
PROCESSOR_ARCHITECTURE: x86


# Install the desired Runtimes, if any.
- ${{ each version in parameters.runtimes }}:
- task: UseDotNet@2
displayName: Install .NET ${{ version }} Runtime
retryCountOnTaskFailure: 3
inputs:
installationPath: ${{ parameters.installDir }}
packageType: runtime
Expand All @@ -83,6 +86,7 @@ steps:
# Use the install script for ARM64.
- task: PowerShell@2
displayName: Install .NET SDK and Runtimes for ARM64
retryCountOnTaskFailure: 3
inputs:
targetType: filePath
pwsh: true
Expand Down
4 changes: 2 additions & 2 deletions eng/pipelines/common/templates/jobs/ci-build-nugets-job.yml
Original file line number Diff line number Diff line change
Expand Up @@ -132,10 +132,10 @@ jobs:
targetPath: $(localFeedPath)

# Install the .NET SDK.
- template: /eng/pipelines/steps/install-dotnet.yml@self
- template: /eng/pipelines/common/steps/install-dotnet.yml@self
Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

non-official pipeline has been launched to verify this all works


# Restore dotnet CLI tools (e.g. pwsh, apicompat) before building.
- template: /eng/pipelines/steps/restore-dotnet-tools.yml@self
- template: /eng/pipelines/common/steps/restore-dotnet-tools.yml@self

# When we're performing a Debug build, we still want to try _compiling_ the
# code in Release mode to ensure downstream pipelines don't encounter
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -44,7 +44,7 @@ jobs:
displayName: '[Debug] List Environment Variables'

# Install the .NET SDK.
- template: /eng/pipelines/steps/install-dotnet.yml@self
- template: /eng/pipelines/common/steps/install-dotnet.yml@self
parameters:
debug: ${{ parameters.debug }}

Expand Down
12 changes: 3 additions & 9 deletions eng/pipelines/common/templates/jobs/ci-run-tests-job.yml
Original file line number Diff line number Diff line change
Expand Up @@ -30,11 +30,9 @@ parameters:
# template expansion.
#
# EnclaveEnabled
# IsAzureSynapse
# IsDNSCachingSupportedCR
# IsDNSCachingSupportedTR
# ManagedIdentitySupported
# SupportsFileStream
# SupportsIntegratedSecurity
# TracingEnabled
#
Expand Down Expand Up @@ -211,7 +209,7 @@ jobs:
targetPath: $(Build.SourcesDirectory)/packages

# Install the .NET SDK and Runtimes.
- template: /eng/pipelines/steps/install-dotnet.yml@self
- template: /eng/pipelines/common/steps/install-dotnet.yml@self
parameters:
debug: ${{ parameters.debug }}
${{ if parameters.isArm64 }}:
Expand All @@ -223,7 +221,7 @@ jobs:
runtimes: [8.x, 9.x]

# Restore dotnet CLI tools (e.g. pwsh, apicompat) before building.
- template: /eng/pipelines/steps/restore-dotnet-tools.yml@self
- template: /eng/pipelines/common/steps/restore-dotnet-tools.yml@self

- ${{ if ne(parameters.prebuildSteps, '') }}:
- ${{ parameters.prebuildSteps }} # extra steps to run before the build like downloading sni and the required configuration
Expand Down Expand Up @@ -279,8 +277,6 @@ jobs:
AliasName: ${{ parameters.configProperties.AliasName }}
${{ if parameters.configProperties.SupportsIntegratedSecurity }}:
SupportsIntegratedSecurity: ${{ eq(parameters.configProperties.SupportsIntegratedSecurity, 'true') }}
${{ if parameters.configProperties.SupportsFileStream }}:
SupportsFileStream: ${{ eq(parameters.configProperties.SupportsFileStream, 'true') }}
${{ if parameters.configProperties.DNSCachingConnString }}:
DNSCachingConnString: ${{ parameters.configProperties.DNSCachingConnString }}
${{ if parameters.configProperties.DNSCachingServerCR }}:
Expand All @@ -293,8 +289,6 @@ jobs:
IsDNSCachingSupportedCR: ${{ eq(parameters.configProperties.IsDNSCachingSupportedCR, 'true') }}
${{ if parameters.configProperties.IsDNSCachingSupportedTR }}:
IsDNSCachingSupportedTR: ${{ eq(parameters.configProperties.IsDNSCachingSupportedTR, 'true') }}
${{ if parameters.configProperties.IsAzureSynapse }}:
IsAzureSynapse: ${{ eq(parameters.configProperties.IsAzureSynapse, 'true') }}
${{ if parameters.configProperties.ManagedIdentitySupported }}:
ManagedIdentitySupported: ${{ eq(parameters.configProperties.ManagedIdentitySupported, 'true') }}

Expand Down Expand Up @@ -352,7 +346,7 @@ jobs:
- ${{ if and(eq(parameters.enableX86Test, true), eq(parameters.operatingSystem, 'Windows')) }}:
- ${{ if ne(variables['dotnetx86RootPath'], '') }}:
# Install the .NET SDK and Runtimes for x86.
- template: /eng/pipelines/steps/install-dotnet.yml@self
- template: /eng/pipelines/common/steps/install-dotnet.yml@self
parameters:
architecture: x86
debug: ${{ parameters.debug }}
Expand Down
2 changes: 1 addition & 1 deletion eng/pipelines/common/templates/steps/pre-build-step.yml
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
#################################################################################
steps:
# Install the .NET SDK and Runtimes.
- template: /eng/pipelines/steps/install-dotnet.yml@self
- template: /eng/pipelines/common/steps/install-dotnet.yml@self
parameters:
runtimes: [8.x, 9.x]

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -93,10 +93,6 @@ parameters:
type: boolean
default: false

- name: SupportsFileStream
type: boolean
default: false

- name: DNSCachingConnString
type: string
default: ''
Expand All @@ -121,10 +117,6 @@ parameters:
type: boolean
default: false

- name: IsAzureSynapse
type: boolean
default: false

- name: ManagedIdentitySupported
type: boolean
default: true
Expand Down Expand Up @@ -188,8 +180,6 @@ steps:

$p.DNSCachingConnString="${{parameters.DNSCachingConnString }}"

$p.SupportsFileStream="${{parameters.SupportsFileStream }}"

$p.LocalDbAppName="${{parameters.LocalDbAppName }}"

$p.TCPConnectionStringAASSGX="${{parameters.TCPConnectionStringAASSGX }}"
Expand All @@ -201,7 +191,6 @@ steps:
$p.UseManagedSNIOnWindows=[System.Convert]::ToBoolean("${{parameters.UseManagedSNIOnWindows }}")
$p.SupportsIntegratedSecurity=[System.Convert]::ToBoolean("${{parameters.SupportsIntegratedSecurity }}")
$p.ManagedIdentitySupported=[System.Convert]::ToBoolean("${{parameters.ManagedIdentitySupported }}")
$p.IsAzureSynapse=[System.Convert]::ToBoolean("${{parameters.IsAzureSynapse }}")
$p.IsDNSCachingSupportedTR=[System.Convert]::ToBoolean("${{parameters.IsDNSCachingSupportedTR }}")
$p.IsDNSCachingSupportedCR=[System.Convert]::ToBoolean("${{parameters.IsDNSCachingSupportedCR }}")
$p.TracingEnabled=[System.Convert]::ToBoolean("${{parameters.TracingEnabled }}")
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@ parameters:

steps:
# Install the .NET SDK, required by the PowerShell script.
- template: /eng/pipelines/steps/install-dotnet.yml@self
- template: /eng/pipelines/common/steps/install-dotnet.yml@self

# Invoke the script with the path to the packages to verify.
- task: PowerShell@2
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,11 +4,9 @@
# See the LICENSE file in the project root for more information. #
Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

These variables were always meant to be common to all pipelines.

#################################################################################

# Common variables shared across all OneBranch Official pipelines.
# Common variables shared across all pipelines.

variables:
- name: CommitHead
value: '' # the value will be extracted from the repo's head

##########################################################################
# "Well-Known" Variables that are ok to use directly, anywhere in the pipeline.
Expand All @@ -21,15 +19,3 @@ variables:
# <ArtifactsPath>).
- name: BUILD_OUTPUT
value: $(REPO_ROOT)/artifacts

# Directory where downloaded pipeline artifacts (NuGet packages from earlier
Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

These were moved to the onebranch-variables file

# stages) are placed. Build jobs use this as a local NuGet package source so
# that downstream packages can resolve dependencies on packages built by
# upstream stages.
- name: JOB_INPUT
value: $(REPO_ROOT)/packages

# Root directory for all job output artifacts (NuGet packages, symbols, etc.). OneBranch auto
# publishes everything under this directory as the artifact for the job.
- name: JOB_OUTPUT
value: $(REPO_ROOT)/output
2 changes: 1 addition & 1 deletion eng/pipelines/jobs/pack-abstractions-package-ci-job.yml
Original file line number Diff line number Diff line change
Expand Up @@ -103,7 +103,7 @@ jobs:
displayName: '[Debug] Print Environment Variables'

# Install the .NET SDK.
- template: /eng/pipelines/steps/install-dotnet.yml@self
- template: /eng/pipelines/common/steps/install-dotnet.yml@self
parameters:
debug: ${{ parameters.debug }}

Expand Down
2 changes: 1 addition & 1 deletion eng/pipelines/jobs/pack-azure-package-ci-job.yml
Original file line number Diff line number Diff line change
Expand Up @@ -146,7 +146,7 @@ jobs:
targetPath: $(Build.SourcesDirectory)/packages

# Install the .NET SDK.
- template: /eng/pipelines/steps/install-dotnet.yml@self
- template: /eng/pipelines/common/steps/install-dotnet.yml@self
parameters:
debug: ${{ parameters.debug }}

Expand Down
2 changes: 1 addition & 1 deletion eng/pipelines/jobs/pack-logging-package-ci-job.yml
Original file line number Diff line number Diff line change
Expand Up @@ -94,7 +94,7 @@ jobs:
displayName: '[Debug] Print Environment Variables'

# Install the .NET SDK.
- template: /eng/pipelines/steps/install-dotnet.yml@self
- template: /eng/pipelines/common/steps/install-dotnet.yml@self
parameters:
debug: ${{ parameters.debug }}

Expand Down
2 changes: 1 addition & 1 deletion eng/pipelines/jobs/pack-sqlserver-package-ci-job.yml
Original file line number Diff line number Diff line change
Expand Up @@ -90,7 +90,7 @@ jobs:
displayName: '[Debug] Print Environment Variables'

# Install the .NET SDK.
- template: /eng/pipelines/steps/install-dotnet.yml@self
- template: /eng/pipelines/common/steps/install-dotnet.yml@self
parameters:
debug: ${{ parameters.debug }}

Expand Down
2 changes: 1 addition & 1 deletion eng/pipelines/jobs/test-abstractions-package-ci-job.yml
Original file line number Diff line number Diff line change
Expand Up @@ -122,7 +122,7 @@ jobs:
displayName: '[Debug] Print Environment Variables'

# Install the .NET SDK and Runtimes.
- template: /eng/pipelines/steps/install-dotnet.yml@self
- template: /eng/pipelines/common/steps/install-dotnet.yml@self
parameters:
debug: ${{ parameters.debug }}
runtimes: [8.x, 9.x]
Expand Down
2 changes: 1 addition & 1 deletion eng/pipelines/jobs/test-azure-package-ci-job.yml
Original file line number Diff line number Diff line change
Expand Up @@ -243,7 +243,7 @@ jobs:
targetPath: $(Build.SourcesDirectory)/packages

# Install the .NET SDK and Runtimes.
- template: /eng/pipelines/steps/install-dotnet.yml@self
- template: /eng/pipelines/common/steps/install-dotnet.yml@self
parameters:
debug: ${{ parameters.debug }}
runtimes: [8.x, 9.x]
Expand Down
4 changes: 2 additions & 2 deletions eng/pipelines/kerberos/sqlclient-kerberos.yml
Original file line number Diff line number Diff line change
Expand Up @@ -133,7 +133,7 @@ stages:

# Restore dotnet local tools (pwsh, apicompat, etc.). Required by build.proj targets
# such as _CheckPwshToolRestored that run during the SqlClient ref project build.
- template: /eng/pipelines/steps/restore-dotnet-tools.yml@self
- template: /eng/pipelines/common/steps/restore-dotnet-tools.yml@self

# --- Update test configuration ---
# Uses runtime variables from the matrix ($(managedSNI)) so we use
Expand Down Expand Up @@ -230,7 +230,7 @@ stages:

# Restore dotnet local tools (pwsh, apicompat, etc.). Required by build.proj targets
# such as _CheckPwshToolRestored that run during the SqlClient ref project build.
- template: /eng/pipelines/steps/restore-dotnet-tools.yml@self
- template: /eng/pipelines/common/steps/restore-dotnet-tools.yml@self

# --- Update test configuration (with Kerberos credentials) ---
- pwsh: |
Expand Down
4 changes: 2 additions & 2 deletions eng/pipelines/onebranch/jobs/build-buildproj-job.yml
Original file line number Diff line number Diff line change
Expand Up @@ -128,11 +128,11 @@ jobs:
targetPath: $(REPO_ROOT)/packages

# Install the .NET SDK.
- template: /eng/pipelines/steps/install-dotnet.yml@self
- template: /eng/pipelines/common/steps/install-dotnet.yml@self

# Restore dotnet local tools (pwsh, apicompat, etc.). Required by build.proj targets
# such as _CheckPwshToolRestored that run during RoslynAnalyzers and Build.
- template: /eng/pipelines/steps/restore-dotnet-tools.yml@self
- template: /eng/pipelines/common/steps/restore-dotnet-tools.yml@self

# Perform Roslyn analysis before building, since this step will clobber build output.
- template: /eng/pipelines/onebranch/steps/roslyn-analyzers-buildproj-step.yml@self
Expand Down
2 changes: 1 addition & 1 deletion eng/pipelines/onebranch/sqlclient-non-official.yml
Original file line number Diff line number Diff line change
Expand Up @@ -90,7 +90,7 @@ parameters:
default: false

variables:
- template: /eng/pipelines/onebranch/variables/common-variables.yml@self
- template: /eng/pipelines/common/variables/common-variables.yml@self
- template: /eng/pipelines/onebranch/variables/onebranch-variables.yml@self
- template: /eng/pipelines/onebranch/variables/package-variables.yml@self
parameters:
Expand Down
2 changes: 1 addition & 1 deletion eng/pipelines/onebranch/sqlclient-official.yml
Original file line number Diff line number Diff line change
Expand Up @@ -112,7 +112,7 @@ parameters:
default: false

variables:
- template: /eng/pipelines/onebranch/variables/common-variables.yml@self
- template: /eng/pipelines/common/variables/common-variables.yml@self
- template: /eng/pipelines/onebranch/variables/onebranch-variables.yml@self
- template: /eng/pipelines/onebranch/variables/package-variables.yml@self
parameters:
Expand Down
4 changes: 4 additions & 0 deletions eng/pipelines/onebranch/steps/build-buildproj-step.yml
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,10 @@

# This collection of steps to build a project via the build.proj. This will execute the "Build*"
# target in build.proj, where * is the packageShortName provided in the parameters.
#
# Note: This differs from the pr/ci build-buildproj-step.yml in that it always strong-name signs
# the assemblies, it only builds in package reference mode, and as such allows for version
# parameters to be provided.

parameters:
# Build configuration - Release or Debug.
Expand Down
19 changes: 18 additions & 1 deletion eng/pipelines/onebranch/variables/onebranch-variables.yml
Original file line number Diff line number Diff line change
Expand Up @@ -32,8 +32,25 @@ variables:
# SymbolsUploadAccount
- group: 'symbols-variables-v3'

# Well-Known Variables ###################################################

# Directory where downloaded pipeline artifacts (NuGet packages from earlier
# stages) are placed. Build jobs use this as a local NuGet package source so
# that downstream packages can resolve dependencies on packages built by
# upstream stages.
- name: JOB_INPUT
value: $(REPO_ROOT)/packages

# Root directory for all job output artifacts (NuGet packages, symbols, etc.). OneBranch auto
# publishes everything under this directory as the artifact for the job.
- name: JOB_OUTPUT
value: $(REPO_ROOT)/output

# OneBranch Template Variables ###########################################

- name: CommitHead
value: '' # the value will be extracted from the repo's head

# https://aka.ms/obpipelines/sdl
- name: ob_sdl_binskim_break
value: true
Expand All @@ -42,7 +59,7 @@ variables:
value: true

# OneBranch supplies a variety of container images we must use for our jobs.
#

# Windows jobs use this image.
- name: WindowsContainerImage
value: onebranch.azurecr.io/windows/ltsc2022/vse2022:latest
Expand Down
Loading
Loading