From what I can tell, our usage of this is a bit of a mishmash at the moment.
IIRC we started trying to unify the structure of this directory across packages by putting coverage output in the same location across languages, etc. I am wondering if it might be better have each package (go, js, docker, etc) use a fixed subdirectory (./aftifacts/go, etc).
Perhaps even within that we could adopt a POSIX-esque directory structure. We've sort-of-kinda-maybe already done this in a few places. For example:
./artifacts/protobuf/bin <-- install protoc here (I think this is already the location)
./artifacts/go/bin <-- install protoc-gen-go and other go-specific tools here
./artifacts/<whatever>/etc
./artifacts/<whatever>/var <-- build logs, coverage reports, etc
The upshot of this is that we can be confident that two packages wont interfere with each other, and also automatically set PATH within the makefiles.
From what I can tell, our usage of this is a bit of a mishmash at the moment.
IIRC we started trying to unify the structure of this directory across packages by putting coverage output in the same location across languages, etc. I am wondering if it might be better have each package (go, js, docker, etc) use a fixed subdirectory (
./aftifacts/go, etc).Perhaps even within that we could adopt a POSIX-esque directory structure. We've sort-of-kinda-maybe already done this in a few places. For example:
./artifacts/protobuf/bin<-- installprotochere (I think this is already the location)./artifacts/go/bin<-- installprotoc-gen-goand other go-specific tools here./artifacts/<whatever>/etc./artifacts/<whatever>/var<-- build logs, coverage reports, etcThe upshot of this is that we can be confident that two packages wont interfere with each other, and also automatically set
PATHwithin the makefiles.