summaryrefslogtreecommitdiffstats
path: root/src
AgeCommit message (Collapse)Author
2021-12-02Merge branch 'optimize-mass-download'HEADmasterMatthias Beyer
2021-12-02Merge branch 'container-create-with-sensible-name'Matthias Beyer
2021-12-02Allow spinner_format in config, to be backwards compatibleMatthias Beyer
Signed-off-by: Matthias Beyer <mail@beyermatthias.de>
2021-12-02Fix: Increase bar length when adding downloadMatthias Beyer
Signed-off-by: Matthias Beyer <matthias.beyer@atos.net>
2021-12-02Fix: Add missing closing parenMatthias Beyer
Signed-off-by: Matthias Beyer <matthias.beyer@atos.net>
2021-12-02Introduce semaphore for max of 100 concurrent downloadsMatthias Beyer
Signed-off-by: Matthias Beyer <matthias.beyer@atos.net>
2021-12-02Optimize: Do not increase the download counter too soonMatthias Beyer
Because if the check fails, we don't have to do this work actually. Signed-off-by: Matthias Beyer <matthias.beyer@atos.net>
2021-12-02Optimize: Write bytes to disk and increase statusbar in parallelMatthias Beyer
Signed-off-by: Matthias Beyer <matthias.beyer@atos.net>
2021-12-02Fix: Do not finish download twiceMatthias Beyer
The calling function does this already. Signed-off-by: Matthias Beyer <matthias.beyer@atos.net>
2021-12-02Add doc for helper typeMatthias Beyer
Signed-off-by: Matthias Beyer <matthias.beyer@atos.net>
2021-12-02Outsource "source download" subcommand implMatthias Beyer
Signed-off-by: Matthias Beyer <matthias.beyer@atos.net>
2021-12-02Move source command implementation to submoduleMatthias Beyer
Signed-off-by: Matthias Beyer <matthias.beyer@atos.net>
2021-12-02Add progress wrapperMatthias Beyer
When creating only one progress bar for all downloads, we still want to know how many downloads are happening and the remaining number of bytes to be received. This patch implements a ProgressWrapper that synchronizes between the download tasks and the progress bar. Signed-off-by: Matthias Beyer <matthias.beyer@atos.net>
2021-12-02Remove multiple progress when downloadingMatthias Beyer
This patch removes the multiple progress bars when downloading packages, and instead moves to a single progress bar, because downloading (for example) 50 packages at once resulted in an unusable progress bar list. Signed-off-by: Matthias Beyer <matthias.beyer@atos.net>
2021-12-02Remove spinner support in progress bar helperMatthias Beyer
Signed-off-by: Matthias Beyer <matthias.beyer@atos.net>
2021-12-02Fix: Use already existing response type to get byte stream, instead of ↵Matthias Beyer
starting new GET request Signed-off-by: Matthias Beyer <matthias.beyer@atos.net>
2021-11-23Build unique container name from job metadataMatthias Beyer
With this patch, the name of the running container is generated from the job metadata with a "butido-" prefix, so that containers on nodes can be identified (the auto-generated names from docker are funny, but help nobody). Signed-off-by: Matthias Beyer <matthias.beyer@atos.net>
2021-11-19Fix error/info messages for binary nameMatthias Beyer
Signed-off-by: Matthias Beyer <matthias.beyer@atos.net>
2021-11-19Update Copyright string to 2020-2022Matthias Beyer
Signed-off-by: Matthias Beyer <matthias.beyer@atos.net>
2021-11-12Merge branch 'source-download-timeout' into nextMatthias Beyer
2021-11-12Merge branch 'job-failure-message-with-log-command-hint' into nextMatthias Beyer
2021-11-12Merge branch 'jobs-listing-without-ms' into nextMatthias Beyer
2021-11-11Simplify error message if butido is not executed from the package repositoryMatthias Beyer
Signed-off-by: Matthias Beyer <matthias.beyer@atos.net>
2021-11-11Format listed jobs timestamps without millisecondsMatthias Beyer
Signed-off-by: Matthias Beyer <matthias.beyer@atos.net>
2021-11-11Restructure error output for more screen real estateMatthias Beyer
Signed-off-by: Matthias Beyer <matthias.beyer@atos.net>
2021-11-11Add line which can be used to print the job log with butidoMatthias Beyer
Signed-off-by: Matthias Beyer <matthias.beyer@atos.net>
2021-11-11Add support for timeout in source download subcommandMatthias Beyer
Signed-off-by: Matthias Beyer <matthias.beyer@atos.net> Tested-by: Matthias Beyer <matthias.beyer@atos.net>
2021-11-02Fix missing fmt argument in error messageDavid Tolnay
Without this, the error message would literally be "Running container {} failed" with curly braces in it instead of the container id. Signed-off-by: David Tolnay <dtolnay@gmail.com>
2021-10-19Remove unused fieldMatthias Beyer
Signed-off-by: Matthias Beyer <mail@beyermatthias.de>
2021-10-19Merge branch 'release-late-error'Matthias Beyer
2021-10-12Rewrite to be more idomaticMatthias Beyer
Signed-off-by: Matthias Beyer <matthias.beyer@atos.net>
2021-10-12Late error reporting in release commandMatthias Beyer
Signed-off-by: Matthias Beyer <matthias.beyer@atos.net>
2021-09-30Fix CLI about text for "source download" subcommandMatthias Beyer
Signed-off-by: Matthias Beyer <matthias.beyer@atos.net>
2021-09-29Do not include source hash in source file nameMatthias Beyer
Signed-off-by: Matthias Beyer <matthias.beyer@atos.net>
2021-09-23Merge branch 'received-errors-fmt'Matthias Beyer
2021-09-23Add missing license headerMatthias Beyer
Signed-off-by: Matthias Beyer <matthias.beyer@atos.net>
2021-09-23Add helper for displaying maps of errorsMatthias Beyer
This patch adds a helper trait to display maps from UUID -> Error. It is just introduced for convenience and less code duplication, the speed of execution is not relevant at all in this case, as if this code is executed, we're already handling errors and aborting the execution anyways. Signed-off-by: Matthias Beyer <matthias.beyer@atos.net>
2021-09-17Merge branch 'fix-release'Matthias Beyer
2021-09-17Fix: Delete target path before copying file to itMatthias Beyer
This fixes a bug: If the target file existed, but was created by another user, the tokio::fs::copy() function was not able to overwrite it (only to empty the file). So with this patch, we remove the file before we copy a new file to the target location. Signed-off-by: Matthias Beyer <matthias.beyer@atos.net> Tested-by: Matthias Beyer <matthias.beyer@atos.net>
2021-09-17Fix: Add more error context if release copy procedure failsMatthias Beyer
Signed-off-by: Matthias Beyer <matthias.beyer@atos.net>
2021-09-17List commit hash a submit was built from in the "db submit" outputMatthias Beyer
Signed-off-by: Matthias Beyer <matthias.beyer@atos.net>
2021-09-17Add GitHash::with_id() to get GitHash object from DB with specific idMatthias Beyer
Signed-off-by: Matthias Beyer <matthias.beyer@atos.net>
2021-09-16Merge branch 'dependency-if'Matthias Beyer
2021-09-16Clippy: Allow From<> over Into<> implementation hereMatthias Beyer
Because it makes logically more sense to implement Into<> here than implementing From<> for a foreign type (Vec<>). Signed-off-by: Matthias Beyer <matthias.beyer@atos.net>
2021-09-16Fix clippy: Use BTreeMap instead of HashMapMatthias Beyer
clippy complained that we cannot have a derived PartialEq and a handwritten Hash implementation. HashMap does not implement Hash. After some research we found that BTreeMap implements Hash, so we can derive Hash if we use BTreeMap as a key-value type for the `env_eq` member. Logically they are the same and this reduces code size, so go for it. This has the nice benefit, that we do not need to implement PartialOrd and Ord either. Signed-off-by: Matthias Beyer <matthias.beyer@atos.net>
2021-09-16Refactor: Outsource condition-checking and parsing to helper fnMatthias Beyer
Signed-off-by: Matthias Beyer <matthias.beyer@atos.net>
2021-09-16Refactor getting package dependencies as helper fnMatthias Beyer
Signed-off-by: Matthias Beyer <matthias.beyer@atos.net>
2021-09-16Implement dependency-condition filteringMatthias Beyer
This patch adds the condition-filtering support in the DAG-building code for conditional dependencies. Signed-off-by: Matthias Beyer <matthias.beyer@atos.net>
2021-09-16Add trait to match conditions of dependenciesMatthias Beyer
Signed-off-by: Matthias Beyer <matthias.beyer@atos.net>
2021-09-16Refactor: Do not use Package::get_self_packaged_dependences() helper fnMatthias Beyer
We need to refactor because we want, in the next step, add filters in the dependency-processing mechanism, where we filter out dependencies by their condition. Thus, using the Package::get_self_packaged_dependences() helper fn does not work anymore and we remove it with this patch. Signed-off-by: Matthias Beyer <matthias.beyer@atos.net>