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]

Reply via email to