bugraoz93 commented on PR #61822:
URL: https://github.com/apache/airflow/pull/61822#issuecomment-3894196196

   Finally, I moved the tests to main :D Normally, PR is ready and working. 
   
https://github.com/apache/airflow/actions/runs/21968985699/job/63466790648?pr=61822
   Only failed for the older version. I think Airflow 3.1.7 and the main ctl 
are not compatible. After this is merged, we will catch these kinds of things 
earlier in the process.
   
   ```
   FAILED 
airflow-ctl-tests/tests/airflowctl_tests/test_airflowctl_commands.py::test_airflowctl_commands[connections
 update] - AssertionError: ❌ Output contained unexpected text for command 
'airflowctl connections update --connection-id=test_con --conn-type=postgres'
     Matched error pattern: Server error
     Output:
     Debug mode is enabled. Please be aware that your credentials are not 
secure.
     Please unset AIRFLOW_CLI_DEBUG_MODE or set it to false.
     2026-02-13 00:14:18 [warning  ] Server error                   
[airflowctl.api.client] extra={'detail': [{'type': 'extra_forbidden', 'loc': 
['body', 'team_name'], 'msg': 'Extra inputs are not permitted', 'input': None}]}
     Server response error: Client error message: {'detail': [{'type': 
'extra_forbidden', 'loc': ['body', 'team_name'], 'msg': 'Extra inputs are not 
permitted', 'input': None}]}
     Client error,  Please check the command and its parameters. If you need 
help, run the command with --help.
   assert not 'Server error'
   ```
   
   These changes made me realise I overlooked the part of adding a new field in 
the datamodels, which is not breaking if you send the old request from the user 
perspective. That is not the case if you send the new request (datamodel in 
main) to the old Pydantic model (v3-1-test API datamodel), which is not there. 
So, in main, we have some breaking changes we need to handle. The old version 
of airflowctl is compatible with the 3.1.7 version since we haven't backported 
any changes. 
   
   I will check if I can fix the backward compatibility easily because it looks 
a bit tricky. I have an idea to get the env var on Airflow version and keep 
both versions of the datamodels and switch accordingly. This will make it 
compatible with the old version. The tricky parts are generating the datamodel 
from another branch, but that should be possible. 
   
   I may need to reschedule the release a week or two if I cannot make breaking 
changes compatible with the older version tomorrow :( Or we can accept the 
breaking part since we are still in 0.1.x, which I would still be on the side 
of waiting a week or two to fix this, but on the other hand, features are 
waiting to be released.
   What do you think, @potiuk?


-- 
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