amoghrajesh opened a new pull request, #61343: URL: https://github.com/apache/airflow/pull/61343
<!-- 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". --> - [x] No <!-- Generated-by: [Tool Name] following [the guidelines](https://github.com/apache/airflow/blob/main/contributing-docs/05_pull_requests.rst#gen-ai-assisted-contributions) --> ### Problem https://github.com/apache/airflow/pull/59084 broke public repository support in GitDagBundle. When we tried to configure public repositories without authentication, the bundle initialization would fail with and error like this: ``` AirflowNotFoundException: The conn_id git_default isn't defined ``` This was affecting all users using public repos with dag bundles. The root cause was that the linked PR changed error handling to reraise all GitHook creation exceptions to provide clearer error messages. However, this broke the valid use case where users configure a public repo with explicit `repo_url` which lead to Githook creation failing error being reraised due to which the entire bundle would be killed, making dag bundles unusable. In other words, no dags would be seen on the Airflow UI. ### Fix The fix is to make the git connection optional when `repo_url` is explicitly provided: - If `repo_url` is NOT provided: Connection is required (to get the repo URL) and exception if any, is raised. - if `repo_url` IS provided: Connection is optional and exception is caught, bundle continues without authentication This is a middle ground which allows public repositories to work without any connection configuration, while still maintaining clear error messages that the linked PR fixed earlier. ### Testing Configure the git bundle: ```shell export AIRFLOW__DAG_PROCESSOR__DAG_BUNDLE_CONFIG_LIST='[{"name": "git_repo", "classpath": "airflow.providers.git.bundles.git.GitDagBundle", "kwargs": {"tracking_ref": "main", "subdir": "examples", "repo_url": "https://github.com/AmFlint/test-af.git"}}]' ``` Earlier this would be seen: <img width="3332" height="1452" alt="image (64)" src="https://github.com/user-attachments/assets/a0589c54-f303-4eef-b3b0-10976879fe60" /> After the fix, this is what we see: <img width="3332" height="1452" alt="image (65)" src="https://github.com/user-attachments/assets/0915680e-73a6-44f1-9132-d0ececd2abeb" /> --- * 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` 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]
