Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
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
31 changes: 22 additions & 9 deletions eng/emitters/pipelines/templates/stages/emitter-stages.yml
Original file line number Diff line number Diff line change
Expand Up @@ -82,6 +82,19 @@ parameters:
type: string
default: "3.12"

# Primary Node.js version used in the build/test matrix. Artifacts are emitted from the
# job that uses this version. Changing this default automatically updates the dynamically
# generated job name (Build_linux_<major>) referenced by DetectApiChanges and downstream
# stages, so callers do not need to update DependsOn references separately.
- name: PrimaryNodeVersion
type: string
default: "24.x"

# Secondary Node.js version used in the build/test matrix.
- name: SecondaryNodeVersion
type: string
default: "22.x"

# Whether to bundle and upload the emitter package to the playground package storage.
- name: UploadPlaygroundBundle
type: boolean
Expand Down Expand Up @@ -130,7 +143,7 @@ stages:
PackagePath: ${{ parameters.PackagePath }}
LanguageShortName: ${{ parameters.LanguageShortName }}
BuildArtifactName: build_artifacts_${{ parameters.LanguageShortName }}
NodeVersion: 20.x
NodeVersion: ${{ parameters.PrimaryNodeVersion }}
Os: linux
EmitArtifacts: true # Emit artifacts only for the first job
PythonVersion: ${{ parameters.PythonVersion }}
Expand All @@ -144,7 +157,7 @@ stages:
Packages: ${{ parameters.Packages }}
PackagePath: ${{ parameters.PackagePath }}
LanguageShortName: ${{ parameters.LanguageShortName }}
NodeVersion: 22.x
NodeVersion: ${{ parameters.SecondaryNodeVersion }}
Os: linux
PythonVersion: ${{ parameters.PythonVersion }}
- template: /eng/emitters/pipelines/templates/jobs/build-job.yml
Expand All @@ -156,7 +169,7 @@ stages:
Packages: ${{ parameters.Packages }}
PackagePath: ${{ parameters.PackagePath }}
LanguageShortName: ${{ parameters.LanguageShortName }}
NodeVersion: 20.x
NodeVersion: ${{ parameters.PrimaryNodeVersion }}
Os: windows
PythonVersion: ${{ parameters.PythonVersion }}
- template: /eng/emitters/pipelines/templates/jobs/build-job.yml
Expand All @@ -168,14 +181,14 @@ stages:
Packages: ${{ parameters.Packages }}
PackagePath: ${{ parameters.PackagePath }}
LanguageShortName: ${{ parameters.LanguageShortName }}
NodeVersion: 22.x
NodeVersion: ${{ parameters.SecondaryNodeVersion }}
Os: windows
PythonVersion: ${{ parameters.PythonVersion }}
- ${{ if eq(parameters.Publish, 'none') }}:
- template: /eng/emitters/pipelines/templates/jobs/detect-api-changes.yml
parameters:
LanguageShortName: ${{ parameters.LanguageShortName }}
DependsOn: Build_linux_20
DependsOn: Build_linux_${{ split(parameters.PrimaryNodeVersion, '.')[0] }}
BuildArtifactName: build_artifacts_${{ parameters.LanguageShortName }}
Artifacts:
- ${{ each package in parameters.Packages }}:
Expand Down Expand Up @@ -204,7 +217,7 @@ stages:
TestArgs: ${{ parameters.UnitTestArgs }}
LanguageShortName: ${{ parameters.LanguageShortName }}
BuildArtifactName: build_artifacts_${{ parameters.LanguageShortName }}
NodeVersion: 20.x
NodeVersion: ${{ parameters.PrimaryNodeVersion }}
Os: linux
EmitArtifacts: true # Emit artifacts only for the first job
CadlRanchName: ${{ parameters.CadlRanchName }} # only needed for first job
Expand All @@ -218,7 +231,7 @@ stages:
TestArgs: ${{ parameters.UnitTestArgs }}
LanguageShortName: ${{ parameters.LanguageShortName }}
BuildArtifactName: build_artifacts_${{ parameters.LanguageShortName }}
NodeVersion: 22.x
NodeVersion: ${{ parameters.SecondaryNodeVersion }}
Os: linux
PythonVersion: ${{ parameters.PythonVersion }}
UseTypeSpecNext: ${{ parameters.UseTypeSpecNext }}
Expand All @@ -229,7 +242,7 @@ stages:
TestArgs: ${{ parameters.UnitTestArgs }}
LanguageShortName: ${{ parameters.LanguageShortName }}
BuildArtifactName: build_artifacts_${{ parameters.LanguageShortName }}
NodeVersion: 20.x
NodeVersion: ${{ parameters.PrimaryNodeVersion }}
Os: windows
PythonVersion: ${{ parameters.PythonVersion }}
UseTypeSpecNext: ${{ parameters.UseTypeSpecNext }}
Expand All @@ -240,7 +253,7 @@ stages:
TestArgs: ${{ parameters.UnitTestArgs }}
LanguageShortName: ${{ parameters.LanguageShortName }}
BuildArtifactName: build_artifacts_${{ parameters.LanguageShortName }}
NodeVersion: 22.x
NodeVersion: ${{ parameters.SecondaryNodeVersion }}
Os: windows
PythonVersion: ${{ parameters.PythonVersion }}
UseTypeSpecNext: ${{ parameters.UseTypeSpecNext }}
Expand Down
2 changes: 1 addition & 1 deletion eng/emitters/pipelines/templates/steps/test-step.yml
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ parameters:
# Node version
- name: NodeVersion
type: string
default: "20.x"
default: "22.x"

# Arguments needed to run tests
- name: TestArgs
Expand Down
9 changes: 8 additions & 1 deletion packages/http-client-csharp/eng/pipeline/publish.yml
Original file line number Diff line number Diff line change
Expand Up @@ -34,6 +34,12 @@ parameters:
type: boolean
default: false

# Primary Node.js version used by the artifact-emitting Build_linux job. Must match
# the PrimaryNodeVersion default in eng/emitters/pipelines/templates/stages/emitter-stages.yml.
- name: PrimaryNodeVersion
type: string
default: "24.x"

extends:
template: /eng/common/pipelines/templates/1es-redirect.yml

Expand All @@ -47,6 +53,7 @@ extends:
PublishDependsOnTest: ${{ parameters.RunTests }}
PackagePath: /packages/http-client-csharp
EmitterPackageJsonPath: packages/http-client-csharp/package.json
PrimaryNodeVersion: ${{ parameters.PrimaryNodeVersion }}
Packages:
- name: typespec-http-client-csharp
file: typespec-http-client-csharp-*.tgz
Expand Down Expand Up @@ -102,7 +109,7 @@ extends:
- CSharp_Build
condition: and(succeeded(), ne(variables['Build.Reason'], 'Schedule'), or(eq(variables['Build.SourceBranchName'], 'main'), and(eq(variables['Build.Reason'], 'Manual'), ${{ parameters.CreateAzureSdkForNetPR }})))
variables:
PackageVersion: $[ stageDependencies.CSharp_Build.Build_linux_20.outputs['ci_build.emitterVersion'] ]
PackageVersion: $[ stageDependencies.CSharp_Build.Build_linux_${{ split(parameters.PrimaryNodeVersion, '.')[0] }}.outputs['ci_build.emitterVersion'] ]
pool:
name: $(LINUXPOOL)
image: $(LINUXVMIMAGE)
Expand Down
Loading