Skip to content

Resolve a single-version app spec without application_version - #605

Draft
leoschwarz wants to merge 1 commit into
feat/app-level-submitter-paramsfrom
feat/single-version-app-spec-default
Draft

Resolve a single-version app spec without application_version#605
leoschwarz wants to merge 1 commit into
feat/app-level-submitter-paramsfrom
feat/single-version-app-spec-default

Conversation

@leoschwarz

Copy link
Copy Markdown
Member
  • Resolve an app spec that defines exactly one version without the workunit's application_version parameter, so an app that never had the parameter works unchanged. An explicitly named version is still taken literally, so a single-version spec asked for an undefined version resolves to nothing rather than running the one it has.
  • Stacked on Let an app version declare its own sbatch parameters #584 for AppSpec.for_parameters; the base retargets to main once that merges.
  • Revisits closed issue Default version logic #236, which rejected a default-version heuristic on reproducibility grounds. That argument holds when several versions exist and one is chosen for you; with a single version there is nothing to choose.

…ersion

An app spec that defines exactly one version leaves nothing to choose, so a
workunit without an application_version parameter now resolves to that version.
This is what makes an app that never had the parameter work unchanged.

Issue #236 was closed because a default version reduces reproducibility, and that
holds for a heuristic among several versions: which one you get changes as the
spec grows. With one version the outcome set is {that version, hard error}, never
a different version silently -- an explicitly named version is still taken
literally, so a single-version spec asked for 9.9.9 resolves to nothing.

The residual hole, worth knowing: replacing the one version in place makes a
re-run resolve to the new one. That is the same class as editing a named
version's commands in place, which already breaks reproducibility today.
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.

1 participant