Open yarikoptic opened 4 years ago
I'm not clear why you would need to do qme start
before running any commands. You would just start with a build:
qme run nd_build $dfamily $drelease $bpdsc "$@"
And then there would be an nd_build parser that parses those variables, and can provide actions to run. What we would want to add is a flag that would run the action for all runs in some parser subset, and then the archive command. I'm not totally clear on the other flags you exemplified but they seem kind of complicated. I think what would be helpful to start is to show the complete build / query cycle you would do for one specific package, and include the commands and output. I could create a simple parser for that, and then we can test/discuss adding the --archive and -rerun as a group options. I'm also thinking what we need is (instead of one generic central dashboard that is hard to customize per executor) - an executor specific one that exposes the actions to run on an entire group, archive/clear, etc.
I'm not clear why you would need to do
qme start
before running any commands.
Might not be needed, but it was primarily to trigger a local qme instance for that folder, and possibly prepare for the async submission of those jobs. But may be even that is not needed if we introduce some grouping attribute (in my case - folder path like Debian/<package>/<version>
) so those jobs could be grouped in the common dash board. I kinda like that idea now, will elaborate on it later.
That's an interesting idea! There isn't really established yet any concept of a "qme instance" but it might be what would be warranted for some executor to launch and then actively monitor some scoped thing. Looking forward to hearing your design / implementation for this!
Description
NB I know that I am too behind on testing our what is already working and providing feedback, but wanted to write this down before I forget.
For building NeuroDebian packages we have a pretty simple setup. A hierarchy of
<package>/<version>
and then a simple script https://github.com/neurodebian/neurodebian/blob/master/tools/nd_build4allnd looping through releases building them. For each build there is a .build file with the log, andsummary.build
likevisualizing what was build OK or FAILED and how long it took.
I am typically using
screen
to "submit" builds so I could come later to see -- what have I tried to build and what has succeeded/failed.What I have loved to be able to do
<package>/<version>
(probably just on the top of that nd_build4all) I would run smth likeqme start --local --register=above
which wouldqme
for that directory (not necessarily web UI, but at least the queue manager if that one is separate)qme
it finds in some "above" directory (would be the one running on the entire user level or a dedicated one ran in the directory hosting<package>
directoriesnd_build $dfamily $drelease $bpdsc "$@" || :
doqme run nd_build $dfamily $drelease $bpdsc "$@"
. Relevant: #30 (specific background for shell), closed in favor of more general #2 (async).qme ls
across all packages I had built the overall status -- what is still running, what is done all OK, what is done partially OK (some builds succeeded, some failed), what has failed entirelyqme archive
(via CLI or some action in web UI) some "jobs" (local qmes) which I consider "done" ( may beqme clear --archive
?)qme ls
or in web UI see which particular backports failed and be able to access build logs in web UI for review. So somewhat very similar to the aforementioned dump of a summary file: but so thatqme ls
status (ref #41) could also say "RUNNING" or "PENDING" (if ran via PBS for actual job execution). For the execution time ref (#29 closed-without-fix)qme rerun
("Rerun" action in web UI) - to rerun the build (e.g. if I updated base environment and expect it now to succeed)qme rerun [MORE OPTIONS]
orcli rerun --schema debug
where[MORE OPTIONS]
would be--hookdir=/home/neurodebian/neurodebian/tools/hooks
or schema "debug" would have that setting "configured" so I do not need even to memorize what options what I need to debug that build