potiuk opened a new pull request, #67783: URL: https://github.com/apache/airflow/pull/67783
Follow-up to #67757, which excluded `ibm.mq` from the **ARM test matrix** via the new `excluded-platforms` field. This extends the same exclusion to **install time**, so the provider is never pulled in on ARM by an end user or by `uv sync --all-extras`. ### Why The `ibmmq` Python bindings link against IBM's native C client at build time. IBM ships that client only for **Linux x86_64 / Windows x64 / Java** — there is **no ARM build at any `ibmmq` version** (it's an sdist-only package), so the build fails to link on `aarch64`. Bumping the lower bound cannot help; exclusion is the only option. ### What Translate the `provider.yaml` `excluded-platforms` field into PEP 508 `platform_machine` install markers: - **Meta-package generator** (`update_airflow_pyproject_toml.py`): `get_python_exclusion` → `get_exclusion_marker`, which now combines `excluded-python-versions` *and* `excluded-platforms` into one marker. The regenerated `apache-airflow` `ibm.mq` extra and the `all` bundle carry it. - **Provider** (`providers/ibm/mq/pyproject.toml`): the provider's own `ibmmq` runtime extra — the C binding that actually fails to build — carries the marker. - **Guard hook** (`check_excluded_provider_markers.py` + tests): extended to validate `platform_machine` markers alongside `python_version` markers; shared `EXCLUDED_PLATFORM_MACHINES` map added to `common_prek_utils.py`. The marker covers both Linux ARM (`aarch64`) and macOS Apple Silicon (`arm64`): `platform_machine != "aarch64" and platform_machine != "arm64"`. `uv.lock` is regenerated to propagate the markers. related: #67757 --- ##### Was generative AI tooling used to co-author this PR? - [X] Yes — Claude Code (Opus 4.8) Generated-by: Claude Code (Opus 4.8) following [the guidelines](https://github.com/apache/airflow/blob/main/contributing-docs/05_pull_requests.rst#gen-ai-assisted-contributions) -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected]
