Repository navigation
fix(stage): fall back to the installed library version for Code.version - #25
Merged
Merged
Conversation
CODE_VERSION was introduced as a contract for the pinned capsule commit, on the assumption that main.nf could export it. It cannot: Code Ocean generates main.nf from the pipeline UI -- it carries a hash:sha256 marker -- and exports only CO_CAPSULE_ID, CO_CPUS and CO_MEMORY. The pinned commit is used in a git checkout and then the repo is deleted, so the running code never sees it. Code.version now resolves CODE_VERSION, then the installed version of exaspim-swc-processing, then None. For capsules that are thin glue over the library, the library version is what actually determines behaviour, and AIND accepts a version in place of a commit hash.
5 tasks
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.
CODE_VERSIONwas introduced as the contract for the pinned capsule commit, assumingmain.nfcould export it. It cannot — Code Ocean generatesmain.nffrom the pipeline UI (it carries ahash:sha256marker) and exports onlyCO_CAPSULE_ID,CO_CPUS,CO_MEMORY. The pinned commit is used in agit checkoutand the repo is then deleted, so the running code never sees it.Code.versionnow resolves:CODE_VERSION-> installed version ofexaspim-swc-processing->None.For capsules that are thin glue over the library, the library version is what actually determines behaviour, and AIND accepts a version in place of a commit hash. The hand-written
pipeline/nextflow.configcan still setCODE_VERSIONglobally if a single value per run is wanted.Tests: 111 passed, 100% coverage, ruff and interrogate clean.