Skip to content

{Packaging} Bump python version to 3.12 in homebrew release script. #32793

Merged
DanielMicrosoft merged 3 commits intoAzure:devfrom
DanielMicrosoft:xxxxx-websocket-ssl
Feb 16, 2026
Merged

{Packaging} Bump python version to 3.12 in homebrew release script. #32793
DanielMicrosoft merged 3 commits intoAzure:devfrom
DanielMicrosoft:xxxxx-websocket-ssl

Conversation

@DanielMicrosoft
Copy link
Copy Markdown
Contributor

@DanielMicrosoft DanielMicrosoft commented Feb 13, 2026

Related command

Description

SSL issue:

2026-02-13T05:53:09.1928913Z Traceback (most recent call last):
2026-02-13T05:53:09.1930452Z   File "/usr/lib/python3.12/urllib/request.py", line 1344, in do_open
2026-02-13T05:53:09.1931083Z Generate formula for Azure CLI homebrew release.
2026-02-13T05:53:09.1936567Z     h.request(req.get_method(), req.selector, req.data, headers,
2026-02-13T05:53:09.1938136Z   File "/usr/lib/python3.12/http/client.py", line 1358, in request
2026-02-13T05:53:09.1938778Z     self._send_request(method, url, body, headers, encode_chunked)
2026-02-13T05:53:09.1939577Z   File "/usr/lib/python3.12/http/client.py", line 1404, in _send_request
2026-02-13T05:53:09.1944095Z     self.endheaders(body, encode_chunked=encode_chunked)
2026-02-13T05:53:09.1945619Z   File "/usr/lib/python3.12/http/client.py", line 1353, in endheaders
2026-02-13T05:53:09.1950292Z     self._send_output(message_body, encode_chunked=encode_chunked)
2026-02-13T05:53:09.1951819Z   File "/usr/lib/python3.12/http/client.py", line 1113, in _send_output
2026-02-13T05:53:09.1956277Z     self.send(msg)
2026-02-13T05:53:09.1959142Z   File "/usr/lib/python3.12/http/client.py", line 1057, in send
2026-02-13T05:53:09.1963856Z     self.connect()
2026-02-13T05:53:09.1965245Z   File "/usr/lib/python3.12/http/client.py", line 1499, in connect
2026-02-13T05:53:09.1970698Z     self.sock = self._context.wrap_socket(self.sock,
2026-02-13T05:53:09.1975191Z                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
2026-02-13T05:53:09.1978091Z   File "/usr/lib/python3.12/ssl.py", line 455, in wrap_socket
2026-02-13T05:53:09.1981244Z     return self.sslsocket_class._create(
2026-02-13T05:53:09.1992799Z            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
2026-02-13T05:53:09.1993439Z   File "/usr/lib/python3.12/ssl.py", line 1041, in _create
2026-02-13T05:53:09.1994179Z     self.do_handshake()
2026-02-13T05:53:09.1995009Z   File "/usr/lib/python3.12/ssl.py", line 1319, in do_handshake
2026-02-13T05:53:09.1995601Z     self._sslobj.do_handshake()
2026-02-13T05:53:09.1996316Z ssl.SSLCertVerificationError: [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: unable to get local issuer certificate (_ssl.c:1010)
2026-02-13T05:53:09.1996633Z 
2026-02-13T05:53:09.1997083Z During handling of the above exception, another exception occurred:
2026-02-13T05:53:09.1997370Z 
2026-02-13T05:53:09.1997785Z Traceback (most recent call last):
2026-02-13T05:53:09.1998423Z   File "/mnt/scripts/formula_generate.py", line 204, in <module>
2026-02-13T05:53:09.1998937Z     main()
2026-02-13T05:53:09.1999952Z   File "/mnt/scripts/formula_generate.py", line 33, in main
2026-02-13T05:53:09.2000512Z     args.func(**vars(args))
2026-02-13T05:53:09.2001275Z   File "/mnt/scripts/formula_generate.py", line 39, in generate_formula
2026-02-13T05:53:09.2001908Z     content = update_formula()
2026-02-13T05:53:09.2002508Z               ^^^^^^^^^^^^^^^^
2026-02-13T05:53:09.2003210Z   File "/mnt/scripts/formula_generate.py", line 129, in update_formula
2026-02-13T05:53:09.2003786Z     nodes = collect_resources_dict()
2026-02-13T05:53:09.2004422Z             ^^^^^^^^^^^^^^^^^^^^^^^^
2026-02-13T05:53:09.2005212Z   File "/mnt/scripts/formula_generate.py", line 87, in collect_resources_dict
2026-02-13T05:53:09.2005745Z     nodes = make_graph('azure-cli')
2026-02-13T05:53:09.2006249Z             ^^^^^^^^^^^^^^^^^^^^^^^
2026-02-13T05:53:09.2007284Z   File "/usr/lib/python3.12/site-packages/poet/poet.py", line 147, in make_graph
2026-02-13T05:53:09.3770590Z     package_data = research_package(package, dependencies[package]['version'])
2026-02-13T05:53:09.3772563Z                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
2026-02-13T05:53:09.3775006Z   File "/usr/lib/python3.12/site-packages/poet/poet.py", line 80, in research_package
2026-02-13T05:53:09.3775797Z     with closing(urlopen("https://pypi.io/pypi/{}/json".format(name))) as f:
2026-02-13T05:53:09.3777281Z                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
2026-02-13T05:53:09.3777685Z   File "/usr/lib/python3.12/urllib/request.py", line 215, in urlopen
2026-02-13T05:53:09.3778154Z     return opener.open(url, data, timeout)
2026-02-13T05:53:09.3779212Z            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
2026-02-13T05:53:09.3779639Z   File "/usr/lib/python3.12/urllib/request.py", line 515, in open
2026-02-13T05:53:09.3780110Z     response = self._open(req, data)
2026-02-13T05:53:09.3780504Z                ^^^^^^^^^^^^^^^^^^^^^
2026-02-13T05:53:09.3780929Z   File "/usr/lib/python3.12/urllib/request.py", line 532, in _open
2026-02-13T05:53:09.3781432Z     result = self._call_chain(self.handle_open, protocol, protocol +
2026-02-13T05:53:09.3781880Z              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
2026-02-13T05:53:09.3782311Z   File "/usr/lib/python3.12/urllib/request.py", line 492, in _call_chain
2026-02-13T05:53:09.3782757Z     result = func(*args)
2026-02-13T05:53:09.3783281Z              ^^^^^^^^^^^
2026-02-13T05:53:09.3783683Z   File "/usr/lib/python3.12/urllib/request.py", line 1392, in https_open
2026-02-13T05:53:09.3784198Z     return self.do_open(http.client.HTTPSConnection, req,
2026-02-13T05:53:09.3786007Z            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
2026-02-13T05:53:09.3787016Z   File "/usr/lib/python3.12/urllib/request.py", line 1347, in do_open
2026-02-13T05:53:09.3787808Z     raise URLError(err)
2026-02-13T05:53:09.3788476Z urllib.error.URLError: <urlopen error [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: unable to get local issuer certificate (_ssl.c:1010)>
2026-02-13T05:53:17.9348068Z 
2026-02-13T05:53:17.9400030Z ##[error]Bash exited with code '1'.
2026-02-13T05:53:17.9451068Z ##[section]Finishing: Build homebrew formula

Testing Guide

History Notes

[Component Name 1] BREAKING CHANGE: az command a: Make some customer-facing breaking change
[Component Name 2] az command b: Add some customer-facing feature


This checklist is used to make sure that common guidelines for a pull request are followed.

Copilot AI review requested due to automatic review settings February 13, 2026 06:31
@azure-client-tools-bot-prd
Copy link
Copy Markdown

azure-client-tools-bot-prd bot commented Feb 13, 2026

️✔️AzureCLI-FullTest
️✔️acr
️✔️latest
️✔️3.12
️✔️3.13
️✔️acs
️✔️latest
️✔️3.12
️✔️3.13
️✔️advisor
️✔️latest
️✔️3.12
️✔️3.13
️✔️ams
️✔️latest
️✔️3.12
️✔️3.13
️✔️apim
️✔️latest
️✔️3.12
️✔️3.13
️✔️appconfig
️✔️latest
️✔️3.12
️✔️3.13
️✔️appservice
️✔️latest
️✔️3.12
️✔️3.13
️✔️aro
️✔️latest
️✔️3.12
️✔️3.13
️✔️backup
️✔️latest
️✔️3.12
️✔️3.13
️✔️batch
️✔️latest
️✔️3.12
️✔️3.13
️✔️batchai
️✔️latest
️✔️3.12
️✔️3.13
️✔️billing
️✔️latest
️✔️3.12
️✔️3.13
️✔️botservice
️✔️latest
️✔️3.12
️✔️3.13
️✔️cdn
️✔️latest
️✔️3.12
️✔️3.13
️✔️cloud
️✔️latest
️✔️3.12
️✔️3.13
️✔️cognitiveservices
️✔️latest
️✔️3.12
️✔️3.13
️✔️compute_recommender
️✔️latest
️✔️3.12
️✔️3.13
️✔️computefleet
️✔️latest
️✔️3.12
️✔️3.13
️✔️config
️✔️latest
️✔️3.12
️✔️3.13
️✔️configure
️✔️latest
️✔️3.12
️✔️3.13
️✔️consumption
️✔️latest
️✔️3.12
️✔️3.13
️✔️container
️✔️latest
️✔️3.12
️✔️3.13
️✔️containerapp
️✔️latest
️✔️3.12
️✔️3.13
️✔️core
️✔️latest
️✔️3.12
️✔️3.13
️✔️cosmosdb
️✔️latest
️✔️3.12
️✔️3.13
️✔️databoxedge
️✔️latest
️✔️3.12
️✔️3.13
️✔️dls
️✔️latest
️✔️3.12
️✔️3.13
️✔️dms
️✔️latest
️✔️3.12
️✔️3.13
️✔️eventgrid
️✔️latest
️✔️3.12
️✔️3.13
️✔️eventhubs
️✔️latest
️✔️3.12
️✔️3.13
️✔️feedback
️✔️latest
️✔️3.12
️✔️3.13
️✔️find
️✔️latest
️✔️3.12
️✔️3.13
️✔️hdinsight
️✔️latest
️✔️3.12
️✔️3.13
️✔️identity
️✔️latest
️✔️3.12
️✔️3.13
️✔️iot
️✔️latest
️✔️3.12
️✔️3.13
️✔️keyvault
️✔️latest
️✔️3.12
️✔️3.13
️✔️lab
️✔️latest
️✔️3.12
️✔️3.13
️✔️managedservices
️✔️latest
️✔️3.12
️✔️3.13
️✔️maps
️✔️latest
️✔️3.12
️✔️3.13
️✔️marketplaceordering
️✔️latest
️✔️3.12
️✔️3.13
️✔️monitor
️✔️latest
️✔️3.12
️✔️3.13
️✔️mysql
️✔️latest
️✔️3.12
️✔️3.13
️✔️netappfiles
️✔️latest
️✔️3.12
️✔️3.13
️✔️network
️✔️latest
️✔️3.12
️✔️3.13
️✔️policyinsights
️✔️latest
️✔️3.12
️✔️3.13
️✔️postgresql
️✔️latest
️✔️3.12
️✔️3.13
️✔️privatedns
️✔️latest
️✔️3.12
️✔️3.13
️✔️profile
️✔️latest
️✔️3.12
️✔️3.13
️✔️rdbms
️✔️latest
️✔️3.12
️✔️3.13
️✔️redis
️✔️latest
️✔️3.12
️✔️3.13
️✔️relay
️✔️latest
️✔️3.12
️✔️3.13
️✔️resource
️✔️latest
️✔️3.12
️✔️3.13
️✔️role
️✔️latest
️✔️3.12
️✔️3.13
️✔️search
️✔️latest
️✔️3.12
️✔️3.13
️✔️security
️✔️latest
️✔️3.12
️✔️3.13
️✔️servicebus
️✔️latest
️✔️3.12
️✔️3.13
️✔️serviceconnector
️✔️latest
️✔️3.12
️✔️3.13
️✔️servicefabric
️✔️latest
️✔️3.12
️✔️3.13
️✔️signalr
️✔️latest
️✔️3.12
️✔️3.13
️✔️sql
️✔️latest
️✔️3.12
️✔️3.13
️✔️sqlvm
️✔️latest
️✔️3.12
️✔️3.13
️✔️storage
️✔️latest
️✔️3.12
️✔️3.13
️✔️synapse
️✔️latest
️✔️3.12
️✔️3.13
️✔️telemetry
️✔️latest
️✔️3.12
️✔️3.13
️✔️util
️✔️latest
️✔️3.12
️✔️3.13
️✔️vm
️✔️latest
️✔️3.12
️✔️3.13

@azure-client-tools-bot-prd
Copy link
Copy Markdown

azure-client-tools-bot-prd bot commented Feb 13, 2026

️✔️AzureCLI-BreakingChangeTest
️✔️Non Breaking Changes

@yonzhan
Copy link
Copy Markdown
Collaborator

yonzhan commented Feb 13, 2026

Thank you for your contribution! We will review the pull request and get back to you soon.

@github-actions
Copy link
Copy Markdown

The git hooks are available for azure-cli and azure-cli-extensions repos. They could help you run required checks before creating the PR.

Please sync the latest code with latest dev branch (for azure-cli) or main branch (for azure-cli-extensions).
After that please run the following commands to enable git hooks:

pip install azdev --upgrade
azdev setup -c <your azure-cli repo path> -r <your azure-cli-extensions repo path>

Copy link
Copy Markdown
Contributor

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 updates the Homebrew release pipeline container environment to use Python 3.12 and aligns package installation in the container script with the expected Debian-based Python image.

Changes:

  • Update the Homebrew formula generation container image from python:3.6 to python:3.12.
  • Replace tdnf install with apt-get update && apt-get install for installing ca-certificates inside the container.

Reviewed changes

Copilot reviewed 2 out of 2 changed files in this pull request and generated 3 comments.

File Description
scripts/release/homebrew/pipeline.sh Uses a Python 3.12 Docker image for formula generation.
scripts/release/homebrew/docker/run.sh Switches dependency install step to apt-get for Debian-based images.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread scripts/release/homebrew/pipeline.sh Outdated
Comment thread scripts/release/homebrew/pipeline.sh
Comment thread scripts/release/homebrew/docker/run.sh Outdated
@naga-nandyala
Copy link
Copy Markdown
Contributor

Why can't we go to py 3.13 (both docker image and python)

Copy link
Copy Markdown
Member

@necusjz necusjz left a comment

Choose a reason for hiding this comment

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

LGTM.

Comment thread scripts/release/homebrew/pipeline.sh Outdated
@DanielMicrosoft DanielMicrosoft merged commit 9fd855c into Azure:dev Feb 16, 2026
48 checks passed
@DanielMicrosoft DanielMicrosoft deleted the xxxxx-websocket-ssl branch April 1, 2026 23:20
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Auto-Assign Auto assign by bot Packaging

Projects

None yet

Development

Successfully merging this pull request may close these issues.

7 participants