-
Notifications
You must be signed in to change notification settings - Fork 5.2k
Enable superpmi-collect pipeline on macOS arm64 #63691
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
Changes from all commits
85c39cb
3ddf997
c42fd00
17581db
b09f6ba
67b4931
b4f3a73
24e131e
0737abc
d4f33ab
563f358
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -84,8 +84,8 @@ jobs: | |
| - template: /eng/pipelines/common/download-artifact-step.yml | ||
| parameters: | ||
| unpackFolder: '$(Build.SourcesDirectory)/artifacts/tests/libraries_zipped/$(osGroup).$(archType).$(buildConfigUpper)' | ||
| artifactFileName: 'libraries_test_assets_${{ parameters.osGroup }}_x64_Release$(archiveExtension)' | ||
| artifactName: ${{ format('libraries_test_assets_{0}_x64_Release', parameters.osGroup) }} | ||
| artifactFileName: 'libraries_test_assets_${{ parameters.osGroup }}_$(archType)_Release$(archiveExtension)' | ||
|
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. good catch. |
||
| artifactName: ${{ format('libraries_test_assets_{0}_$(archType)_Release', parameters.osGroup) }} | ||
| displayName: 'generic libraries test artifacts' | ||
|
|
||
| # Unzip individual test projects | ||
|
|
||
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -22,12 +22,12 @@ | |
| # 4. Lastly, it sets the pipeline variables. | ||
| # | ||
| # Below are the helix queues it sets depending on the OS/architecture: | ||
| # | Arch | windows | Linux | | ||
| # |-------|-------------------------|--------------------------------------------------------------------------------------------------------------------------------------| | ||
| # | x86 | Windows.10.Amd64.X86.Rt | | | ||
| # | x64 | Windows.10.Amd64.X86.Rt | Ubuntu.1804.Amd64 | | ||
| # | arm | - | (Ubuntu.1804.Arm32)[email protected]/dotnet-buildtools/prereqs:ubuntu-18.04-helix-arm32v7-bfcd90a-20200121150440 | | ||
| # | arm64 | Windows.10.Arm64 | (Ubuntu.1804.Arm64)[email protected]/dotnet-buildtools/prereqs:ubuntu-18.04-helix-arm64v8-20210531091519-97d8652 | | ||
| # | Arch | windows | Linux | macOS | | ||
| # |-------|-------------------------|--------------------------------------------------------------------------------------------------------------------------------------|----------------| | ||
| # | x86 | Windows.10.Amd64.X86.Rt | | - | | ||
| # | x64 | Windows.10.Amd64.X86.Rt | Ubuntu.1804.Amd64 | OSX.1014.Amd64 | | ||
| # | arm | - | (Ubuntu.1804.Arm32)[email protected]/dotnet-buildtools/prereqs:ubuntu-18.04-helix-arm32v7-bfcd90a-20200121150440 | - | | ||
| # | arm64 | Windows.10.Arm64 | (Ubuntu.1804.Arm64)[email protected]/dotnet-buildtools/prereqs:ubuntu-18.04-helix-arm64v8-20210531091519-97d8652 | OSX.1100.ARM64 | | ||
| # | ||
| ################################################################################ | ||
| ################################################################################ | ||
|
|
@@ -47,6 +47,7 @@ | |
| parser.add_argument("-source_directory", help="path to source directory") | ||
| parser.add_argument("-core_root_directory", help="path to core_root directory") | ||
| parser.add_argument("-arch", help="Architecture") | ||
| parser.add_argument("-platform", help="OS platform") | ||
| parser.add_argument("-mch_file_tag", help="Tag to be used to mch files") | ||
| parser.add_argument("-collection_name", help="Name of the SPMI collection to be done (e.g., libraries, tests)") | ||
| parser.add_argument("-collection_type", help="Type of the SPMI collection to be done (crossgen, crossgen2, pmi)") | ||
|
|
@@ -196,6 +197,11 @@ def setup_args(args): | |
| lambda unused: True, | ||
| "Unable to set arch") | ||
|
|
||
| coreclr_args.verify(args, | ||
| "platform", | ||
| lambda unused: True, | ||
| "Unable to set platform") | ||
|
|
||
| coreclr_args.verify(args, | ||
| "mch_file_tag", | ||
| lambda unused: True, | ||
|
|
@@ -383,28 +389,33 @@ def main(main_args): | |
| superpmi_src_directory = os.path.join(source_directory, 'src', 'coreclr', 'scripts') | ||
| superpmi_dst_directory = os.path.join(correlation_payload_directory, "superpmi") | ||
| arch = coreclr_args.arch | ||
| platform_name = coreclr_args.platform.lower() | ||
| helix_source_prefix = "official" | ||
| creator = "" | ||
| ci = True | ||
| if is_windows: | ||
| if platform_name == "windows": | ||
| helix_queue = "Windows.10.Arm64" if arch == "arm64" else "Windows.10.Amd64.X86.Rt" | ||
| else: | ||
| elif platform_name == "linux": | ||
| if arch == "arm": | ||
| helix_queue = "(Ubuntu.1804.Arm32)[email protected]/dotnet-buildtools/prereqs:ubuntu-18.04-helix-arm32v7-bfcd90a-20200121150440" | ||
| elif arch == "arm64": | ||
| helix_queue = "(Ubuntu.1804.Arm64)[email protected]/dotnet-buildtools/prereqs:ubuntu-18.04-helix-arm64v8-20210531091519-97d8652" | ||
| else: | ||
| helix_queue = "Ubuntu.1804.Amd64" | ||
| elif platform_name == "osx": | ||
|
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. can you also update the comments at the top of the file? |
||
| helix_queue = "OSX.1100.ARM64" if arch == "arm64" else "OSX.1014.Amd64" | ||
|
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. You do have helix queue for
Contributor
Author
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Yes, I don't think the macOS/x64 and Linux/x64 collections will be that different. I added |
||
|
|
||
| # create superpmi directory | ||
| print('Copying {} -> {}'.format(superpmi_src_directory, superpmi_dst_directory)) | ||
| copy_directory(superpmi_src_directory, superpmi_dst_directory, verbose_output=True, match_func=lambda path: any(path.endswith(extension) for extension in [".py"])) | ||
|
|
||
| if is_windows: | ||
| if platform_name == "windows": | ||
|
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. nit: This can continue to be
Contributor
Author
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Well, it could.
Contributor
Author
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Decided to leave this as is for the reason I described. |
||
| acceptable_copy = lambda path: any(path.endswith(extension) for extension in [".py", ".dll", ".exe", ".json"]) | ||
| else: | ||
| acceptable_extensions = [".py", ".dll", ".json"] | ||
| acceptable_extensions.append(".so" if platform_name == "linux" else ".dylib") | ||
| # Need to accept files without any extension, which is how executable file's names look. | ||
| acceptable_copy = lambda path: (os.path.basename(path).find(".") == -1) or any(path.endswith(extension) for extension in [".py", ".dll", ".so", ".json"]) | ||
| acceptable_copy = lambda path: (os.path.basename(path).find(".") == -1) or any(path.endswith(extension) for extension in acceptable_extensions) | ||
|
|
||
| print('Copying {} -> {}'.format(coreclr_args.core_root_directory, superpmi_dst_directory)) | ||
| copy_directory(coreclr_args.core_root_directory, superpmi_dst_directory, verbose_output=True, match_func=acceptable_copy) | ||
|
|
||
Uh oh!
There was an error while loading. Please reload this page.