Skip to content

AIR CLI Integration: collapse air get run back to air get JOB_RUN_ID#5685

Open
riddhibhagwat-db wants to merge 3 commits into
air-clifrom
m1-1-run-fix
Open

AIR CLI Integration: collapse air get run back to air get JOB_RUN_ID#5685
riddhibhagwat-db wants to merge 3 commits into
air-clifrom
m1-1-run-fix

Conversation

@riddhibhagwat-db

Copy link
Copy Markdown

Why

We decided to cut the get run sub-resource. The run-status command is now just air get <id> — flat, with no run subcommand.

Changes

  • Removed the get parent group and its run subcommand; newGetCommand is the run-status command itself (Use: "get JOB_RUN_ID", ExactArgs(1)).
  • No change to output behavior — the styled config box, JOB_RUN_ID naming, Job Link header, status table, and sweep view are all unchanged.
  • Regenerated the experimental/air/get and experimental/air/help acceptance outputs; updated doc comments and tests that referenced air get run.

Tests

  • Added TestGetCommandShape: asserts Use == "get JOB_RUN_ID", no registered subcommands, and exactly one arg required.
  • Updated the existing get unit tests (invalid id, not-found text/JSON, templates, buildGetData) to the new entry point.
  • experimental/air/{get,help} acceptance regenerated; full air unit + acceptance suites pass.

This pull request and its description were written by Isaac.

Replace the plain text view of `air get run <id>` with a one-shot,
styled terminal renderer built on lipgloss + termenv:

- Configuration box: the resolved run config YAML (inline params,
  downloaded params file, or synthesized), colorized line by line.
- Metadata box: Run ID, Status, Submitted, Retries, Max Retries,
  Duration, Experiment, MLflow Run, User, Accelerators, Environment,
  with OSC 8 hyperlinks on Run ID and MLflow Run.

Boxes share a light-purple border/title, warm Oat neutrals, and a
restrained accent palette. Honors --no-color / NO_COLOR / non-TTY via
termenv.Ascii; links degrade to the bare label (URLs stay in -o json).

Sweep (foreach) runs and JSON output are unchanged. termenv becomes a
direct dependency (annotated in go.mod and NOTICE).

Co-authored-by: Isaac
Remove the `get` parent group and its `run` subcommand; the run-status logic
is once again the `get` command itself, invoked as `air get JOB_RUN_ID`. The
output (styled boxes, JOB_RUN_ID naming, Job Link, etc.) is unchanged.

Co-authored-by: Isaac
@github-actions

github-actions Bot commented Jun 22, 2026

Copy link
Copy Markdown
Contributor

Approval status: pending

/acceptance/experimental/air/ - needs approval

Files: acceptance/experimental/air/get/output.txt, acceptance/experimental/air/get/script, acceptance/experimental/air/help/output.txt
Eligible: @apeforest, @bfontain, @lu-wang-dl, @panchalhp-db, @vinchenzo-db, @maggiewang-db, @ben-hansen-db, @pardis-beikzadeh-db

/experimental/air/ - needs approval

Files: experimental/air/cmd/get.go, experimental/air/cmd/get_test.go, experimental/air/cmd/render.go
Eligible: @apeforest, @bfontain, @lu-wang-dl, @panchalhp-db, @vinchenzo-db, @maggiewang-db, @ben-hansen-db, @pardis-beikzadeh-db

Any maintainer (@andrewnester, @anton-107, @denik, @pietern, @shreyas-goenka, @simonfaltum, @renaudhartert-db) can approve all areas.
See OWNERS for ownership rules.

@riddhibhagwat-db riddhibhagwat-db changed the title experimental/air: collapse air get run back to air get JOB_RUN_ID AIR CLI Integration: collapse air get run back to air get JOB_RUN_ID Jun 22, 2026
@eng-dev-ecosystem-bot

eng-dev-ecosystem-bot commented Jun 22, 2026

Copy link
Copy Markdown
Collaborator

Integration test report

Commit: e79f7fa

Run: 28064957990

