Repository navigation
Conversation
Request: two blocks use fallbacks gpu->cpu (exec fallbacks spec, product PR #38). A GPU run that gets no GPU in time (GPUMissed) runs again with the CPU allocation only. Needs a workflow-tengo release with .fallbacks().
Output of pnpm upgrade-sdk (structure refresh + fresh lockfile), needed because the latest SDK and tooling are required to build and publish the block. Kept separate from the model migration so the automated diff can be reviewed on its own.
The latest @platforma-sdk/model no longer exports BlockModel, so the block no longer builds on V1. Move the model to BlockModelV3 and add the mandatory kind (empty init-params contract). Block data keeps the same fields as the old args, and upgradeLegacy carries them over so existing projects keep their settings. The UI switches to defineAppV3 and app.model.data; behaviour and outputs are unchanged. Workflow is untouched.
> PRs opened and checks are green (skip Greptile, we're out of tokens) The SDK upgrade switched gpu-info's build to block-tools; changeset coverage requires a bump for it.
Contributor
Author
|
Tested on staging.hz.platforma.bio (pl 4.7.0-193-2332-merge, GPU schedule timeout 1m) with workflow-tengo from milaboratory/platforma#1948, via the desktop MCP:
Blocked on release: needs a |
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.
When a GPU run gets no GPU node in time (
GPUMissed), the same command runs again with the CPU allocation only, through the new exec.fallbacks()API (spec; SDK milaboratory/platforma#1948, backend milaboratory/pl#2332).Most critical files
workflow/src/main.tpl.tengo: the GPU builder gets.fallbacks({ GPUMissed: [{ name: "cpuOnly", builder: <CPU-only copy> }] })when a GPU is requestedmodel/src/index.ts,model/src/dataModel.ts,model/src/types.ts,ui/src/app.ts,ui/src/pages/GpuInfoPage.vue: migration toBlockModelV3(the latest model SDK has noBlockModel); old projects keep their five settings throughupgradeLegacykind/: the block kind, with no init paramspnpm upgrade-sdk), required by CI'srequire-latestpreflight.changeset/gpu-cpu-fallback.md,.changeset/block-model-v3.mdNew resource structure
The GPU attempt fails with

GPUMissed, and thecpuOnlyattempt runs inside the same exec render. The stream panel shows both attempts.Status
Needs a
@platforma-sdk/workflow-tengorelease with.fallbacks(). The catalog bump follows once it is published; until then an older SDK fails the render with an unknown builder method when a GPU run is requested.