airflow-ctl 0.1.5: stable to test (#67294)#67651
Closed
bugraoz93 wants to merge 1 commit into
Closed
Conversation
* [airflow-ctl-v0-1-test] Allow remote version check without authentication (#65099) (#65904) * fix(cli): allow remote version check without local config file * fix(cli): introduce NO_AUTH client * test(cli): add unit test for no-auth commands (cherry picked from commit 80cefde) Co-authored-by: rjgoyln <151457491+rjgoyln@users.noreply.github.com> * [airflow-ctl-v0-1-test] use existing safe_load function in airflowctl utils to load help texts (#65841) (#65903) (cherry picked from commit ad213e0) Co-authored-by: Justin Pakzad <114518232+justinpakzad@users.noreply.github.com> * [airflow-ctl-v0-1-test] airflowctl: Send backfill create and dry-run payloads as JSON (#65158) (#65937) (cherry picked from commit ec8977c) Co-authored-by: Henry Chen <henryhenry0512@gmail.com> * Bump uv floor to 0.11.8, override cooldown for uv (#66042) (#66057) Pins `[tool.uv] required-version` (and the matching marker-tagged constants in breeze) to 0.11.8 across the root and the three workspace members that carried their own (stale) floor (`airflow-core`, `airflow-ctl`, `dev/mypy` — all previously `>=0.6.3`). The bump picks up the timestamp-elision fix from astral-sh/uv#19022 (closes astral-sh/uv#18708 — relative `exclude-newer` no longer writes a churning timestamp into uv.lock that two branches collide on). Drops uv's per-package cooldown to "12 hours" in both [tool.uv.exclude-newer-package] and [tool.uv.pip.exclude-newer-package]; without the override the project-wide 4-day window blocks a freshly-released uv from being adopted as the floor. The override is flagged "REMOVE BY 2026-05-01" — once 0.11.8 is older than the global 4-day cooldown the override is redundant. Bumps AIRFLOW_UV_VERSION across Dockerfiles, breeze constants, and the image-args doc to match. The `# sync-uv-min-version`-tagged test fixtures were auto-rewritten by the prek hook of the same name. uv.lock confirms the upstream fix is engaged: `exclude-newer` reads as the no-op `0001-01-01T00:00:00Z` placeholder. (cherry picked from commit dbfc27d) * [airflow-ctl-v0-1-test] Align Dag capitalization from "DAG" to "Dag" for airflow-ctl/ (#66112) (#66217) Backport of #66112. Conflicts resolved by keeping v0-1-test base for unrelated divergences (only_new field, validate_model, is_backfillable property, DAGRunCollectionResponse multi-line docstring) and applying only the DAG -> Dag description-text changes — feature-related lines absent in v0-1-test were not introduced. Co-authored-by: hojeong park <parkhj062@gmail.com> * [airflow-ctl/v0-1-test] Increment version of airflowctl for RC (#67295) (#67384) * Increment version of airflowctl for RC * Change airflow-core usage for ctl * Change airflow-core usage for ctl and amend installation in docker * Prepare airflowctl for tests in CI * Amend install airflow and provider to cover airflowctl (cherry picked from commit 336a119) * [airflow-ctl/v0-1-test] airflowctl: make required CLI params positional, keep optional as --flag (#66768) (#67387) * airflowctl: make required CLI params positional, keep optional as --flag Auto-generated commands such as ``airflowctl dags get-details`` now accept required primitive parameters positionally: airflowctl dags get-details my_dag_id instead of the previous ``--dag-id my_dag_id`` form. Optional parameters and booleans keep the ``--flag`` form. This follows the dev-list lazy consensus on airflowctl parameter style. A parameter is considered required when the operation method declares it without a default and without ``| None`` in its annotation. Datamodel- expanded body fields are unaffected — they are not "parameters of the operation method" in this sense and continue to use ``--flag``. * tests: tmp_path fixture for command-factory; positional form for integration tests Two follow-ups to the positional-required-args change: - ``TestCommandFactory._save_temp_operations_py`` previously wrote a shared ``test_command.py`` in cwd; under pytest-xdist that file is raced by workers, so ``next(arg for arg in jobs_list_args if ...)`` in one test could see content written by another and raise ``StopIteration``. Helper now takes the per-test ``tmp_path`` and returns the full path. The classmethod ``teardown_method`` that removed the shared file is no longer needed (pytest auto-cleans ``tmp_path``). - The Airflow CTL PROD-image integration tests still invoked converted parameters with the old ``--flag value`` form (e.g. ``--variable-key=X``, ``--section X --option Y``, ``--dag-id=example_bash_operator``). Updated each occurrence to the positional form that the regenerated CLI now expects. Optional parameters (``--logical-date``, ``--run-after``, ``--is-paused``, ``--state``, ``--limit``, etc.) stay as ``--flag``. --------- (cherry picked from commit ffa426b) Signed-off-by: 1fanwang <1fannnw@gmail.com> Co-authored-by: Stefan Wang <1fannnw@gmail.com> * [airflow-ctl/v0-1-test] Add dags next execution command #66172 (#66188) (#67386) * Add airflowctl dags next-execution command #66172 * Add generated OpenAPI spec and UI types * Revert "Add generated OpenAPI spec and UI types" This reverts commit 6748ed8. * Update help text Dag definition --------- (cherry picked from commit 16ad479) Co-authored-by: Haseeb Malik <118837269+haseebmalik18@users.noreply.github.com> * Sync main to backport branch for airflowctl (#67559) * [airflow-ctl/v0-1-test] Add airflowctl 0.1.5 release notes (#67562) (#67576) * Add airflowctl 0.1.5 release notes * Add double backticks * Apply suggestions from code review * Amend release notes without backports and duplicates, add misc as commented visibility --------- (cherry picked from commit 1a1c145) Co-authored-by: Jens Scheffler <95105677+jscheffl@users.noreply.github.com> --------- Signed-off-by: 1fanwang <1fannnw@gmail.com> Co-authored-by: rjgoyln <151457491+rjgoyln@users.noreply.github.com> Co-authored-by: Justin Pakzad <114518232+justinpakzad@users.noreply.github.com> Co-authored-by: Henry Chen <henryhenry0512@gmail.com> Co-authored-by: Jarek Potiuk <jarek@potiuk.com> Co-authored-by: Yeonguk Choo <choo121600@gmail.com> Co-authored-by: hojeong park <parkhj062@gmail.com> Co-authored-by: Stefan Wang <1fannnw@gmail.com> Co-authored-by: Haseeb Malik <118837269+haseebmalik18@users.noreply.github.com> Co-authored-by: Jens Scheffler <95105677+jscheffl@users.noreply.github.com>
Contributor
Author
|
Sorry for the flood, all! These are merged from test to stable. Wanted to see what this PR will show. I may need to rebase this one commit but normally there shouldn't be any changes. After the fast-forward branch is merged, test is deleted automatically. Restored but missing this one. I will continue for RC and will check this out today |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
[airflow-ctl-v0-1-test] Allow remote version check without authentication (Allow remote version check without authentication #65099) ([airflow-ctl/v0-1-test] Allow remote version check without authentication #65904)
fix(cli): allow remote version check without local config file
fix(cli): introduce NO_AUTH client
test(cli): add unit test for no-auth commands (cherry picked from commit 80cefde)
[airflow-ctl-v0-1-test] use existing safe_load function in airflowctl utils to load help texts (Use existing safe_load function in airflowctl utils to load help texts #65841) ([airflow-ctl/v0-1-test] use existing safe_load function in airflowctl… #65903)
(cherry picked from commit ad213e0)
(cherry picked from commit ec8977c)
Pins
[tool.uv] required-version(and the matching marker-tagged constants in breeze) to 0.11.8 across the root and the three workspace members that carried their own (stale) floor (airflow-core,airflow-ctl,dev/mypy— all previously>=0.6.3). The bump picks up the timestamp-elision fix from astral-sh/uv#19022 (closes astral-sh/uv#18708 — relativeexclude-newerno longer writes a churning timestamp into uv.lock that two branches collide on).Drops uv's per-package cooldown to "12 hours" in both [tool.uv.exclude-newer-package] and [tool.uv.pip.exclude-newer-package]; without the override the project-wide 4-day window blocks a freshly-released uv from being adopted as the floor. The override is flagged "REMOVE BY 2026-05-01" — once 0.11.8 is older than the global 4-day cooldown the override is redundant.
Bumps AIRFLOW_UV_VERSION across Dockerfiles, breeze constants, and the image-args doc to match. The
# sync-uv-min-version-tagged test fixtures were auto-rewritten by the prek hook of the same name.uv.lock confirms the upstream fix is engaged:
exclude-newerreads as the no-op0001-01-01T00:00:00Zplaceholder.(cherry picked from commit dbfc27d)
Backport of #66112. Conflicts resolved by keeping v0-1-test base for unrelated divergences (only_new field, validate_model, is_backfillable property, DAGRunCollectionResponse multi-line docstring) and applying only the DAG -> Dag description-text changes — feature-related lines absent in v0-1-test were not introduced.
[airflow-ctl/v0-1-test] Increment version of airflowctl for RC (Increment version of airflowctl for RC #67295) ([airflow-ctl/v0-1-test] Increment version of airflowctl for RC (#67295) #67384)
Increment version of airflowctl for RC
Change airflow-core usage for ctl
Change airflow-core usage for ctl and amend installation in docker
Prepare airflowctl for tests in CI
Amend install airflow and provider to cover airflowctl (cherry picked from commit 336a119)
[airflow-ctl/v0-1-test] airflowctl: make required CLI params positional, keep optional as --flag (airflowctl: make required CLI params positional, keep optional as --flag #66768) ([airflow-ctl/v0-1-test] airflowctl: make required CLI params position… #67387)
airflowctl: make required CLI params positional, keep optional as --flag
Auto-generated commands such as
airflowctl dags get-detailsnow accept required primitive parameters positionally:instead of the previous
--dag-id my_dag_idform. Optional parameters and booleans keep the--flagform.This follows the dev-list lazy consensus on airflowctl parameter style.
A parameter is considered required when the operation method declares it without a default and without
| Nonein its annotation. Datamodel- expanded body fields are unaffected — they are not "parameters of the operation method" in this sense and continue to use--flag.Two follow-ups to the positional-required-args change:
TestCommandFactory._save_temp_operations_pypreviously wrote a sharedtest_command.pyin cwd; under pytest-xdist that file is raced by workers, sonext(arg for arg in jobs_list_args if ...)in one test could see content written by another and raiseStopIteration. Helper now takes the per-testtmp_pathand returns the full path. The classmethodteardown_methodthat removed the shared file is no longer needed (pytest auto-cleanstmp_path).The Airflow CTL PROD-image integration tests still invoked converted parameters with the old
--flag valueform (e.g.--variable-key=X,--section X --option Y,--dag-id=example_bash_operator). Updated each occurrence to the positional form that the regenerated CLI now expects. Optional parameters (--logical-date,--run-after,--is-paused,--state,--limit, etc.) stay as--flag.(cherry picked from commit ffa426b)
[airflow-ctl/v0-1-test] Add dags next execution command [AIP-94] airflowctl dags: add next-execution command #66172 (Add dags next execution command #66172 #66188) ([airflow-ctl/v0-1-test] Add dags next execution command #66172 (#66188) #67386)
Add airflowctl dags next-execution command [AIP-94] airflowctl dags: add next-execution command #66172
Add generated OpenAPI spec and UI types
Revert "Add generated OpenAPI spec and UI types"
This reverts commit 6748ed8.
(cherry picked from commit 16ad479)
Sync main to backport branch for airflowctl (Sync main to backport branch for airflowctl #67559)
[airflow-ctl/v0-1-test] Add airflowctl 0.1.5 release notes (Add airflowctl 0.1.5 release notes #67562) ([airflow-ctl/v0-1-test] Add airflowctl 0.1.5 release notes (#67562) #67576)
Add airflowctl 0.1.5 release notes
Add double backticks
Apply suggestions from code review
Amend release notes without backports and duplicates, add misc as commented visibility
(cherry picked from commit 1a1c145)
Was generative AI tooling used to co-author this PR?
{pr_number}.significant.rst, in airflow-core/newsfragments. You can add this file in a follow-up commit after the PR is created so you know the PR number.