Env 💚​RECOVERED 🙈​SKIP ✅​pass 🙈​skip Time
💚​ aws linux 7 13 264 1015 5:45
💚​ aws windows 7 13 266 1013 9:29
💚​ aws-ucws linux 7 13 360 929 5:45
💚​ aws-ucws windows 7 13 362 927 9:01
💚​ azure linux 1 15 267 1013 5:11
💚​ azure windows 1 15 269 1011 8:26
💚​ azure-ucws linux 1 15 365 925 5:54
💚​ azure-ucws windows 1 15 367 923 9:04
💚​ gcp linux 1 15 263 1016 5:02
💚​ gcp windows 1 15 265 1014 7:53
20 interesting tests: 13 SKIP, 7 RECOVERED
Test Name aws linux aws windows aws-ucws linux aws-ucws windows azure linux azure windows azure-ucws linux azure-ucws windows gcp linux gcp windows
💚​ TestAccept 💚​R 💚​R 💚​R 💚​R 💚​R 💚​R 💚​R 💚​R 💚​R 💚​R
🙈​ TestAccept/bundle/invariant/no_drift 🙈​S 🙈​S 🙈​S 🙈​S 🙈​S 🙈​S 🙈​S 🙈​S 🙈​S 🙈​S
🙈​ TestAccept/bundle/resources/permissions 🙈​S 🙈​S 🙈​S 🙈​S 🙈​S 🙈​S 🙈​S 🙈​S 🙈​S 🙈​S
💚​ TestAccept/bundle/resources/permissions/jobs/destroy_without_mgmtperms/with_permissions 💚​R 💚​R 💚​R 💚​R 🙈​S 🙈​S 🙈​S 🙈​S 🙈​S 🙈​S
💚​ TestAccept/bundle/resources/permissions/jobs/destroy_without_mgmtperms/with_permissions/DATABRICKS_BUNDLE_ENGINE=direct 💚​R 💚​R 💚​R 💚​R
💚​ TestAccept/bundle/resources/permissions/jobs/destroy_without_mgmtperms/with_permissions/DATABRICKS_BUNDLE_ENGINE=terraform 💚​R 💚​R 💚​R 💚​R
💚​ TestAccept/bundle/resources/permissions/jobs/destroy_without_mgmtperms/without_permissions 💚​R 💚​R 💚​R 💚​R 🙈​S 🙈​S 🙈​S 🙈​S 🙈​S 🙈​S
💚​ TestAccept/bundle/resources/permissions/jobs/destroy_without_mgmtperms/without_permissions/DATABRICKS_BUNDLE_ENGINE=direct 💚​R 💚​R 💚​R 💚​R
💚​ TestAccept/bundle/resources/permissions/jobs/destroy_without_mgmtperms/without_permissions/DATABRICKS_BUNDLE_ENGINE=terraform 💚​R 💚​R 💚​R 💚​R
🙈​ TestAccept/bundle/resources/postgres_branches/basic 🙈​S 🙈​S 🙈​S 🙈​S 🙈​S 🙈​S 🙈​S 🙈​S 🙈​S 🙈​S
🙈​ TestAccept/bundle/resources/postgres_branches/recreate 🙈​S 🙈​S 🙈​S 🙈​S 🙈​S 🙈​S 🙈​S 🙈​S 🙈​S 🙈​S
🙈​ TestAccept/bundle/resources/postgres_branches/replace_existing 🙈​S 🙈​S 🙈​S 🙈​S 🙈​S 🙈​S 🙈​S 🙈​S 🙈​S 🙈​S
🙈​ TestAccept/bundle/resources/postgres_branches/update_protected 🙈​S 🙈​S 🙈​S 🙈​S 🙈​S 🙈​S 🙈​S 🙈​S 🙈​S 🙈​S
🙈​ TestAccept/bundle/resources/postgres_branches/without_branch_id 🙈​S 🙈​S 🙈​S 🙈​S 🙈​S 🙈​S 🙈​S 🙈​S 🙈​S 🙈​S
🙈​ TestAccept/bundle/resources/postgres_endpoints/basic 🙈​S 🙈​S 🙈​S 🙈​S 🙈​S 🙈​S 🙈​S 🙈​S 🙈​S 🙈​S
🙈​ TestAccept/bundle/resources/postgres_projects/update_display_name 🙈​S 🙈​S 🙈​S 🙈​S 🙈​S 🙈​S 🙈​S 🙈​S 🙈​S 🙈​S
🙈​ TestAccept/bundle/resources/synced_database_tables/basic 🙈​S 🙈​S 🙈​S 🙈​S 🙈​S 🙈​S 🙈​S 🙈​S 🙈​S 🙈​S
🙈​ TestAccept/bundle/resources/vector_search_endpoints/drift/recreated_same_name 🙈​S 🙈​S 🙈​S 🙈​S 🙈​S 🙈​S 🙈​S 🙈​S 🙈​S 🙈​S
🙈​ TestAccept/bundle/resources/vector_search_indexes/recreate/embedding_dimension 🙈​S 🙈​S 🙈​S 🙈​S 🙈​S 🙈​S 🙈​S 🙈​S 🙈​S 🙈​S
🙈​ TestAccept/ssh/connection 🙈​S 🙈​S 🙈​S 🙈​S 🙈​S 🙈​S 🙈​S 🙈​S 🙈​S 🙈​S
Top 25 slowest tests (at least 2 minutes):
duration env testname
4:25 gcp windows TestAccept/bundle/resources/apps/inline_config/DATABRICKS_BUNDLE_ENGINE=terraform
4:10 aws windows TestAccept
4:06 gcp linux TestAccept/bundle/resources/apps/inline_config/DATABRICKS_BUNDLE_ENGINE=terraform
3:44 aws windows TestAccept/bundle/resources/apps/inline_config/DATABRICKS_BUNDLE_ENGINE=terraform
3:43 gcp linux TestAccept/bundle/resources/apps/inline_config/DATABRICKS_BUNDLE_ENGINE=direct
3:37 aws-ucws windows TestAccept/bundle/resources/apps/inline_config/DATABRICKS_BUNDLE_ENGINE=terraform
3:35 gcp windows TestAccept/bundle/resources/apps/inline_config/DATABRICKS_BUNDLE_ENGINE=direct
3:19 azure windows TestAccept
3:19 aws linux TestAccept/bundle/resources/apps/inline_config/DATABRICKS_BUNDLE_ENGINE=terraform
3:16 aws-ucws windows TestAccept
3:15 gcp windows TestAccept
3:00 azure windows TestAccept/bundle/resources/apps/inline_config/DATABRICKS_BUNDLE_ENGINE=terraform
2:59 aws-ucws linux TestAccept/bundle/resources/apps/inline_config/DATABRICKS_BUNDLE_ENGINE=terraform
2:59 aws windows TestAccept/bundle/resources/apps/inline_config/DATABRICKS_BUNDLE_ENGINE=direct
2:50 aws linux TestAccept/bundle/resources/apps/inline_config/DATABRICKS_BUNDLE_ENGINE=direct
2:46 azure-ucws windows TestAccept/bundle/resources/apps/inline_config/DATABRICKS_BUNDLE_ENGINE=terraform
2:41 azure linux TestAccept/bundle/resources/apps/inline_config/DATABRICKS_BUNDLE_ENGINE=terraform
2:38 azure windows TestAccept/bundle/resources/apps/inline_config/DATABRICKS_BUNDLE_ENGINE=direct
2:37 azure-ucws windows TestAccept
2:36 aws-ucws windows TestAccept/bundle/resources/apps/inline_config/DATABRICKS_BUNDLE_ENGINE=direct
2:35 azure-ucws windows TestAccept/bundle/resources/apps/inline_config/DATABRICKS_BUNDLE_ENGINE=direct
2:35 azure-ucws linux TestAccept/bundle/resources/apps/inline_config/DATABRICKS_BUNDLE_ENGINE=terraform
2:34 azure linux TestAccept/bundle/resources/apps/inline_config/DATABRICKS_BUNDLE_ENGINE=direct
2:29 azure-ucws linux TestAccept/bundle/resources/apps/inline_config/DATABRICKS_BUNDLE_ENGINE=direct
2:28 aws-ucws linux TestAccept/bundle/resources/apps/inline_config/DATABRICKS_BUNDLE_ENGINE=direct

Base automatically changed from air-integration-m1-1-ui to air-cli June 23, 2026 22:58
@@ -125,19 +125,6 @@ func renderRunText(ctx context.Context, out io.Writer, w *databricks.WorkspaceCl
// A single write: a blank line before the first box and after the last, and
// one between each box.
fmt.Fprintf(out, "\n%s\n\n", strings.Join(sections, "\n\n"))

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is this change intentional?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants