Commit 04ae1c0
fix(deployment): harden offline bundle import for move-to-another-computer
Audit of the Deployment tab's move-to-another-computer workflow surfaced gaps
on the import side that only bite at first launch on the field machine. Harden
import_bundle (warn-only where import-first-point-later is valid; hard-fail only
on a genuinely broken bundle):
- Empty/placeholder Kraken2 DB: flag kraken_db_unset + warn instead of silently
leaving the ${KRAKEN_DB} placeholder (matched as a substring since ConfigLoader
normalises it to <cwd>/${KRAKEN_DB}).
- Missing main.nf in a bundled pipeline: hard-fail the import (was a warning).
- Empty Nextflow plugins dir: warn (would otherwise fall back to the online
registry and break offline).
- Re-verify checksums AFTER the copy to home (excluding the templated/mutated
genome_metadata.json and config.yaml) to catch a truncated copy.
- Record a Nextflow version floor (26.04.0) in the manifest and warn on import
when the field machine is older.
- Path-aware genome_metadata templating on export: report any path outside the
data home instead of silently leaking it.
UI: the import callback surfaces kraken_db_unset / plugins_empty as a prominent
"Action required" row so the operator does not read "Offline mode activated" as
"ready to run".
Docs: add a step-by-step "Move Nanometa Live to another computer" section to
OPERATOR_GUIDE.md and document nxf_conda_cachedir / nxf_plugins_dir / the
import-sets-offline_mode behaviour in configuration.md.
Tests: new test_bundle_roundtrip.py (real export -> import into a fresh home,
asserting config rebasing / offline_mode / restored data / re-templated
metadata) plus per-finding classes in test_bundle_manager.py. Full suite 2618
passed; a live same-machine round-trip verified end to end.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>1 parent 1100e0d commit 04ae1c0
6 files changed
Lines changed: 629 additions & 12 deletions
File tree
- docs
- nanometa_live
- app/tabs
- core/workflow
- tests
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
124 | 124 | | |
125 | 125 | | |
126 | 126 | | |
| 127 | + | |
| 128 | + | |
| 129 | + | |
| 130 | + | |
| 131 | + | |
| 132 | + | |
| 133 | + | |
| 134 | + | |
| 135 | + | |
| 136 | + | |
| 137 | + | |
| 138 | + | |
| 139 | + | |
| 140 | + | |
| 141 | + | |
| 142 | + | |
| 143 | + | |
| 144 | + | |
| 145 | + | |
| 146 | + | |
| 147 | + | |
| 148 | + | |
| 149 | + | |
| 150 | + | |
| 151 | + | |
| 152 | + | |
| 153 | + | |
| 154 | + | |
| 155 | + | |
| 156 | + | |
| 157 | + | |
| 158 | + | |
| 159 | + | |
| 160 | + | |
| 161 | + | |
| 162 | + | |
| 163 | + | |
| 164 | + | |
| 165 | + | |
| 166 | + | |
| 167 | + | |
| 168 | + | |
| 169 | + | |
| 170 | + | |
| 171 | + | |
| 172 | + | |
| 173 | + | |
| 174 | + | |
| 175 | + | |
| 176 | + | |
| 177 | + | |
| 178 | + | |
| 179 | + | |
| 180 | + | |
| 181 | + | |
| 182 | + | |
| 183 | + | |
| 184 | + | |
| 185 | + | |
| 186 | + | |
| 187 | + | |
| 188 | + | |
| 189 | + | |
| 190 | + | |
| 191 | + | |
| 192 | + | |
| 193 | + | |
| 194 | + | |
127 | 195 | | |
128 | 196 | | |
129 | 197 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
31 | 31 | | |
32 | 32 | | |
33 | 33 | | |
34 | | - | |
| 34 | + | |
35 | 35 | | |
36 | 36 | | |
37 | 37 | | |
| |||
48 | 48 | | |
49 | 49 | | |
50 | 50 | | |
| 51 | + | |
| 52 | + | |
51 | 53 | | |
52 | 54 | | |
53 | 55 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
763 | 763 | | |
764 | 764 | | |
765 | 765 | | |
| 766 | + | |
| 767 | + | |
| 768 | + | |
| 769 | + | |
| 770 | + | |
| 771 | + | |
| 772 | + | |
| 773 | + | |
| 774 | + | |
| 775 | + | |
| 776 | + | |
| 777 | + | |
| 778 | + | |
| 779 | + | |
| 780 | + | |
| 781 | + | |
| 782 | + | |
| 783 | + | |
| 784 | + | |
| 785 | + | |
| 786 | + | |
| 787 | + | |
| 788 | + | |
| 789 | + | |
766 | 790 | | |
767 | 791 | | |
768 | 792 | | |
| |||
0 commit comments