Skip to content

#865: az mac install#1945

Open
shodiBoy1 wants to merge 3 commits into
devonfw:mainfrom
shodiBoy1:feature/865-az-mac-install
Open

#865: az mac install#1945
shodiBoy1 wants to merge 3 commits into
devonfw:mainfrom
shodiBoy1:feature/865-az-mac-install

Conversation

@shodiBoy1
Copy link
Copy Markdown
Contributor

@shodiBoy1 shodiBoy1 commented May 13, 2026

This PR fixes #865

Implemented changes:

  • AzureUrlUpdater now registers macOS arm64 and x86_64 tarballs published by Microsoft on GitHub releases starting at azure-cli 2.85.0.
  • Azure commandlet sets the AZ_PYTHON environment variable on macOS, pointing to IDEasy's installed Python. Required by Microsoft's tarball launcher script.
  • CHANGELOG.adoc entry under 2026.05.001.

Checklist for this PR

  • When running mvn clean test locally all tests pass and build is successful
  • PR title is of the form #«issue-id»: «brief summary» (e.g. #921: fixed setup.bat). If no issue ID exists, title only.
  • PR top-level comment summarizes what has been done and contains link to addressed issue(s)
  • PR and issue(s) have suitable labels
  • Issue is set to In Progress and assigned to you or there is no issue (might happen for very small PRs)
  • You followed all coding conventions
  • You have added the issue implemented by your PR in CHANGELOG.adoc unless issue is labeled
    with internal

@github-project-automation github-project-automation Bot moved this to 🆕 New in IDEasy board May 13, 2026
@shodiBoy1 shodiBoy1 self-assigned this May 13, 2026
@shodiBoy1 shodiBoy1 added macOS specific for Apple MacOS az Microsoft Azure CLI labels May 13, 2026
@coveralls
Copy link
Copy Markdown
Collaborator

coveralls commented May 13, 2026

Coverage Report for CI Build 26284349856

Warning

No base build found for commit 22c5b14 on main.
Coverage changes can't be calculated without a base build.
If a base build is processing, this comment will update automatically when it completes.

Coverage: 71.093%

Details

  • Patch coverage: No coverable lines changed in this PR.

Uncovered Changes

No uncovered changes found.

Coverage Regressions

Requires a base build to compare against. How to fix this →


Coverage Stats

Coverage Status
Relevant Lines: 15576
Covered Lines: 11550
Line Coverage: 74.15%
Relevant Branches: 6958
Covered Branches: 4470
Branch Coverage: 64.24%
Branches in Coverage %: Yes
Coverage Strength: 3.14 hits per line

💛 - Coveralls

@shodiBoy1
Copy link
Copy Markdown
Contributor Author

@hohwille

The fix needs changes in 3 repos:

Microsoft's Mac tarball needs Python 3.13 exactly it ships pre-compiled binaries built for that version, they won't load with 3.14. With the current default 3.14* and Python.java#isIgnoreSoftwareRepo=true (one Python per project), installing az on Mac fails with:

  • Cannot satisfy dependency to python in version [3.13,3.14) for az@2.86.0[] since it is conflicting with configured version 3.14 and this tool does not support the software repository.

Before proposing the default change I checked:
nothing in IDEasy hardcodes 3.14, only pip has a Python dep and its range [3.8,) is satisfied by 3.13, tests pass, existing projects unaffected (they keep their own settings copy).

So 3.13 as default looks like the simplest fix that makes ide az work on Mac out of the box. But since it touches every new project - what do you think?

Verified locally on Mac arm64: ide az --version downloads tarball, installs Python 3.13, prints azure-cli 2.86.0.

@shodiBoy1 shodiBoy1 marked this pull request as ready for review May 13, 2026 21:20
@shodiBoy1 shodiBoy1 moved this from 🆕 New to Team Review in IDEasy board May 13, 2026
@hohwille hohwille changed the title Feature/865 az mac install #865: az mac install May 17, 2026
OperatingSystem.WINDOWS);
VersionIdentifier vid = urlVersion.getVersionIdentifier();
if (vid.compareVersion(MIN_AZURE_MAC_VID).isGreater()) {
String macBaseUrl = GITHUB_BASE_URL + "/" + getGithubRepositoryPath()
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

interesting: So here we actually have two different downloadBaseUrls.
That is new and we wont mock this then.
In JUnit we change getDownloadBaseUrl() to point to mockito.
Isn't AzureUrlUpdaterTest now dependent on the Internet with your change included?
So does that test then fail if you unplug the network and get offline?

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

If I see this correctly, they changed their strategy and starting with 2.86.0 they publish releases via GitHub:
https://github.com/Azure/azure-cli/releases/tag/azure-cli-2.86.0
If that is correct, we might want to create a new UrlUpdater for azure based on GitHub releases.
We should discuss if we first merge this and let it run or if we add the outcome manually via PR to ide-urls and then simply replace the existing AzureUrlUpdater for the new implementation strategy...

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

az Microsoft Azure CLI macOS specific for Apple MacOS

Projects

Status: Team Review

Development

Successfully merging this pull request may close these issues.

Az is not working on Mac x64

3 participants