jason810496 opened a new pull request, #67020:
URL: https://github.com/apache/airflow/pull/67020
* Support # nocheck: core-imports inline marker for
check_core_imports_in_sdk hook
* Address review comment
* refactor: streamline import checks and update nocheck markers to noqa
* refactor: streamline import checks and update nocheck markers to noqa
* Restrict noqa code parsing to the leading comma-separated list
A comment like `# noqa: F401 - see SDK002 docs` no longer accidentally
suppresses SDK002 — codes mentioned in the trailing explanation are ignored.
* Add positive test cases for noqa codes with trailing explanation
Cover `# noqa: F401, SDK002 - needed for compat` (suppresses SDK002 because
it's part of the leading code list) and the symmetric case for the SDK001 hook.
* Tighten noqa code parsing and detect bare-module attribute imports
- Anchor `_NOQA_CODE_RE` with a word boundary so prefixes like `SDK002x` no
longer suppress `SDK002`.
- Extend the ImportFrom check to also test `<module>.<name>` so that `from
airflow import settings` is reported as a core import. Mixed imports like `from
airflow import sdk, settings` report only the offending names.
* Print noqa suppression hint when an import violation is reported
After listing offending imports, ``report_import_violations`` now echoes the
``# noqa: <code>`` escape hatch so users know the exact marker to add for an
intentional import without having to dig into the hook source.
* fixup: Add SDK002 ignore in task-sdk
* Rename check_sdk_imports to check_sdk_imports_in_core
Mirrors the naming of the sibling check_core_imports_in_sdk hook so the
direction of each guard (what's checked in where) is obvious from the filename.
(cherry picked from commit ff140cd0b4a048287ed0c069b8de9659aebf6c34)
<!-- SPDX-License-Identifier: Apache-2.0
https://www.apache.org/licenses/LICENSE-2.0 -->
<!--
Thank you for contributing!
Please provide above a brief description of the changes made in this pull
request.
Write a good git commit message following this guide:
http://chris.beams.io/posts/git-commit/
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 (in general) for the review if you do not see reaction for
a few days
(72 Hours is the minimum reaction time you can expect from volunteers) - we
sometimes miss notifications.
In case of an existing issue, reference it using one of the following:
* closes: #ISSUE
* related: #ISSUE
-->
---
##### Was generative AI tooling used to co-author this PR?
<!--
If generative AI tooling has been used in the process of authoring this PR,
please
change below checkbox to `[X]` followed by the name of the tool, uncomment
the "Generated-by".
-->
- [ ] Yes (please specify the tool below)
<!--
Generated-by: [Tool Name] following [the
guidelines](https://github.com/apache/airflow/blob/main/contributing-docs/05_pull_requests.rst#gen-ai-assisted-contributions)
-->
---
* Read the **[Pull Request
Guidelines](https://github.com/apache/airflow/blob/main/contributing-docs/05_pull_requests.rst#pull-request-guidelines)**
for more information. Note: commit author/co-author name and email in commits
become permanently public when merged.
* For fundamental code changes, an Airflow Improvement Proposal
([AIP](https://cwiki.apache.org/confluence/display/AIRFLOW/Airflow+Improvement+Proposals))
is needed.
* When adding dependency, check compliance with the [ASF 3rd Party License
Policy](https://www.apache.org/legal/resolved.html#category-x).
* For significant user-facing changes create newsfragment:
`{pr_number}.significant.rst`, in
[airflow-core/newsfragments](https://github.com/apache/airflow/tree/main/airflow-core/newsfragments).
You can add this file in a follow-up commit after the PR is created so you
know the PR number.
--
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]