fix(datasets): handle BlobTree datasets in status/download; pick e2e datasets by type - #54
Merged
Merged
Conversation
…datasets by type
Download URLs are per-file for BlobTree datasets — the server rejects a
whole-tree URL request with 400 "File path missing for BlobTree" — but the
CLI treated every dataset as a single blob, so both 'jh dataset status' and
'jh dataset download' failed with the raw server error on any BlobTree
dataset.
- 'dataset status' now reports BlobTree datasets without a download URL
- 'dataset download' fails fast with a clear message for BlobTree datasets
(whole-tree download support can come later)
- getDatasetByID extracted so status/download can branch on dataset type
The e2e tests inherited the failure: TestDatasetStatusFirst/DownloadFirst
took the *first* listed dataset, whatever its type, so the suite's color
depended on which dataset UUID sorted first on the instance (red every
night on nightly-juliahub since it was enabled there, green on plain
nightly). They now pick the first Blob-type dataset, and new
TestDataset{Status,Download}FirstBlobTree cover the BlobTree behaviour.
Fixes #53
krynju
approved these changes
Aug 18, 2026
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.
Fixes #53.
jh dataset statusandjh dataset downloadfailed on any BlobTree dataset with the raw server errorfailed to get download URL (status 400): "File path missing for BlobTree"— the server's presigned URLs are per-file for BlobTree; there is no whole-tree URL. This is what has kept thejh-cli-e2e-testsjob red onnightly-juliahubevery night since the suite was enabled there (JuliaComputing/JuliaHub#23516): the e2e dataset tests operate on the first listed dataset, and on that instance the first UUID happens to be a BlobTree (on plain nightly it's a Blob, so it passes — a pure dataset-UUID lottery).CLI
dataset statuson a BlobTree now succeeds, reporting the dataset/version/type without a download URL.dataset downloadon a BlobTree now fails fast with a clear message (… is a BlobTree (a file tree): whole-tree download is not supported yet, and download URLs are per-file) instead of surfacing the server 400. Whole-tree download support can come later.getDatasetByIDextracted (fromgetDatasetVersions) so status/download can branch on the dataset type.E2E tests
TestDatasetStatusFirst/TestDatasetDownloadFirstnow pick the first Blob-type dataset via a newfirstIDOfTypehelper, so the suite's color no longer depends on which type sorts first on the instance.TestDatasetStatusFirstBlobTree/TestDatasetDownloadFirstBlobTreecover the BlobTree behaviour (skipped on instances with no BlobTree datasets).TestFirstIDOfTypepins the listing-parse behaviour, in particular that"Blob"does not match aBlobTreeentry.Verification
go build,go vet(with and without thee2etag),gofmt, andgo test ./...are clean; the e2e suite compiles and skips cleanly without credentials, andTestFirstIDOfTypepasses. The live BlobTree paths are shape-verified against tonight's nightly evidence (JuliaHub run 31986639356) rather than run against an instance — the next nightly run ofjh-cli-e2e-testson both installs is the live verification.