acc: run bundle/deploy/mlops-stacks locally#5829
Open
radakam wants to merge 9 commits into
Open
Conversation
Collaborator
Integration test reportCommit: e6bb97d
6 interesting tests: 4 SKIP, 1 RECOVERED, 1 flaky
Top 5 slowest tests (at least 2 minutes):
|
Flip bundle/deploy/mlops-stacks to Local = true so it runs against the local testserver in addition to cloud. Local runs cannot git-clone mlops-stacks from GitHub, so vendor a pinned copy of the template under acceptance/bundle/deploy/mlops-stacks/template/ and use it when CLOUD_ENV is unset. A test.toml Repl normalizes the init command in output so local and cloud golden files stay unified.
The offline copy vendored for the local run only needs the files required to render this test's config and satisfy its assertions: the template machinery (schema, library, run_validations, update_layout), the asserted root README, databricks.yml, the three included resource YAMLs, and the four referenced notebooks (BatchInference, Train, ModelValidation, ModelDeployment). Drop the remaining 112 files (docs, images, CICD workflows, tests, feature-store/MLflow-recipe/monitoring variants, binary parquet fixtures). They are either FS/recipe-gated (never rendered for this config) or synced but unreferenced, so removing them leaves output.txt byte-identical and the test passing on both engines. The cloud run is unaffected; it still clones mlops-stacks from GitHub.
…-stacks template
The vendored MLOps Stacks template contained a directory named using a
backtick-quoted named-template invocation, which is an illegal Go module
file path (breaking TestFilePath and module packaging repo-wide). Rename
it to {{.input_project_name}}; for this test the project name is always
lowercase-alphanumeric, so the alphanumeric_underscore transform is a
no-op and rendered output is unchanged.
Also exempt the vendored template from the whitespace linter via
.wsignore, matching the existing "Developed elsewhere" convention, so
upstream files are kept as-is.
cc3d0b3 to
456aec7
Compare
On Windows $TESTDIR expands with backslash separators, so the local template path was rendered as ...\mlops-stacks/template and the repl that maps it to the cloud template name "mlops-stacks" did not match, failing the acceptance test on Windows. Match either separator before "mlops-stacks".
Contributor
Approval status: pending
|
denik
reviewed
Jul 6, 2026
denik
left a comment
Contributor
There was a problem hiding this comment.
can we add Taskfile entry that upgrades mlops repo to the latest from github?
Init from the vendored template on both local and cloud runs instead of cloning mlops-stacks from GitHub on cloud. This keeps the two runs on the same input, so a failure points at either the template or the cloud env, not an ambiguous mix of both.
Add `task update-mlops-stacks-template`, backed by tools/update_mlops_stacks_template.py, to upgrade the vendored template to the latest upstream commit. It refreshes only the currently-vendored files (preserving the earlier pruning), undoes the illegal-Go-module-path directory rename when mapping vendored paths back to upstream, and records the new commit in template.REVISION.
Condense the update tool's docstring and the Windows-separator repl comment to state the reason without the extra prose.
The name already says what it does; keep only the non-obvious "why" comments.
This reverts commit ea16f30; keep the docstring.
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.
Summary
bundle/deploy/mlops-stackstoLocal = trueso it runs against the local testserver in addition to cloud1c87ae24, tracked intemplate.REVISION) for local runs, sincebundle init mlops-stacksrequires a GitHub clone that local acceptance tests cannot reach. The vendored tree is pruned to only the files the test exercisesCLOUD_ENVis unset; cloud runs still clone from GitHub. Atest.tomlRepl rewritesbundle init .*/mlops-stacks/templatetobundle init mlops-stacksso local and cloud golden output stays unified.