Re: [BuildStream] Reboot discussion: bst artifact subcommand group
- From: James Ennis <james ennis codethink co uk>
- To: Tristan Van Berkom <tristan vanberkom codethink co uk>
- Cc: BuildStream <buildstream-list gnome org>
- Subject: Re: [BuildStream] Reboot discussion: bst artifact subcommand group
- Date: Wed, 12 Jun 2019 09:38:53 +0100
Hi Tristan,
Thank you for taking the time to summarise and reboot this discussion,
just a couple of points from me.
Specifying artifacts on the command line
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
All the commands in the subgroup should accept the same format
for specifying artifacts, this includes:
- An element name: If element(s) are specified, they need to
be loaded and have their cache keys resolved, specifying an
element implies that we want to specify the artifact with
the corresponding cache key.
- Artifact name, which is:
"%{project-name}/%{element-name}/%{cache-key}"
- Glob pattern matching would be important, in order to support
commands where we can observe all of the artifacts for a given
element, e.g.: `bst artifact show project/element/*`
This could be an augmentation but rather easy to implement given
the rest of the machinery.
- Tab completion should be supported for artifact names
Tab completion and glob pattern matching are already possible. One
downside, is that for large caches (with many artifacts), tab completion
can be quite expensive/slow.
- As Sander pointed out[1], it would also be good to be able to
address artifacts with *only* a cache key.
+1, I assume this would also support the abbreviated cache key?
Commands
--------
There was not much discussion on the individual commands proposed.
I think there is pretty much automatic consensus on:
- push
- pull
- checkout
- log
I would also add `delete` to this list.
Other commands originally proposed were, but I couldn't really say
there is consensus as it was not discussed very much:
- diff
Show the added/removed/changed files between two artifacts
- list-content
List the content of an artifact, optionally showing sizes
of individual files (think something like `tar -tf file.tar`
but for artifacts)
- list
list some artifacts specified on the command line, showing
artifact creation date and overall size and any interesting
information about the artifact
So Richard Maw actually achieved a lot of this, however, it was agreed
that his implementation used too much low level/internal logic in the
front end, thus work on this ceased and we implemented ArtifactElement,
renamed pull/push/checkout and introduced `delete`.
The (closed) MR is here:
https://gitlab.com/BuildStream/buildstream/merge_requests/1008
Hopefully this will provide some sort of head start to whoever picks
up this work.
Cheers,
-Tristan
[0]:
https://mail.gnome.org/archives/buildstream-list/2019-June/msg00003.html
[1]:
https://mail.gnome.org/archives/buildstream-list/2018-September/msg00028.html
[2]: https://gitlab.com/BuildStream/buildstream/issues/1034
[3]:
https://mail.gnome.org/archives/buildstream-list/2018-September/msg00030.html
Thanks,
James
_______________________________________________
buildstream-list mailing list
buildstream-list gnome org
https://mail.gnome.org/mailman/listinfo/buildstream-list
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]