Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add support for building S.P.CoreLib in a separate job #34166

Merged
merged 31 commits into from
Apr 2, 2020
Merged
Changes from 1 commit
Commits
Show all changes
31 commits
Select commit Hold shift + click to select a range
74cb414
Add support for building S.P.CoreLib in a separate job
mangod9 Mar 26, 2020
def5d70
PR Comments.
mangod9 Mar 27, 2020
fc99faa
fix deletion typo
mangod9 Mar 27, 2020
de8f012
Adding step to upload output directory.
mangod9 Mar 27, 2020
34a19e8
update libraries job to depend on corelib instead of product
mangod9 Mar 27, 2020
eb1ee34
reverting libraries dependency change
mangod9 Mar 27, 2020
478b77f
Add OSX and musl_arm64 corelib builds + use full product for mono
mangod9 Mar 28, 2020
a6a2a3b
Another attempt to fix mono iOS case
mangod9 Mar 28, 2020
fbfb35e
propagating runtimeFlavor to libraries base-job.yml
mangod9 Mar 28, 2020
46efc4d
updating DependsOn for libraries job to use corelib
mangod9 Mar 28, 2020
4fb3931
Merge remote-tracking branch 'upstream/master'
mangod9 Mar 28, 2020
57b5d81
Make LIbraries Test Build also depend on Product
mangod9 Mar 28, 2020
6436fb6
download product dependency when testScope is not null
mangod9 Mar 28, 2020
0683d82
reverting a change which is not required
mangod9 Mar 28, 2020
f21a514
Adding runtime.depproj to libraries restore, and pretest.proj to test…
mangod9 Mar 30, 2020
19e6701
Fixing run_test_job to download product artifact
mangod9 Mar 30, 2020
6b73ed5
run pretest.proj on test runs as well.
mangod9 Mar 30, 2020
bb09589
Add libraries -restore to test run
mangod9 Mar 30, 2020
2ec1f5a
Updating pretest to use TargetArchitecture
mangod9 Mar 30, 2020
77dfbcf
Merge remote-tracking branch 'upstream/master'
mangod9 Mar 30, 2020
e6d4882
Moving runtime restore from \restore\dirs.proj
mangod9 Mar 31, 2020
afe6717
fix -allConfigurations build
mangod9 Mar 31, 2020
a082f9c
Adding corelib job to coreclr=and=Libraries.
mangod9 Mar 31, 2020
fec325d
Add corelib to other pipelines.
mangod9 Mar 31, 2020
dfef8c3
libraries test should depend on full product
mangod9 Mar 31, 2020
2e4d00a
remove upload unsigned artifacts step from official build
mangod9 Mar 31, 2020
42dfd0d
Merge remote-tracking branch 'upstream/master'
mangod9 Apr 1, 2020
56bf4c0
PR Comments
mangod9 Apr 1, 2020
18e5190
typo fix :(
mangod9 Apr 1, 2020
e76db3a
Fix run-test-job pretest build
mangod9 Apr 2, 2020
e3c15b0
removed some unused corelib configs.
mangod9 Apr 2, 2020
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
39 changes: 4 additions & 35 deletions eng/pipelines/coreclr/templates/build-corelib-job.yml
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
parameters:
archType: ''
buildConfig: ''
compilerName: 'clang'
condition: true
container: ''
crossrootfsDir: ''
mangod9 marked this conversation as resolved.
Show resolved Hide resolved
Expand Down Expand Up @@ -32,14 +31,9 @@ jobs:
pool: ${{ parameters.pool }}
condition: ${{ parameters.condition }}

# Compute job name from template parameters
${{ if eq(parameters.compilerName, 'gcc') }}:
name: ${{ format('coreclr_{0}_corelib_build_{1}{1}_{3}_{4}', parameters.compilerName, parameters.osGroup, parameters.osSubgroup, parameters.archType, parameters.buildConfig) }}
displayName: ${{ format('CoreCLR GCC Product Build {0}{1} {2} {3}', parameters.osGroup, parameters.osSubgroup, parameters.archType, parameters.buildConfig) }}
${{ if eq(parameters.compilerName, 'clang') }}:
name: ${{ format('coreclr_corelib_build_{0}{1}_{2}_{3}', parameters.osGroup, parameters.osSubgroup, parameters.archType, parameters.buildConfig) }}
displayName: ${{ format('CoreCLR Product Build {0}{1} {2} {3}', parameters.osGroup, parameters.osSubgroup, parameters.archType, parameters.buildConfig) }}

name: ${{ format('coreclr_corelib_build_{0}{1}_{2}_{3}', parameters.osGroup, parameters.osSubgroup, parameters.archType, parameters.buildConfig) }}
displayName: ${{ format('CoreLib Product Build {0}{1} {2} {3}', parameters.osGroup, parameters.osSubgroup, parameters.archType, parameters.buildConfig) }}
mangod9 marked this conversation as resolved.
Show resolved Hide resolved
mangod9 marked this conversation as resolved.
Show resolved Hide resolved

# Run all steps in the container.
# Note that the containers are defined in platform-matrix.yml
container: ${{ parameters.container }}
Expand All @@ -63,24 +57,7 @@ jobs:
- name: compilerArg
value: ''
- name: publishLogsArtifactPrefix
value: 'BuildLogs_CoreCLR'
- ${{ if eq(parameters.compilerName, 'gcc') }}:
- name: compilerArg
value: '-gcc'
- name: publishLogsArtifactPrefix
value: 'BuildLogs_CoreCLR_GCC'
# workaround for gcc directory not in PATH
- name: CLR_CC
value: /opt/rh/devtoolset-7/root/usr/bin/gcc
- name: CLR_CXX
value: /opt/rh/devtoolset-7/root/usr/bin/g++
- ${{ if and(ne(parameters.osGroup, 'Windows_NT'), eq(parameters.compilerName, 'clang')) }}:
- name: compilerArg
value: '-clang9'
# Our FreeBSD doesn't yet detect available clang versions, so pass it explicitly.
- ${{ if eq(parameters.osGroup, 'FreeBSD') }}:
- name: compilerArg
value: '-clang6.0'
value: 'BuildLogs_CoreLib'
# Building for x64 MUSL happens on Alpine Linux and we need to use the stable version available there
- ${{ if and(eq(parameters.osGroup, 'Linux'), eq(parameters.osSubgroup, '_musl'), eq(parameters.archType, 'x64')) }}:
mangod9 marked this conversation as resolved.
Show resolved Hide resolved
- name: compilerArg
Expand Down Expand Up @@ -139,14 +116,6 @@ jobs:
- script: $(Build.SourcesDirectory)$(dir)build$(scriptExt) -subsetCategory coreclr -subset corelib $(crossArg) -arch $(archType) -c $(buildConfig) $(officialBuildIdArg) -ci
mangod9 marked this conversation as resolved.
Show resolved Hide resolved
displayName: Build System.Private.CoreLib only
mangod9 marked this conversation as resolved.
Show resolved Hide resolved

# Get key vault secrets for publishing
- ${{ if and(ne(variables['System.TeamProject'], 'public'), ne(variables['Build.Reason'], 'PullRequest')) }}:
- task: AzureKeyVault@1
inputs:
azureSubscription: 'DotNet-Engineering-Services_KeyVault'
KeyVaultName: EngKeyVault
SecretsFilter: 'dotnetfeed-storage-access-key-1,microsoft-symbol-server-pat,symweb-symbol-server-pat'

# Save packages using the prepare-signed-artifacts format.
mangod9 marked this conversation as resolved.
Show resolved Hide resolved
- ${{ if eq(parameters.isOfficialBuild, true) }}:
- template: /eng/pipelines/common/upload-unsigned-artifacts-step.yml
Expand Down