Skip to content

AIR CLI Integration: remove requirements file path for config - #6257

Open
riddhibhagwat-db wants to merge 1 commit into
air-clifrom
air-run-remove-requirements-file
Open

AIR CLI Integration: remove requirements file path for config#6257
riddhibhagwat-db wants to merge 1 commit into
air-clifrom
air-run-remove-requirements-file

Conversation

@riddhibhagwat-db

Copy link
Copy Markdown
Contributor

Changes & Why

environment.dependencies now accepts only an inline list of packages. The string form (a path to a requirements.yaml file) is rejected at config load, now that inline deps are fully supported (#6077).

Removes the file-reading paths (readRequirementsDependencies, requirementsDoc, requirementsFile) and the file-vs-inline branching in run submit and convert-to-dabs; the dependencies union collapses to a plain list.

Tests

  • TestLoadRunConfig_PolymorphicFields: requirements.yaml fails at load with must be a list of packages
  • Acceptance rejection case: end-to-end proof the CLI rejects the file-path form with the actionable error message, captured verbatim in output.txt.
  • TestRunConfigDependencies: the inline list still decodes and is returned by inlineDependencies(); unset returns false.
  • TestLoadRunConfig_FullFeatured: a full config with an inline dependencies: list parses into Dependencies.{set, list} correctly.
  • TestBuildSubmitPayloadInlineDependencies: inline deps are carried on environments[].spec.dependencies in the submit payload (empty/nil omit the key).
  • Acceptance inline happy path: a real submit uploads only command.sh + training_config.yaml (no requirements.yaml) and the recorded runs/submit body carries the deps inline.
  • TestBuildArtifacts_ParametersButNoRequirements: inline deps are not written as an uploaded artifact.
  • TestEnvironmentConfigValidate: environment.version is valid only alongside inline deps (the old file-deps branch is gone).
  • Full-featured convert test: the convert-to-dabs path folds inline deps + version into the bundle environments[].spec, proving both consumers stay in lockstep on the inline-only path.

Manual Verification:

Rejected:
Screenshot 2026-08-12 at 9 51 21 AM

Accepted:
Screenshot 2026-08-12 at 9 51 29 AM

@riddhibhagwat-db riddhibhagwat-db changed the title Air run remove requirements file AIR CLI Integration: remove requirements file path for config Aug 12, 2026
@riddhibhagwat-db
riddhibhagwat-db force-pushed the air-run-remove-requirements-file branch from f79931a to 705d64f Compare August 12, 2026 17:54
@eng-dev-ecosystem-bot

eng-dev-ecosystem-bot commented Aug 12, 2026

Copy link
Copy Markdown
Collaborator

Integration test report

Commit: 7bdbed1

Run: 31816375563

Env 🟨​KNOWN 🔄​flaky 💚​RECOVERED 🙈​SKIP ✅​pass 🙈​skip Time
🟨​ aws linux 3 1 4 291 1105 7:37
🟨​ aws windows 3 1 4 293 1103 9:55
🟨​ azure linux 3 1 4 290 1105 10:41
🟨​ azure windows 3 2 1 4 290 1103 9:30
💚​ gcp linux 1 5 291 1105 7:50
💚​ gcp windows 1 5 293 1103 6:37
10 interesting tests: 4 SKIP, 3 KNOWN, 2 flaky, 1 RECOVERED
Test Name aws linux aws windows azure linux azure windows gcp linux gcp windows
💚​ TestAccept 💚​R 💚​R 💚​R 💚​R 💚​R 💚​R
🙈​ TestAccept/bundle/invariant/no_drift 🙈​S 🙈​S 🙈​S 🙈​S 🙈​S 🙈​S
🙈​ TestAccept/bundle/resources/vector_search_endpoints/drift/recreated_same_name 🙈​S 🙈​S 🙈​S 🙈​S 🙈​S 🙈​S
🙈​ TestAccept/bundle/resources/vector_search_indexes/recreate/embedding_dimension 🙈​S 🙈​S 🙈​S 🙈​S 🙈​S 🙈​S
🙈​ TestAccept/ssh/connection 🙈​S 🙈​S 🙈​S 🙈​S 🙈​S 🙈​S
🔄​ TestFsCpDirToDirWithOverwriteFlag ✅​p ✅​p ✅​p 🔄​f ✅​p ✅​p
🔄​ TestFsCpDirToDirWithOverwriteFlag/dbfs_to_uc-volumes ✅​p ✅​p ✅​p 🔄​f ✅​p ✅​p
🟨​ TestFetchRepositoryInfoAPI_FromRepo 🟨​K 🟨​K 🟨​K 🟨​K 🙈​S 🙈​S
🟨​ TestFetchRepositoryInfoAPI_FromRepo/root 🟨​K 🟨​K 🟨​K 🟨​K
🟨​ TestFetchRepositoryInfoAPI_FromRepo/subdir 🟨​K 🟨​K 🟨​K 🟨​K
Top 6 slowest tests (at least 2 minutes):
duration env testname
8:13 aws windows TestAccept
6:29 gcp windows TestAccept
5:56 azure windows TestAccept
2:58 gcp linux TestAccept
2:53 azure linux TestAccept
2:49 aws linux TestAccept

@vinchenzo-db vinchenzo-db left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

I think this is ok but please have Ben review this one

@ben-hansen-db ben-hansen-db left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Looks good but let's improve the wording there to be more precise and reference our docs or the help command for what a user should do. Don't mention what was supported previously specifically

Comment thread experimental/air/cmd/runconfig.go Outdated
default:
return errors.New("environment.dependencies must be a string path or a list of packages")
if node.Kind != yaml.SequenceNode {
return errors.New("environment.dependencies must be a list of packages; the requirements.yaml file path form is no longer supported — list the packages inline")

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Just say something like:

environment.dependences must be a list of packages or reference a requirements.txt [link to docs page]. A direct file reference is not supported.

don't mention this was supported previously

@riddhibhagwat-db
riddhibhagwat-db force-pushed the air-run-remove-requirements-file branch 2 times, most recently from ea90549 to 4bc6a14 Compare August 13, 2026 17:52
environment.dependencies now accepts only an inline list of packages.
The string form (a path to a requirements.yaml file) is rejected at
config load, now that inline deps are fully supported.

Removes the file-reading paths (readRequirementsDependencies,
requirementsDoc, requirementsFile) and the file-vs-inline branching in
run submit; the dependencies union collapses to a plain list.

Co-authored-by: Isaac
@riddhibhagwat-db
riddhibhagwat-db force-pushed the air-run-remove-requirements-file branch from 4bc6a14 to 7bdbed1 Compare August 14, 2026 06:59
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.

4 participants