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
10 changes: 6 additions & 4 deletions eng/pipelines/coreclr/templates/setup-roslyn-cache.yml
Original file line number Diff line number Diff line change
Expand Up @@ -9,16 +9,18 @@ steps:
# request itself or its target branch. This lets rolling builds seed the
# cache without allowing pull requests to modify caches used by main.
#
# The managed configuration is intentionally excluded. Roslyn's
# deterministic key includes the compilation options, and some pipeline
# legs override the matrix configuration in their build arguments.
# Keep Debug and Release entries separate so rolling builds can seed both
# configurations without competing for the same immutable cache key.
# Roslyn's own deterministic key accounts for legs that override the
# matrix configuration in their build arguments.
- task: Cache@2
displayName: Roslyn compiler cache
continueOnError: true
inputs:
key: roslyn | v1 | ${{ parameters.osGroup }}${{ parameters.osSubgroup }} | ${{ parameters.archType }} | ${{ parameters.nameSuffix }} | "$(Build.BuildId)"
key: roslyn | v2 | ${{ parameters.osGroup }}${{ parameters.osSubgroup }} | ${{ parameters.archType }} | ${{ parameters.nameSuffix }} | "$(buildConfigUpper)" | "$(Build.BuildId)"
path: $(Pipeline.Workspace)/.roslyn-cache
restoreKeys: |
roslyn | v2 | ${{ parameters.osGroup }}${{ parameters.osSubgroup }} | ${{ parameters.archType }} | ${{ parameters.nameSuffix }} | "$(buildConfigUpper)"
roslyn | v1 | ${{ parameters.osGroup }}${{ parameters.osSubgroup }} | ${{ parameters.archType }} | ${{ parameters.nameSuffix }}

- script: |
Expand Down
19 changes: 19 additions & 0 deletions eng/pipelines/runtime.yml
Original file line number Diff line number Diff line change
Expand Up @@ -351,6 +351,25 @@ extends:
eq(stageDependencies.EvaluatePaths.evaluate_paths.outputs['SetPathVars_libraries.containsChange'], true),
eq(variables['isRollingBuild'], true))

# Seed the Debug compiler cache used by the CoreCLR_AllSubsets PR builds.
- ${{ if eq(variables.isRollingBuild, true) }}:
- template: /eng/pipelines/common/platform-matrix.yml
parameters:
jobTemplate: /eng/pipelines/common/global-build-job.yml
buildConfig: debug
platforms:
- linux_x64
- linux_musl_x64
- osx_arm64
jobParameters:
nameSuffix: CoreCLR_AllSubsets
buildArgs: -s clr+libs+libs.tests+host+packs -rc Release -c $(_BuildConfig) /p:ArchiveTests=true
timeoutInMinutes: 180
preBuildSteps:
- template: /eng/pipelines/coreclr/templates/setup-sccache.yml
postBuildSteps:
- template: /eng/pipelines/coreclr/templates/sccache-stats.yml

- template: /eng/pipelines/common/platform-matrix.yml
parameters:
jobTemplate: /eng/pipelines/common/global-build-job.yml
Expand Down
Loading