Skip to content

Commit 1141a1f

Browse files
committed
REVERT BEFORE MERGE: Overwrite global-build.yml and reintroduce bug to test validation
1 parent f676078 commit 1141a1f

File tree

2 files changed

+26
-91
lines changed

2 files changed

+26
-91
lines changed

eng/pipelines/global-build.yml

Lines changed: 25 additions & 90 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
1-
# The purpose of this pipeline is to exercise various developer workflows in the repo.
2-
# Primarily, it is meant to cover local (non-cross) build scenarios and
3-
# source-build scenarios that commonly cause build breaks.
1+
# This pipeline is used for running the VMR verification of the PR changes in repo-level PRs.
2+
# If there are changes in flight that intentionally create cross-repo breaking changes in the VMR ingestion,
3+
# this pipeline is expected to fail until the conflicts are resolved in the VMR.
44

55
trigger: none
66

@@ -18,102 +18,37 @@ pr:
1818
- .devcontainer/*
1919
- .github/*
2020
- docs/*
21+
# Don't trigger VMR builds for changes to Mono.
22+
# Mono-based stage 2 source-build is not blocking for the VMR and is only done as a basic validation
23+
# for our partners. Interesting Mono-based stage 2 source-build legs are for architectures that are not
24+
# supported on CoreCLR, like S390X, which we don't build ourselves.
25+
- src/mono/*
2126
- eng/pipelines/coreclr/*.*
2227
- eng/pipelines/libraries/*.*
2328
- eng/pipelines/installer/*.*
2429
- PATENTS.TXT
2530
- THIRD-PARTY-NOTICES.TXT
2631

2732
variables:
28-
- template: /eng/pipelines/common/variables.yml
33+
- template: /eng/common/templates/variables/pool-providers.yml@self
2934

30-
extends:
31-
template: /eng/pipelines/common/templates/pipeline-with-resources.yml
32-
parameters:
33-
isOfficialBuild: false
34-
stages:
35-
- ${{ if eq(variables['Build.Reason'], 'PullRequest') }}:
36-
- stage: EvaluatePaths
37-
displayName: Evaluate Paths
38-
jobs:
39-
- template: /eng/pipelines/common/evaluate-default-paths.yml
40-
41-
- stage: Build
42-
jobs:
35+
- name: skipComponentGovernanceDetection # we run CG on internal builds only
36+
value: true
4337

44-
#
45-
# Build with Release config and runtimeConfiguration with MSBuild generator
46-
#
47-
- template: /eng/pipelines/common/platform-matrix.yml
48-
parameters:
49-
jobTemplate: /eng/pipelines/common/global-build-job.yml
50-
buildConfig: release
51-
platforms:
52-
- windows_x86
53-
jobParameters:
54-
testGroup: innerloop
55-
nameSuffix: MSBuild_CMake
56-
buildArgs: -c Release -msbuild
57-
timeoutInMinutes: 120
58-
condition:
59-
or(
60-
eq(stageDependencies.EvaluatePaths.evaluate_paths.outputs['SetPathVars_coreclr.containsChange'], true),
61-
eq(stageDependencies.EvaluatePaths.evaluate_paths.outputs['SetPathVars_non_mono_and_wasm.containsChange'], true),
62-
eq(variables['isRollingBuild'], true))
38+
- name: Codeql.Enabled # we run CodeQL on internal builds only
39+
value: false
6340

64-
#
65-
# Build with RuntimeFlavor only. This exercise code paths where only RuntimeFlavor is
66-
# specified. Catches cases where we depend on Configuration also being specified
67-
#
68-
- template: /eng/pipelines/common/platform-matrix.yml
69-
parameters:
70-
jobTemplate: /eng/pipelines/common/global-build-job.yml
71-
buildConfig: debug
72-
platforms:
73-
- linux_x64_dev_innerloop
74-
jobParameters:
75-
testGroup: innerloop
76-
nameSuffix: RuntimeFlavor_Mono
77-
buildArgs: /p:RuntimeFlavor=Mono
78-
timeoutInMinutes: 120
79-
condition:
80-
or(
81-
eq(stageDependencies.EvaluatePaths.evaluate_paths.outputs['SetPathVars_non_wasm.containsChange'], true),
82-
eq(variables['isRollingBuild'], true))
41+
resources:
42+
repositories:
43+
- repository: vmr
44+
type: github
45+
name: dotnet/dotnet
46+
endpoint: dotnet
8347

84-
#
85-
# Build Libraries (all TFMs) and create packages on a non Windows operating system.
86-
#
87-
- template: /eng/pipelines/common/platform-matrix.yml
88-
parameters:
89-
jobTemplate: /eng/pipelines/common/global-build-job.yml
90-
buildConfig: debug
91-
platforms:
92-
- linux_x64_dev_innerloop
93-
jobParameters:
94-
nameSuffix: Libraries_WithPackages
95-
buildArgs: -subset libs -pack
96-
timeoutInMinutes: 120
97-
condition:
98-
or(
99-
eq(stageDependencies.EvaluatePaths.evaluate_paths.outputs['SetPathVars_non_mono_and_wasm.containsChange'], true),
100-
eq(variables['isRollingBuild'], true))
48+
stages:
49+
- template: /eng/pipelines/templates/stages/vmr-build.yml@vmr
50+
parameters:
51+
isBuiltFromVmr: false
52+
scope: lite
53+
verifications: [ "source-build-stage1", "source-build-stage2" ]
10154

102-
#
103-
# Build native assets on Alpine. This exercises more modern musl libc changes that have a tendendy to break source-build.
104-
# We don't add this as a source-build job as the repo source-build infrastructure isn't set up to run on alpine effectively.
105-
#
106-
- template: /eng/pipelines/common/platform-matrix.yml
107-
parameters:
108-
jobTemplate: /eng/pipelines/common/global-build-job.yml
109-
buildConfig: debug
110-
platforms:
111-
- linux_musl_x64_dev_innerloop
112-
jobParameters:
113-
nameSuffix: Musl_Validation
114-
buildArgs: -subset clr.native+libs.native+host.native -c $(_BuildConfig)
115-
timeoutInMinutes: 120
116-
condition:
117-
or(
118-
eq(stageDependencies.EvaluatePaths.evaluate_paths.outputs['SetPathVars_non_mono_and_wasm.containsChange'], true),
119-
eq(variables['isRollingBuild'], true))

src/libraries/System.Private.CoreLib/src/System/IO/SharedMemoryManager.Unix.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -791,7 +791,7 @@ public AutoReleaseFileLock AcquireCreationDeletionLockForId(SharedMemoryId id)
791791
}
792792
}
793793

794-
bool acquired = SharedMemoryHelpers.TryAcquireFileLock(fd, nonBlocking: false, exclusive: true);
794+
bool acquired = SharedMemoryHelpers.TryAcquireFileLock(fd, nonBlocking: true, exclusive: true);
795795
Debug.Assert(acquired);
796796
return new AutoReleaseFileLock(fd);
797797

0 commit comments

Comments
 (0)