Skip to content

airflow-ctl 0.1.5: test to stable#67294

Open
bugraoz93 wants to merge 8 commits into
airflow-ctl/v0-1-stablefrom
airflow-ctl/v0-1-test
Open

airflow-ctl 0.1.5: test to stable#67294
bugraoz93 wants to merge 8 commits into
airflow-ctl/v0-1-stablefrom
airflow-ctl/v0-1-test

Conversation

@bugraoz93
Copy link
Copy Markdown
Contributor

@bugraoz93 bugraoz93 commented May 21, 2026

Sync airflow-ctl/v0-1-test into airflow-ctl/v0-1-stable for the airflow-ctl 0.1.5 release.

Need backport of (depends): #67295 merged to backport branch. Then it will merge. But ready for review as the only version will lend

bugraoz93 and others added 5 commits April 26, 2026 22:55
…tion (#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>
… utils to load help texts (#65841) (#65903)

(cherry picked from commit ad213e0)

Co-authored-by: Justin Pakzad <114518232+justinpakzad@users.noreply.github.com>
…payloads as JSON (#65158) (#65937)

(cherry picked from commit ec8977c)

Co-authored-by: Henry Chen <henryhenry0512@gmail.com>
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)
…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>
… (#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)
@bugraoz93 bugraoz93 requested a review from kaxil as a code owner May 23, 2026 18:44
bugraoz93 and others added 2 commits May 24, 2026 21:50
…al, 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>
… (#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>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

area:airflow-ctl area:API Airflow's REST/HTTP API area:dev-tools area:production-image Production image improvements and fixes area:UI Related to UI/UX. For Frontend Developers. kind:documentation

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants