The GitHub Actions job "Tests" on airflow.git has succeeded.
Run started by GitHub user potiuk (triggered by potiuk).

Head commit for run:
8d291f84be0a5bbf9b9fa7512564cdd91e9be6ce / Jarek Potiuk <[email protected]>
Fix ARM image building after Cython 3.0.0 release

Workaround an issue with installing pymssql on ARM architecture
triggered by Cython 3.0.0 release as of 18 July 2023. The problem is
that pip uses latest Cython to compile pymssql and since we are using
setuptools, there is no easy way to fix version of Cython used to
compile packages.

This triggers a problem with newer `pip` versions that have build
isolation enabled by default because There is no (easy) way to pin build
dependencies for dependent packages. If a package does not have  limit
on build dependencies, it will use the latest version of them to build
that particular package.

The workaround to the problem suggest in the last thread by Pradyun
Gedam - pip maintainer - is to use PIP_CONSTRAINT environment variable
and constraint the version of Cython used while installing
the package. Which is precisely what we are doing here.

Note that it does not work if we pass ``--constraint`` option to pip
because it will not be passed to the package being build in isolation.
The fact that the PIP_CONSTRAINT env variable works in the isolation is
a bit of side-effect on how env variables work and that they are passed
to subprocesses as pip launches a subprocess `pip` to build the package.

This is a temporary solution until the issue is resolved in pymssql or
Cython.

Issues/discussions that track it:

* https://github.com/cython/cython/issues/5541
* https://github.com/pymssql/pymssql/pull/827
* https://discuss.python.org/t/no-way-to-pin-build-dependencies/29833

Since we have to change Dockerfile around installing `pip`, also
version of `pip` has been upgraded to latest - 23.2

Report URL: https://github.com/apache/airflow/actions/runs/5624419979

With regards,
GitHub Actions via GitBox


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to