-
Notifications
You must be signed in to change notification settings - Fork 206
Package a local directory code_source_path for AI Runtime tasks #6110
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Open
vinchenzo-db
wants to merge
15
commits into
main
Choose a base branch
from
air-code-source-dir-rebase
base: main
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
+1,592
−3
Open
Changes from all commits
Commits
Show all changes
15 commits
Select commit
Hold shift + click to select a range
470ac25
Package a local directory code_source_path for AI Runtime tasks
ben-hansen-db 2acec81
aicode: only claim a local *directory* code_source_path, skip files
vinchenzo-db ef37d80
aicode: address review — drop test-only filer field, tighten helpers
vinchenzo-db b7a1a16
acceptance/ai_runtime: assert snapshot contents, filtering, and cache
vinchenzo-db a164d70
acceptance/ai_runtime: fix Git Bash path conversion on Windows
vinchenzo-db b0ee837
acceptance/ai_runtime: ruff-format list_code_snapshot.py
vinchenzo-db 3b86ff5
aicode: package snapshot into the bundle, not a home-dir cache
vinchenzo-db d89922b
aicode: overlay the code snapshot instead of writing it to disk
vinchenzo-db e306181
Merge branch 'main' into air-code-source-dir-rebase
vinchenzo-db 4e4a185
aicode: address review — validation guards + unfilterable snapshot dir
vinchenzo-db 2fc2844
aicode: drop SynthesizeRequirements; deps ride on environments spec
vinchenzo-db ac23267
aicode: guard reserved snapshot dir; rename; broaden acceptance
vinchenzo-db 91e1069
acceptance/ai_runtime: literal no-op plan + empty code_source coverage
vinchenzo-db 80d10b0
aicode: scope the .air_snapshots force-include to AI Runtime bundles
vinchenzo-db 2d06955
aicode: fix changelog fragment (no requirements.yaml; in-bundle upload)
vinchenzo-db File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
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
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1 @@ | ||
| An `ai_runtime_task.code_source_path` that points at a local directory is now packaged into a tarball during `bundle deploy` (honoring `.gitignore` and `sync.include`/`sync.exclude`, content-addressed so unchanged code skips re-upload), placed in the bundle and uploaded by bundle file sync, and rewritten to the uploaded workspace path. Pip dependencies are taken from the job's serverless `environments` spec. Complements the existing pre-built-tarball path by letting users point at a source directory directly. |
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
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,69 @@ | ||
| #!/usr/bin/env python3 | ||
| """ | ||
| List the entries of each AI Runtime code snapshot tarball uploaded during deploy. | ||
|
|
||
| Reads out.requests.txt, takes every ai_runtime_task.code_source_path from the | ||
| jobs/create request, exports each workspace archive via the CLI, and prints its | ||
| sorted tar entries (grouped per archive). Used to assert which local files each | ||
| snapshot includes (gitignore / sync rules), across one or more tasks. | ||
| """ | ||
|
|
||
| import gzip | ||
| import io | ||
| import json | ||
| import os | ||
| import subprocess | ||
| import sys | ||
| import tarfile | ||
|
|
||
| with open("out.requests.txt") as f: | ||
| text = f.read() | ||
|
|
||
| # out.requests.txt is a stream of concatenated (pretty-printed) JSON objects. | ||
| decoder = json.JSONDecoder() | ||
| requests = [] | ||
| pos = 0 | ||
| while pos < len(text): | ||
| while pos < len(text) and text[pos].isspace(): | ||
| pos += 1 | ||
| if pos >= len(text): | ||
| break | ||
| obj, pos = decoder.raw_decode(text, pos) | ||
| requests.append(obj) | ||
|
|
||
| # Collect every task's code_source_path from the jobs/create request(s). | ||
| code_source_paths = [] | ||
| for req in requests: | ||
| body = req.get("body") | ||
| if isinstance(body, dict) and req.get("path", "").endswith("/jobs/create"): | ||
| for task in body.get("tasks", []): | ||
| art = task.get("ai_runtime_task") | ||
| if art and art.get("code_source_path"): | ||
| code_source_paths.append(art["code_source_path"]) | ||
|
|
||
| if not code_source_paths: | ||
| sys.exit("no jobs/create request with code_source_path in out.requests.txt") | ||
|
|
||
| cli = os.environ["CLI"] | ||
| # MSYS_NO_PATHCONV stops Git Bash on Windows from rewriting the /Workspace path. | ||
| env = {**os.environ, "MSYS_NO_PATHCONV": "1"} | ||
|
|
||
| # code_source_path is an absolute workspace path (/Workspace/Users/.../files/...). | ||
| # Sort so multi-task output is deterministic. | ||
| for remote in sorted(code_source_paths): | ||
| local = "code_snapshot.tar.gz" | ||
| subprocess.run( | ||
| [cli, "workspace", "export", remote, "--format", "AUTO", "--file", local], | ||
| check=True, | ||
| env=env, | ||
| ) | ||
| with open(local, "rb") as f: | ||
| data = gzip.decompress(f.read()) | ||
| os.remove(local) | ||
|
|
||
| # Print the archive's sync-relative name (hash tokenized by test.toml repls) so | ||
| # multi-archive output is legible. | ||
| print(f"# {remote.split('/files/', 1)[-1]}") | ||
| with tarfile.open(fileobj=io.BytesIO(data)) as tar: | ||
| for name in sorted(tar.getnames()): | ||
| print(name) |
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
22 changes: 22 additions & 0 deletions
22
acceptance/bundle/ai_runtime_task/empty_code_source/databricks.yml
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
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,22 @@ | ||
| bundle: | ||
| name: ai-runtime-empty | ||
|
|
||
| resources: | ||
| jobs: | ||
| train: | ||
| name: "[${bundle.target}] AI Runtime training" | ||
| tasks: | ||
| - task_key: train | ||
| environment_key: default | ||
| ai_runtime_task: | ||
| experiment: my-training | ||
| code_source_path: ./src | ||
| deployments: | ||
| - command_path: src/command.sh | ||
| compute: | ||
| accelerator_type: GPU_8xH100 | ||
| accelerator_count: 8 | ||
| environments: | ||
| - environment_key: default | ||
| spec: | ||
| environment_version: "5" |
3 changes: 3 additions & 0 deletions
3
acceptance/bundle/ai_runtime_task/empty_code_source/out.test.toml
Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.
Oops, something went wrong.
6 changes: 6 additions & 0 deletions
6
acceptance/bundle/ai_runtime_task/empty_code_source/output.txt
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
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,6 @@ | ||
|
|
||
| >>> errcode [CLI] bundle deploy | ||
| Error: code_source_path "./src" has no files to package (all excluded by .gitignore or sync.exclude, or the directory is empty) | ||
|
|
||
|
|
||
| Exit code: 1 |
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
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,4 @@ | ||
| # When code_source_path resolves to a directory whose contents are all filtered out | ||
| # (here: a src/.gitignore of "*"), there is nothing to package. Deploy must fail | ||
| # with an actionable message rather than shipping an empty code archive. | ||
| trace errcode $CLI bundle deploy |
1 change: 1 addition & 0 deletions
1
acceptance/bundle/ai_runtime_task/empty_code_source/src/.gitignore
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
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1 @@ | ||
| * |
2 changes: 2 additions & 0 deletions
2
acceptance/bundle/ai_runtime_task/empty_code_source/src/command.sh
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
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,2 @@ | ||
| cd $CODE_SOURCE_PATH | ||
| python train.py |
1 change: 1 addition & 0 deletions
1
acceptance/bundle/ai_runtime_task/empty_code_source/src/train.py
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
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1 @@ | ||
| print("x") |
43 changes: 43 additions & 0 deletions
43
acceptance/bundle/ai_runtime_task/local_code_source/databricks.yml
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
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,43 @@ | ||
| bundle: | ||
| name: ai-runtime-test | ||
|
|
||
| sync: | ||
| # *.log excluded; data/*.bin force-included despite .gitignore. | ||
| exclude: | ||
| - "**/*.log" | ||
|
vinchenzo-db marked this conversation as resolved.
|
||
| include: | ||
| - src/data/*.bin | ||
|
|
||
| resources: | ||
| jobs: | ||
| train: | ||
| name: "[${bundle.target}] AI Runtime training" | ||
| tasks: | ||
|
vinchenzo-db marked this conversation as resolved.
|
||
| # Two AI Runtime tasks with distinct local code dirs: each is packaged into | ||
| # its own content-addressed tarball, both under the repo root's .air_snapshots. | ||
| - task_key: train | ||
| environment_key: default | ||
| ai_runtime_task: | ||
| experiment: my-training | ||
| code_source_path: ./src | ||
| deployments: | ||
| - command_path: src/command.sh | ||
| compute: | ||
| accelerator_type: GPU_8xH100 | ||
| accelerator_count: 8 | ||
| - task_key: train2 | ||
| environment_key: default | ||
| ai_runtime_task: | ||
| experiment: my-training-2 | ||
| code_source_path: ./src2 | ||
| deployments: | ||
| - command_path: src2/command.sh | ||
| compute: | ||
| accelerator_type: GPU_8xH100 | ||
| accelerator_count: 8 | ||
| environments: | ||
| - environment_key: default | ||
| spec: | ||
| environment_version: "5" | ||
| dependencies: | ||
| - torch>=2.0.0 | ||
3 changes: 3 additions & 0 deletions
3
acceptance/bundle/ai_runtime_task/local_code_source/out.test.toml
Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.
Oops, something went wrong.
135 changes: 135 additions & 0 deletions
135
acceptance/bundle/ai_runtime_task/local_code_source/output.txt
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
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,135 @@ | ||
|
|
||
| === deploy packages and uploads the local code sources | ||
|
|
||
| >>> [CLI] bundle deploy | ||
| Uploading bundle files to /Workspace/Users/[USERNAME]/.bundle/ai-runtime-test/default/files... | ||
| Deploying resources... | ||
| Updating deployment state... | ||
| Deployment complete! | ||
|
|
||
| === each task's tarball holds only synced files (both under the repo root .air_snapshots) | ||
|
|
||
| >>> list_code_snapshot.py | ||
| # .air_snapshots/[SNAPSHOT].tar.gz | ||
| src2/command.sh | ||
| src2/train.py | ||
| # .air_snapshots/[SNAPSHOT].tar.gz | ||
| src/.gitignore | ||
| src/command.sh | ||
| src/data/model.bin | ||
| src/train.py | ||
|
|
||
| === both code_source_paths point into the bundle .air_snapshots, command_paths rewritten, deps on environments spec | ||
|
|
||
| >>> print_requests.py --sort --del-body raw_body //.air_snapshots/ //jobs/create | ||
| { | ||
| "method": "POST", | ||
| "path": "/api/2.0/workspace-files/import-file/Workspace/Users/[USERNAME]/.bundle/ai-runtime-test/default/files/.air_snapshots/[SNAPSHOT].tar.gz", | ||
| "q": { | ||
| "overwrite": "true" | ||
| } | ||
| } | ||
| { | ||
| "method": "POST", | ||
| "path": "/api/2.0/workspace-files/import-file/Workspace/Users/[USERNAME]/.bundle/ai-runtime-test/default/files/.air_snapshots/[SNAPSHOT].tar.gz", | ||
| "q": { | ||
| "overwrite": "true" | ||
| } | ||
| } | ||
| { | ||
| "method": "POST", | ||
| "path": "/api/2.2/jobs/create", | ||
| "body": { | ||
| "deployment": { | ||
| "kind": "BUNDLE", | ||
| "metadata_file_path": "/Workspace/Users/[USERNAME]/.bundle/ai-runtime-test/default/state/metadata.json" | ||
| }, | ||
| "edit_mode": "UI_LOCKED", | ||
| "environments": [ | ||
| { | ||
| "environment_key": "default", | ||
| "spec": { | ||
| "dependencies": [ | ||
| "torch>=2.0.0" | ||
| ], | ||
| "environment_version": "5" | ||
| } | ||
| } | ||
| ], | ||
| "format": "MULTI_TASK", | ||
| "max_concurrent_runs": 1, | ||
| "name": "[default] AI Runtime training", | ||
| "queue": { | ||
| "enabled": true | ||
| }, | ||
| "tasks": [ | ||
| { | ||
| "ai_runtime_task": { | ||
| "code_source_path": "/Workspace/Users/[USERNAME]/.bundle/ai-runtime-test/default/files/.air_snapshots/[SNAPSHOT].tar.gz", | ||
| "deployments": [ | ||
| { | ||
| "command_path": "/Workspace/Users/[USERNAME]/.bundle/ai-runtime-test/default/files/src/command.sh", | ||
| "compute": { | ||
| "accelerator_count": 8, | ||
| "accelerator_type": "GPU_8xH100" | ||
| } | ||
| } | ||
| ], | ||
| "experiment": "my-training" | ||
| }, | ||
| "environment_key": "default", | ||
| "task_key": "train" | ||
| }, | ||
| { | ||
| "ai_runtime_task": { | ||
| "code_source_path": "/Workspace/Users/[USERNAME]/.bundle/ai-runtime-test/default/files/.air_snapshots/[SNAPSHOT].tar.gz", | ||
| "deployments": [ | ||
| { | ||
| "command_path": "/Workspace/Users/[USERNAME]/.bundle/ai-runtime-test/default/files/src2/command.sh", | ||
| "compute": { | ||
| "accelerator_count": 8, | ||
| "accelerator_type": "GPU_8xH100" | ||
| } | ||
| } | ||
| ], | ||
| "experiment": "my-training-2" | ||
| }, | ||
| "environment_key": "default", | ||
| "task_key": "train2" | ||
| } | ||
| ] | ||
| } | ||
| } | ||
|
|
||
| === re-planning unchanged code is a no-op (no changes) | ||
|
|
||
| >>> [CLI] bundle plan | ||
| Plan: 0 to add, 0 to change, 0 to delete, 1 unchanged | ||
|
|
||
| === editing a file changes the snapshot hash (content-addressed name changes) | ||
|
|
||
| >>> [CLI] bundle deploy | ||
| Uploading bundle files to /Workspace/Users/[USERNAME]/.bundle/ai-runtime-test/default/files... | ||
| Deploying resources... | ||
| Updating deployment state... | ||
| Deployment complete! | ||
|
|
||
| >>> print_requests.py --sort --del-body raw_body //.air_snapshots/ | ||
| { | ||
| "method": "POST", | ||
| "path": "/api/2.0/workspace-files/import-file/Workspace/Users/[USERNAME]/.bundle/ai-runtime-test/default/files/.air_snapshots/[SNAPSHOT].tar.gz", | ||
| "q": { | ||
| "overwrite": "true" | ||
| } | ||
| } | ||
|
|
||
| === destroy removes the deployed bundle (including the synced snapshots) | ||
|
|
||
| >>> [CLI] bundle destroy --auto-approve | ||
| The following resources will be deleted: | ||
| delete resources.jobs.train | ||
|
|
||
| All files and directories at the following location will be deleted: /Workspace/Users/[USERNAME]/.bundle/ai-runtime-test/default | ||
|
|
||
| Deleting files... | ||
| Destroy complete! |
29 changes: 29 additions & 0 deletions
29
acceptance/bundle/ai_runtime_task/local_code_source/script
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
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,29 @@ | ||
| # Two AI Runtime tasks each with a local directory code_source_path. Each is | ||
| # packaged into a content-addressed tarball written into the bundle | ||
| # (.air_snapshots/, at the repo root) and uploaded by normal bundle file sync; | ||
| # code_source_path/command_path are rewritten. Pip deps ride on the job's | ||
| # environments[].spec.dependencies (no requirements.yaml is synthesized). | ||
|
|
||
| title "deploy packages and uploads the local code sources\n" | ||
| trace $CLI bundle deploy | ||
|
|
||
| title "each task's tarball holds only synced files (both under the repo root .air_snapshots)\n" | ||
| trace list_code_snapshot.py | ||
|
|
||
| title "both code_source_paths point into the bundle .air_snapshots, command_paths rewritten, deps on environments spec\n" | ||
| # --del-body raw_body drops the binary tarball upload body (kept readable). Filters | ||
| # use a leading // so Git Bash on Windows does not path-convert them. --keep is not | ||
| # passed, so print_requests.py consumes out.requests.txt. | ||
| trace print_requests.py --sort --del-body raw_body '//.air_snapshots/' '//jobs/create' | ||
|
|
||
| title "re-planning unchanged code is a no-op (no changes)\n" | ||
| trace $CLI bundle plan | ||
|
|
||
| title "editing a file changes the snapshot hash (content-addressed name changes)\n" | ||
| update_file.py src/train.py 'print("training")' 'print("training v2")' | ||
| trace $CLI bundle deploy | ||
|
vinchenzo-db marked this conversation as resolved.
|
||
| trace print_requests.py --sort --del-body raw_body '//.air_snapshots/' | ||
|
|
||
| title "destroy removes the deployed bundle (including the synced snapshots)\n" | ||
| trace $CLI bundle destroy --auto-approve | ||
| rm out.requests.txt | ||
2 changes: 2 additions & 0 deletions
2
acceptance/bundle/ai_runtime_task/local_code_source/src/.gitignore
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
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,2 @@ | ||
| ignored_by_git.txt | ||
|
vinchenzo-db marked this conversation as resolved.
|
||
| data/ | ||
2 changes: 2 additions & 0 deletions
2
acceptance/bundle/ai_runtime_task/local_code_source/src/command.sh
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
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,2 @@ | ||
| cd $CODE_SOURCE_PATH | ||
| python train.py |
1 change: 1 addition & 0 deletions
1
acceptance/bundle/ai_runtime_task/local_code_source/src/data/model.bin
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
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1 @@ | ||
| weights |
1 change: 1 addition & 0 deletions
1
acceptance/bundle/ai_runtime_task/local_code_source/src/data/notes.txt
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
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1 @@ | ||
| scratch |
1 change: 1 addition & 0 deletions
1
acceptance/bundle/ai_runtime_task/local_code_source/src/debug.log
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
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1 @@ | ||
| log |
1 change: 1 addition & 0 deletions
1
acceptance/bundle/ai_runtime_task/local_code_source/src/ignored_by_git.txt
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
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1 @@ | ||
| kept |
1 change: 1 addition & 0 deletions
1
acceptance/bundle/ai_runtime_task/local_code_source/src/train.py
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
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1 @@ | ||
| print("training") |
2 changes: 2 additions & 0 deletions
2
acceptance/bundle/ai_runtime_task/local_code_source/src2/command.sh
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
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,2 @@ | ||
| cd $CODE_SOURCE_PATH | ||
| python train.py |
1 change: 1 addition & 0 deletions
1
acceptance/bundle/ai_runtime_task/local_code_source/src2/train.py
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
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1 @@ | ||
| print("train2") |
12 changes: 12 additions & 0 deletions
12
acceptance/bundle/ai_runtime_task/local_code_source/test.toml
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
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,12 @@ | ||
| RecordRequests = true | ||
|
|
||
| Ignore = [ | ||
| '.databricks', | ||
| ] | ||
|
|
||
| # The archive is content-addressed: <dir>_<sha256[:16]>.tar.gz. The hash is stable | ||
| # given the committed inputs, but collapse it to a token so the test does not pin a | ||
| # specific digest. Matches both src_ and src2_ archives. | ||
| [[Repls]] | ||
| Old = '(src2?)_[0-9a-f]{16}\.tar\.gz' | ||
| New = '$1_[SNAPSHOT].tar.gz' |
Oops, something went wrong.
Oops, something went wrong.
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.
Uh oh!
There was an error while loading. Please reload this page.