CI: job names cannot have slashes in them
avsm opened this issue · 7 comments
Building a Term name with a forward slash fails dynamically when it runs through DataKitCI:
DataKitCI: internal error, uncaught exception:
(Invalid_argument "'/' in path step \"2: Revdeps/Compilers\"")
I guess that's correct... the bridge expects the term name to be a directory name, so it can't contain a slash. I don't know if there's some escaping mechanism - @samoht?
Where does this name appear on the filesystem? The bridge support nested build status.
Hmm, good point, but I don't think Anil wanted a "Compilers" status in a "2: Revdeps" directory, right? We could interpret status names as paths if desired, though.
I think in this case the current behaviour is correct - test names should not contain slashes (though maybe with a better error message).
@avsm: what do want to do about this? We could allow nested statuses, but I don't think that's what you want here. Otherwise, I think the error is correct: a GitHub status shouldn't use /
as part of the name because it's the directory separator character.
I'm happy to disallow these, but would prefer a slightly better error. Would it be possible to generate something more friendly earlier when the Term is constructed?
The current error is:
Fatal error: exception (Invalid_argument
"Bad path ci/datakit/my/test: '/' in path step \"my/test\"")
If it needs further improvement, it's not very clear where to fix this. The CI itself doesn't know that the context is supposed to be a valid Datakit_path
- it uses Datakit_github_conv
, which just asks for a string list
.
Closing this as it's a lot of work to fix, for very little gain.