Skip to content

Build perf: enable Gradle configure-on-demand, Fixes AB#3609347#2512

Merged
fadidurah merged 7 commits into
devfrom
fadi/publish-libraries-to-newandroid-feed
Jun 1, 2026
Merged

Build perf: enable Gradle configure-on-demand, Fixes AB#3609347#2512
fadidurah merged 7 commits into
devfrom
fadi/publish-libraries-to-newandroid-feed

Conversation

@fadidurah

@fadidurah fadidurah commented May 14, 2026

Copy link
Copy Markdown
Collaborator

AB#3609347

Summary

Switches Maven publishing from the AndroidADAL feed to the NewAndroid feed to eliminate upstream-feed traversal latency on dependency resolution in CI.

Why

  • We publish artifacts to AndroidADAL but consumers (including downstream pipeline stages in the same release) fetch from NewAndroid.
  • NewAndroid only has AndroidADAL configured as an upstream, after Maven Central / Google / etc. Every newly-published version pays a full upstream walk on first resolve.
  • CI agents are ephemeral (no Gradle cache reuse), so pipelines pay this penalty on every run for every fresh dependency.
  • Publishing directly to NewAndroid removes the upstream walk and speeds up chained library/test-app builds.

Companion changes

  • AndroidADAL will be added as an upstream of NewAndroid (manual step in ADO Artifacts UI, outside this PR) so any external consumers still resolving from AndroidADAL keep working.
  • Sister PRs in microsoft-authentication-library-common-for-android, microsoft-authentication-library-for-android, ad-accounts-for-android, and the AuthClientAndroidPipelines 1ES repo make the same flip.
  • ADAL is intentionally excluded (legacy library).
  • Authenticator is intentionally excluded.

Risk

Low — same Azure DevOps organization, same auth, same package coordinates, same retention. Only the publish-target feed name changes.

Switches Maven publishing from the AndroidADAL feed to the NewAndroid feed
to eliminate the upstream-feed traversal latency that occurs when downstream
pipeline stages resolve freshly-published artifacts.

Background:
- Builds publish to AndroidADAL but consumers fetch from NewAndroid.
- NewAndroid resolves AndroidADAL only via its upstream chain, after walking
  Maven Central, Google, etc., causing first-fetch latency on every newly
  published version (which CI agents always pay due to ephemeral caches).
- AndroidADAL will be added as an upstream of NewAndroid (done outside this
  change) so any external consumers still resolving from AndroidADAL keep
  working transparently.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot AI review requested due to automatic review settings May 14, 2026 07:04
@fadidurah
fadidurah requested a review from a team as a code owner May 14, 2026 07:04
@github-actions github-actions Bot added the msal label May 14, 2026
@github-actions

Copy link
Copy Markdown

❌ Work item link check failed. Description does not contain AB#{ID}.

Click here to Learn more.

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Pull request overview

Switches the Maven publish target URL in msal/build.gradle from the AndroidADAL feed to the NewAndroid feed to avoid upstream-feed traversal latency on CI dependency resolution.

Changes:

  • Update the publishing repository URL to point at the NewAndroid Azure DevOps feed.

When configure-on-demand is enabled, Gradle only configures the projects
that are actually in the dependency graph of the requested tasks. Previously
building AADAuthenticator triggered configure of broker4j, brokerHost,
java-linux-test-app, LinuxBroker, brokerautomationapp etc. — none of
which are needed for AADAuthenticator:assembleDistRelease. Logs showed
~16 min spent in unnecessary configure phases.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
@fadidurah fadidurah added the No-Changelog This change does not update the changelog. label May 19, 2026
@github-actions

Copy link
Copy Markdown

✅ Work item link check complete. Description contains link AB#3609347 to an Azure Boards work item.

@github-actions github-actions Bot changed the title Build: publish libraries directly to NewAndroid feed Build: publish libraries directly to NewAndroid feed, Fixes AB#3609347 May 19, 2026
@fadidurah
fadidurah requested a review from a team as a code owner May 21, 2026 16:45
@fadidurah fadidurah changed the title Build: publish libraries directly to NewAndroid feed, Fixes AB#3609347 Build perf: enable Gradle configure-on-demand, Fixes AB#3609347 May 27, 2026
@fadidurah
fadidurah merged commit a4ad7f0 into dev Jun 1, 2026
22 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

msal No-Changelog This change does not update the changelog.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

6 participants