potiuk opened a new pull request, #57906:
URL: https://github.com/apache/airflow/pull/57906
…#57901)
After testing with Alpha 2 ATR (Apache Trusted Releases) of airflow-ctl it
turned out that our source tarballs were not perfectly according to what ATR
expected.
* The -source tarballs did not have internal directory with `-source` sufffix
* The verification of those tarballs with RAT 0.17.0 was done using the
.rat-excludes from airflow sources - not from the package itself
* For provider releases, we verified way more than we should with licence
checks (we should really only verify the sources, not the whl or .sdist files.
The commands to generate the tarballs also had some inconsistencies and
repetitions:
* Literals were sprinkled across the code base
* In some cases we would produce tarballs when generating distributions
which was not exactly matching the general "prepare-airflow-tarball" behaviour
regarding tags and versions.
* It was difficult to test tarball preparation locally before tags were
created for the version to test
* Tarballs should never be produced with rc suffix. We always produce
tarballs with the "final version" of the component because tarballs are not
published in PyPI and can be promoted to the final version always.
This PR simplifies the scripts and makes it more consistent:
* tarballs are only created with `prepare-tarball` command
* Literals are removed and replaced wiuth TarballType enum (DRY)
* behaviour of tarball generation is more predictable now and consistent:
* you specify tarball type
* if you do not specify version, tag is HEAD, and version is automatically
retrieved based of the version of tarball type
* if you specify version - prefix (airflow-ctl/, airflow-task-sdk/,
providers/) is added to the version to derive a tag and that version is used as
tarball version (prefixed with type)
* tarball-type-version-source is used as top-level folder where the
sources are placed
* verification of licences is now consistent, simplified and produces better
results - showing counts of checked files and exclusions used - not only files
that have unknown or unapproved licences. You can actually see that RAT did
it's job. (cherry picked from commit c3669c04dc784057c52a898ea66166e7e56cf2fc)
<!--
Licensed to the Apache Software Foundation (ASF) under one
or more contributor license agreements. See the NOTICE file
distributed with this work for additional information
regarding copyright ownership. The ASF licenses this file
to you under the Apache License, Version 2.0 (the
"License"); you may not use this file except in compliance
with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing,
software distributed under the License is distributed on an
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
KIND, either express or implied. See the License for the
specific language governing permissions and limitations
under the License.
-->
<!--
Thank you for contributing! Please make sure that your code changes
are covered with tests. And in case of new features or big changes
remember to adjust the documentation.
Feel free to ping committers for the review!
In case of an existing issue, reference it using one of the following:
closes: #ISSUE
related: #ISSUE
How to write a good git commit message:
http://chris.beams.io/posts/git-commit/
-->
<!-- Please keep an empty line above the dashes. -->
---
**^ Add meaningful description above**
Read the **[Pull Request
Guidelines](https://github.com/apache/airflow/blob/main/contributing-docs/05_pull_requests.rst#pull-request-guidelines)**
for more information.
In case of fundamental code changes, an Airflow Improvement Proposal
([AIP](https://cwiki.apache.org/confluence/display/AIRFLOW/Airflow+Improvement+Proposals))
is needed.
In case of a new dependency, check compliance with the [ASF 3rd Party
License Policy](https://www.apache.org/legal/resolved.html#category-x).
In case of backwards incompatible changes please leave a note in a
newsfragment file, named `{pr_number}.significant.rst` or
`{issue_number}.significant.rst`, in
[airflow-core/newsfragments](https://github.com/apache/airflow/tree/main/airflow-core/newsfragments).
--
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]