It's about `build-system` requirements. We have "hatchling" there, but we should pin all dependencies there. Otherwise, reproducibility issues might occur because when a package is built, an isolated environment is created from scratch using build-system/requirements - that's why those deps should be pinned (also because if they are not pinned any future releases of any of those might break sdist installation for past-released packages).
We have this in airflow-core's pyproject.TOML. Dependabot automatically bumps them (when necessary), but we should also automatically update them in `breeze ci upgrade` - I will add it shortly. J. On Wed, Feb 25, 2026 at 9:14 PM Buğra Öztürk <[email protected]> wrote: > I have that version of `hatchling` indeed. I have checked, but I couldn't > find anywhere we defined the hatch version differently. I see we have > pinned versions to `hatchling==1.27.0`. > What I am wondering is in which state we updated our `hatcling` :) You both > have the latest, which was released 2 days ago (23 Feb), before I > created the release (20 Feb). > I have the previous version `1.28.0`. While the version pinned to `1.27.0` > in `pyproject.toml` files, we all have different versions. That part > confused me. I checked to fix the issue. I couldn't find it at first glance > > On Wed, Feb 25, 2026 at 8:52 PM Vincent Beck <[email protected]> wrote: > > > I have the same > > > > On 2026/02/25 19:44:32 Jarek Potiuk wrote: > > > -Generator: hatchling 1.28.0 > > > +Generator: hatchling 1.29.0 > > > > > > This is my diff - (note that on MacOS you need to install newer > > zipdetails > > > to get diffoscope handle zip files natively): > > > > > > ``` > > > cpan IO::Compress::Base > > > ``` > > > > > > This is because we haven't fixed the hatchling version in airflowctl's > > > pyproject file.toml (which we should maintain for reproducibility) - I > > will > > > fix it shortly, but in the meantime it's not a blocker for release. > > > > > > On Wed, Feb 25, 2026 at 8:17 PM Jarek Potiuk <[email protected]> wrote: > > > > > > > You can check it with `diffoscope` (`uv tool install diffoscope` and > > > > `diffoscope file_1 file_2` should show you differences (I am running > > the > > > > check myself shortly). > > > > > > > > On Wed, Feb 25, 2026 at 7:59 PM Vincent Beck <[email protected]> > > wrote: > > > > > > > >> I ran the reproducible package builds checks and got > > > >> "apache_airflow_ctl-0.1.2-py3-none-any.whl:Binary files > > > >> apache_airflow_ctl-0.1.2-py3-none-any.whl and > > > >> dist/apache_airflow_ctl-0.1.2-py3-none-any.whl differ". Since it is > > the > > > >> first time for me to run these tests for airflowctl, can someone > > double > > > >> check if this is a real issue or if I somehow did something wrong > when > > > >> running the tests. > > > >> > > > >> On 2026/02/21 20:34:55 Jens Scheffler wrote: > > > >> > +1 (binding) - Checked SVN, Checksums, Reproducible package build, > > > >> > Licenses, Signatures > > > >> > > > > >> > Did just manical release tests w/o functionality of airflowctl > > > >> > > > > >> > On 21.02.26 00:34, Buğra Öztürk wrote: > > > >> > > The release candidate for **Apache Airflow Ctl**: 0.1.2rc1 is > now > > > >> > > available for testing! > > > >> > > > > > >> > > This email is calling for a vote on the release, which will last > > at > > > >> least > > > >> > > until Wednesday, the 25th of February, 10 pm CET (added a bit > more > > > >> time to > > > >> > > the default 72 hours) and until 3 binding +1 votes have been > > received. > > > >> > > > > > >> > > Consider this my +1 (binding) vote. > > > >> > > > > > >> > > The apache-airflow-ctl 0.1.2rc1 package is available at: > > > >> > > > > > >> > > > > https://dist.apache.org/repos/dist/dev/airflow/airflow-ctl/0.1.2rc1/ > > > >> > > > > > >> > > The "apache-airflow-ctl" packages are: > > > >> > > > > > >> > > - *apache_airflow_ctl-0.1.2-source.tar.gz* is a source > release > > > >> that > > > >> > > comes with INSTALL instructions. > > > >> > > - *apache_airflow_ctl-0.1.2.tar.gz* is the binary Python > > "sdist" > > > >> release. > > > >> > > - *apache_airflow_ctl-0.1.2-py3-none-any.whl* is the binary > > > >> Python wheel > > > >> > > "binary" release. > > > >> > > > > > >> > > > > > >> > > Public keys are available at: > > > >> > > https://dist.apache.org/repos/dist/release/airflow/KEYS > > > >> > > > > > >> > > Please vote accordingly: > > > >> > > > > > >> > > [ ] +1 approve > > > >> > > [ ] +0 no opinion > > > >> > > [ ] -1 disapprove with the reason > > > >> > > > > > >> > > Only votes from PMC members are binding, but all members of the > > > >> community > > > >> > > are encouraged to test the release and vote with > "(non-binding)". > > > >> > > > > > >> > > The test procedure for PMC members is described in: > > > >> > > > > > >> > > > https://github.com/apache/airflow/blob/main/dev/README_RELEASE_AIRFLOWCTL.md#verify-the-release-candidate-by-pmc-members > > > >> > > > > > >> > > > > > >> > > The test procedure for contributors and members of the community > > who > > > >> would > > > >> > > like to test this RC is described in: > > > >> > > > > > >> > > > https://github.com/apache/airflow/blob/main/dev/README_RELEASE_AIRFLOWCTL.md#verify-the-release-candidate-by-contributors > > > >> > > > > > >> > > > > > >> > > Please note that the version number excludes the 'rcX' string, > so > > > >> it's now > > > >> > > simply 0.1.2 for the apache-airflow-ctl package. > > > >> > > > > > >> > > This will allow us to rename the artifact without modifying the > > > >> artifact > > > >> > > checksums when we actually release. > > > >> > > > > > >> > > *Docs* (for preview, RELEASE_NOTES will be avaiable in stable): > > > >> > > https://airflow.staged.apache.org/docs/apache-airflow-ct can be > > > >> released > > > >> > > from mainl/0.1.2/index.html > > > >> > > < > > > >> > > > https://airflow.staged.apache.org/docs/apache-airflow-ctl/0.1.2/index.html > > > >> > > > > >> > > *Release Notes* (I am sorry, I was a bit late to create and > merge > > the > > > >> > > RELEASE_NOTES because that part is still manual. It should be > okay > > > >> since it > > > >> > > will end up in the docs as in the staging (release_notes.html > > > >> > > < > > > >> > > > https://airflow.staged.apache.org/docs/apache-airflow-ctl/0.1.2/release_notes.html#airflowctl-0-1-2-2026-02-20 > > > >> >), > > > >> > > in the release description when we add it to GitHub, and in the > > main. > > > >> > > Advantage of releasing from the main branch :) ): > > > >> > > > > > >> > > > https://github.com/apache/airflow/blob/main/airflow-ctl/RELEASE_NOTES.rst > > > >> > > > > > >> > > *Testing Instructions using PyPI*: > > > >> > > > > > >> > > The packages are available in PyPI: > > > >> > > https://pypi.org/project/apache-airflow-ctl/0.1.2rc1/ > > > >> > > > > > >> > > You can build a virtualenv that installs this and other required > > > >> packages > > > >> > > like this: > > > >> > > > > > >> > > uv venv > > > >> > > uv pip install -U apache-airflow-ctl==0.1.2rc1 > > > >> > > > > > >> > > Regards, > > > >> > > Bugra Ozturk > > > >> > > > > > >> > > > > >> > > > --------------------------------------------------------------------- > > > >> > To unsubscribe, e-mail: [email protected] > > > >> > For additional commands, e-mail: [email protected] > > > >> > > > > >> > > > > >> > > > >> > --------------------------------------------------------------------- > > > >> To unsubscribe, e-mail: [email protected] > > > >> For additional commands, e-mail: [email protected] > > > >> > > > >> > > > > > > > --------------------------------------------------------------------- > > To unsubscribe, e-mail: [email protected] > > For additional commands, e-mail: [email protected] > > > > > > -- > Bugra Ozturk >
