diff --git a/.gitattributes b/.gitattributes index a2bdd2ec133e0..b38c5f047383d 100644 --- a/.gitattributes +++ b/.gitattributes @@ -15,6 +15,7 @@ scripts export-ignore Dockerfile.ci export-ignore CONTRIBUTING.rst export-ignore ISSUE_TRIAGE_PROCESS.rst export-ignore +.github/PULL_REQUEST_TEMPLATE.md export-ignore .asf.yaml export-ignore .bash_completion export-ignore diff --git a/.github/PULL_REQUEST_TEMPLATE.md b/.github/PULL_REQUEST_TEMPLATE.md index adbee6faeae11..35078652861f7 100644 --- a/.github/PULL_REQUEST_TEMPLATE.md +++ b/.github/PULL_REQUEST_TEMPLATE.md @@ -1,44 +1,37 @@ +Thank you for contributing! - + +## Was generative AI tooling used to co-author this PR? -How to write a good git commit message: -http://chris.beams.io/posts/git-commit/ + +- [ ] Yes (please specify the tool below) + - --- -**^ 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). + +* Read the **[Pull Request Guidelines](https://github.com/apache/airflow/blob/main/contributing-docs/05_pull_requests.rst#pull-request-guidelines)** for more information. +* 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` or `{issue_number}.significant.rst`, in [airflow-core/newsfragments](https://github.com/apache/airflow/tree/main/airflow-core/newsfragments). diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index cfc3016633229..ad21e5b0aea28 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -54,6 +54,9 @@ repos: ^docs/README\.md$| ^\.github/.*\.md$| ^airflow-core/tests/system/README\.md$ + exclude: + (?x) + .github/PULL_REQUEST_TEMPLATE\.md$ args: - "--maxlevel" - "2" @@ -155,13 +158,15 @@ repos: - id: insert-license name: Add license for all Markdown files files: \.md$ - exclude: PROVIDER_CHANGES.*\.md$ args: - --comment-style - "" - --license-filepath - scripts/ci/license-templates/LICENSE.txt - --fuzzy-match-generates-todo + exclude: + (?x) + .github/PULL_REQUEST_TEMPLATE\.md$ - id: insert-license name: Add license for all other files exclude: ^\.github/.*$ diff --git a/contributing-docs/05_pull_requests.rst b/contributing-docs/05_pull_requests.rst index a0d41e7ffc353..2375d4b4c13bb 100644 --- a/contributing-docs/05_pull_requests.rst +++ b/contributing-docs/05_pull_requests.rst @@ -100,6 +100,31 @@ these guidelines: - Adhere to guidelines for commit messages described in this `article `__. This makes the lives of those who come after you (and your future self) a lot easier. +Gen-AI Assisted contributions +----------------------------- + +Generally, it's fine to use Gen-AI tools to help you create Pull Requests for Apache Airflow as long as you +adhere to the following guidelines: + +* Follow the `Apache Software Foundation (ASF) Generative Tooling guideliens `__. +* Ensure that you review and understand all code generated by Gen-AI tools before including it in your PR - + do not blindly trust the generated code. +* Make sure that the generated code adheres to the project's coding standards and best practices described + above +* Make sure to run all relevant static checks and tests locally to verify that the generated code works as + intended and does not introduce any issues. +* State in your PR description that you have used Gen-AI tools to assist in creating the PR. +* Be prepared to explain and justify the use of Gen-AI tools if asked by project maintainers or reviewers. +* Remember that the final responsibility for the code in your PR lies with you, regardless of whether + it was generated by a tool or written by you. +* By contributing code generated by Gen-AI tools, you agree to comply with the project's licensing terms + and any applicable laws and regulations. +* Blindly copy & pasting code from Gen-AI tools is detrimental as it might introduce security and +stability risks to the project. Maintainers that spot such behaviours will have no choice but to +close the related PRs. It adds extra burden on the maintainers and doesn't help the project. +The contributor reputation is also impacted as maintainers will lose confidence and might block +the user from making further contributions. + Requirement to resolve all conversations ----------------------------------------