Skip to content

[Performance] Add static linking build for CoreCLR Android #116093

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

Merged

Conversation

kotlarmilos
Copy link
Member

Description

This PR adds a static linking build configuration for the CoreCLR JIT on Android, to track its on-disk size.

@kotlarmilos kotlarmilos added this to the 10.0.0 milestone May 29, 2025
@kotlarmilos kotlarmilos requested a review from matouskozak May 29, 2025 12:23
@kotlarmilos kotlarmilos self-assigned this May 29, 2025
@Copilot Copilot AI review requested due to automatic review settings May 29, 2025 12:23
@kotlarmilos kotlarmilos added tenet-performance Performance related issue os-android labels May 29, 2025
@github-actions github-actions bot added the needs-area-label An area label is needed to ensure this gets routed to the appropriate area owners label May 29, 2025
Copy link
Contributor

Tagging subscribers to 'arch-android': @vitek-karas, @simonrozsival, @steveisok, @akoeplinger
See info in area-owners.md if you want to be subscribed.

Copy link
Contributor

@Copilot Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull Request Overview

This PR introduces a new static linking build configuration for the CoreCLR JIT on Android to help track on-disk size. Key changes include:

  • Adding a new build step to run a static linking build for the Android sample app.
  • Publishing and archiving the resulting build logs and artifacts.
  • Cleaning up the bindir after processing the artifacts.
Comments suppressed due to low confidence (1)

eng/pipelines/performance/templates/build-perf-sample-apps.yml:100

  • Ensure that this cleanup command targets only directories dedicated to build outputs to avoid accidental deletion if the Build.SourcesDirectory variable is misconfigured.
      - script: rm -r -f $(Build.SourcesDirectory)/artifacts/bin/AndroidSampleApp

@@ -78,6 +78,29 @@ steps:
workingDirectory: $(Build.SourcesDirectory)/artifacts/bin
displayName: clean bindir

# CoreCLR JIT static linking build
- script: make run TARGET_ARCH=arm64 DEPLOY_AND_RUN=false RUNTIME_FLAVOR=CoreCLR STATIC_LINKING=true
Copy link
Preview

Copilot AI May 29, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

[nitpick] Consider externalizing build configuration options (such as TARGET_ARCH, RUNTIME_FLAVOR, and STATIC_LINKING) into variables or a template to improve reusability and clarity for similar build steps.

Suggested change
- script: make run TARGET_ARCH=arm64 DEPLOY_AND_RUN=false RUNTIME_FLAVOR=CoreCLR STATIC_LINKING=true
- script: make run TARGET_ARCH=${{ parameters.targetArch }} DEPLOY_AND_RUN=${{ parameters.deployAndRun }} RUNTIME_FLAVOR=${{ parameters.runtimeFlavor }} STATIC_LINKING=${{ parameters.staticLinking }}

Copilot uses AI. Check for mistakes.

Copy link
Member

@LoopedBard3 LoopedBard3 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This looks good to me.

@LoopedBard3 LoopedBard3 requested a review from caaavik-msft May 29, 2025 18:13
@kotlarmilos kotlarmilos merged commit 321868b into dotnet:main May 30, 2025
26 checks passed
@teo-tsirpanis teo-tsirpanis added area-Infrastructure-coreclr and removed needs-area-label An area label is needed to ensure this gets routed to the appropriate area owners labels May 31, 2025
@github-actions github-actions bot locked and limited conversation to collaborators Jul 1, 2025
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants