aboutsummaryrefslogtreecommitdiffhomepage
path: root/internal/pkg/pkg.go
AgeCommit message (Collapse)Author
2026-01-05internal/pkg: improve artifact interfaceOphestra
This moves all cache I/O code to Cache. Artifact now only contains methods for constructing their actual contents. Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-01-04internal/pkg: create symlinks for filesOphestra
These are much easier to handle than hard links and should be just as transparent for this use case. Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-01-04internal/pkg: override working directory permsOphestra
This must be writable to enable renaming, and the final result is conventionally read-only alongside the entire directory contents. This change overrides the permission bits as part of Store. Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-01-04internal/pkg: enable cache access during storeOphestra
This is still not ideal as it makes entry into Store sequential. This will be improved after more usage code is written. Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-01-03internal/pkg: implement caching for directoriesOphestra
This works on any directories and should be robust against any bad state the artifact curing process might have failed at. Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-01-03internal/pkg: wrap checksum string encodingOphestra
This wraps base64.URLEncoding.EncodeToString for cleaner call site. Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-01-03internal/pkg: compute identifier from depsOphestra
This provides infrastructure for computing a deterministic identifier based on current artifact kind, opaque parameters data, and optional dependency kind and identifiers. Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-01-03internal/pkg: create work directoryOphestra
This is used for artifacts that cure into directories. Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-01-02internal/pkg: implement caching for filesOphestra
This change contains primitives for validating and caching single-file artifacts. Signed-off-by: Ophestra <cat@gensokyo.uk>