348a1adc2cUpdated protocol with some details and current state of the workflow.antux182024-08-26 15:12:08 +0200
9c6ce2d150Since analysis and aggregation rules had directories in their input, Snakemake complained because of these missing directories, even if he was supposed to create them. So I removed the directories from the inputs of the rules, and used global variables instead (and for some, just wrote the directory path directly in the shell command). Fixed the missing option specifier for the analysis wrapper for the softenv analysis. Also fixed the way arguments are parsed by the wrapper.antux182024-08-26 14:40:43 +0200
97447e59a1The results of the get_analysis_dates function being used as inputs in some Snakemake rules, this causes Snakemake to overwrite older analysis, probably because the files used to generate these older analysis have been modified. To avoid overwriting older analysis, we only specify today's analysis in the input, and use a bash wrapper script to both fetch the older analysis by itself (by giving it the folder where to look), and run the analysis with the fetched files. So I removed get_analysis_dates and replaced it with the wrapper script every time it was used. I also removed the older unfinished analysis wrapper that I forgot it existed...antux182024-08-23 16:14:46 +0200
514e186c3dUpdated doc with details on analysis outputs. Moved test scripts to a dedicated directory.antux182024-08-22 19:19:40 +0200
0c281e1051Added missing Python venv to test artifact.antux182024-08-22 19:00:36 +0200
be05d8d70aDeleted the Git package from the configuration file of the test artifact, because it is a Git repo that is generated when the container is being built, so version number will always change.antux182024-08-22 18:40:08 +0200
f2cf7e3498Handling of the case where no artifact configuration files have been found, or they have all been blacklisted.antux182024-08-22 18:37:44 +0200
b8212061fdThe date of the day is now always added to the output of get_analysis_dates, because we obviously want to generate the analysis of the day, even if there are older analysis in the folder already...antux182024-08-22 18:21:00 +0200
ce826c35a6Fixed aggregation by separating it into multiple rules. Fixed calls to get_analysis_dates. Fixed plot headers and plot script in plotting rules, which are now working (close#44). Rule all has been modified according to these changes. Removed global analysis rule. List of artifacts to build now generated using all available blacklists, not just the last one (ensures that we don't miss some blacklisted artifacts). Fixed update blacklist rule, because of grep's output. Removed default blacklist.antux182024-08-22 17:55:05 +0200
2d5b043f8fFixed analysis and aggregate rules to get all ECG/analysis outputs for all possible dates. Written a function to get all available outputs for this purpose. Defined variables for arrays used multiple times. Simplified aggregate rule, but needs fix, because cannot have a list of shell commands apparently. Modified plotting rules according to those changes.antux182024-08-21 21:15:09 +0200
e3d01ae34eUpdated doc with plotting script's changes.antux182024-08-21 17:07:10 +0200
3eba87d47aAdded an option to set the output path of the plotting script. Changed name and order of the options of the plotting script.antux182024-08-21 15:33:49 +0200
52c629b9b8Comments on Snakemake config files.antux182024-08-20 18:59:31 +0200
9c6fe6700bThe updating of the blacklist has been reworked to be functional: it is not relying on a symlink anymore (this symlink has been removed). Instead, the last blacklist is fetched by the get_artifacts_to_build function. Modified Snakefile according to the change in the name of a build status. Created a default config file for Snakemake, allowing custom configurations to be written to "config.yaml".antux182024-08-20 18:55:12 +0200
513b21754cChanged build status "package_unavailable" to "package_install_failed" to cover more errors. Added an error message for this status. Outputs of ECG are now always created at the beginning to avoid issues with Snakemake (maybe not a good idea).antux182024-08-20 18:47:32 +0200
72a638cd17Added conference date to Nickel contract + artifacts (close#29). Changes localhost to 127.0.0.1 in test artifact, because localhost doesn't work in a Nix environment.antux182024-08-20 17:44:41 +0200
0a8b0c85c6Fixed analysis part in Snakemake again, needs testing. Moved test and template artifacts back to parent folder. Changes analysis output dir.antux182024-08-19 19:02:23 +0200
ece5749b7aFixed analysis in Snakefile. Started working on plotting part.antux182024-08-19 16:37:51 +0200
f6f20cb0d6Integrated the whole analysis part to the Snakefile, but needs testing (#44).antux182024-08-19 15:21:28 +0200
e943be4efeIntegrated softenv analysis to workflow. Changed input and output cmd options in analysis scripts to take multiple files at once. Moved test and template artifacts in an excluded folder.antux182024-08-19 14:59:08 +0200
1e5dd77cd8Working on the integration of the analysis to the snakemake workflow.antux182024-08-16 17:41:20 +0200
744b3b0d35Added doc for running the Snakemake workflow.antux182024-08-15 12:32:39 +0200
0bbed9d0f5Adding missing changes from the previous commit because I wasn't in the root folder...antux182024-08-15 12:23:34 +0200
cb1a62217cThe handling of the output of ECG and of ECG's own errors has been transfered to a new wrapper script that calls ECG. Now, ECG doesn't take an output log file as parameter, rather just write everything to the terminal. It is then retrieved by the wrapper scripts that writes the ouput to the given output log file, and logs any script crash. README has been updated according to these changes, and the verbose and log path options of ECG have been removed. Close#25. Started integrating the analysis to the workflow, not done yet (#44). Removed legacy line and bar plot scripts.antux182024-08-15 12:16:53 +0200
aad9318e6eUpdated README with plot script and protocol.antux182024-08-14 12:58:55 +0200
13780c9f39Finished bar plots. Merged bar and line plots into a single plot script.antux182024-08-14 12:51:52 +0200
b7a84c5a78Improved the formatting of dates in R plots. Switched to a functionnal approach in the line plot. Broke the bar plot while trying to improve the formatting of dates :( Added the tidyverse R package to the Nix flake.antux182024-08-09 18:31:17 +0200
5aae58d680Initial script for bar plotting. Continued line plot script (started in the last commit, but forgot to mention it).antux182024-08-07 20:50:42 +0200
e2903ffac1Removed the headers from the output of the analysis, because they will have to be combined. So I made the columns deterministic. Added the supported package sources to the doc. Updated the protocol with the information from the doc + typos.antux182024-08-07 19:51:21 +0200
a5e32f9224Added timestamp to each row of each analysis' result. Package changes analysis now specifies if a package source has no packages that changed.antux182024-08-07 17:31:35 +0200
3d6b6d1adeUpdated doc with more details.antux182024-08-07 16:51:19 +0200
56c3682124Finished the package changes analysis.antux182024-08-07 12:26:36 +0200
4b91a6cb5dModified analysis according to the fact that logs for multiple executions of ECG will not be appended to the same file, rather written to a new file every time. Added a column for the artifact name in the artifact hash log for that reason. Updated README. Added sed as dependency for Nix. Started writing package changes analysis.antux182024-08-07 11:22:54 +0200
eae7c40d59Added timestamp to every row in package list (close#38).antux182024-08-06 16:59:36 +0200
58dd52e403Separated the analysis into 3 different scripts.antux182024-08-06 16:50:07 +0200
74228cd1c5Now optional with a default value in the Nickel contract: version, comment, git_packages, misc_packages, python_venvs (close#30).antux182024-08-06 11:44:38 +0200
ab72ee398coutput_analysis now takes multiple files and not just a single directory as argument for the analysis input (close#36).antux182024-08-05 17:19:45 +0200
cd9a9000d5Adding a column with the name of the artifact in each row of the package list (close#37).antux182024-08-05 17:04:42 +0200
ea6d78dac2Switched from an empty hash to indicate download failure to a hash equal to "-1". Fixed a bug where the cache folder would not be removed in case artifact download failed.antux182024-08-05 16:29:07 +0200
199d1dc282minor improvement to protocol
Quentin Guilloteau
2024-08-02 17:49:55 +0200
43ceead6b0Continue writing the protocol
Quentin Guilloteau
2024-08-02 11:04:30 +0200
114d0e5816Added support for other virtualization techs in the Nickel contract (close#28). Added Nix dependency for Snakemake diagram generation.antux182024-07-30 18:06:16 +0200
ff2fc2d365Added version number to the Nickel contracts and artifacts (close#27).antux182024-07-29 16:37:44 +0200
14ca1da160Now handling the script's own crashes: saving to log and build status file (close#25).antux182024-07-29 15:17:22 +0200
e8b25b74a7Added build status analysis. Now logging build status even if build is successful, to make analysis easier (as mentionned in #26). Added a new error type.antux182024-07-26 19:00:25 +0200
4db323fb03Implemented artifact hash analysis. Switched to a table of tables instead of a single table to be able to identify multiple artifacts for the artifact analysis.antux182024-07-26 17:01:59 +0200
f25f5e356dHandling the case where artifact/misc packages cannot be downloaded.antux182024-07-26 13:28:26 +0200
3c648c1a09Written skeleton for output analysis (#26). Renamed some arguments of ECG.antux182024-07-25 18:03:14 +0200
e118cf3da1Added the convention on config file name on the doc.antux182024-07-25 09:32:52 +0200
1d925ca364Now using the name of the config file (without ext) as image name, meaning the name of the config file should comply with Docker image naming rules (should be the case).antux182024-07-25 09:27:30 +0200
48d3da9c7dRemoved image name from the config file, now generated from the artifact URL (close#24). Fixed the "--no-cache" option when using Docker cache.antux182024-07-24 18:58:50 +0200
d2768d5373Added initial support for Python venvs, close#21. Disabled the Docker build cache by default, and added an option to reenable it, close#23. Removed conditions on the existance of git_packages and misc_packages, because the workflow enforces their existance with the Nickel artifact contract.antux182024-07-24 18:05:31 +0200
aab563fbfeFixed shi_welder (wrong path to Git repos).antux182024-07-24 16:17:11 +0200
8687bb03f4Switching from pip freeze to pip list because of inconsistent output mentionned in #18, close#22. Adding albab_k9db config.antux182024-07-24 11:34:05 +0200
cc50349cf5Almost solved the removing of bash login messages from outputs (#18) but still needs some work ("dace" pip package incorrectly displayed for deinsum).antux182024-07-23 21:04:34 +0200
a7bf9cee94Written a doc for the output. Removed the "type" attribute from the Nickel contract, closing #17.antux182024-07-19 16:18:49 +0200
1861f44f1eRemoved the "type" attribute in the misc_package description.antux182024-07-19 15:28:58 +0200
cb98727554Added artifacts_json to git ignore and deleting, closing #15. Deleted old YAML files. Added hints on the config template.antux182024-07-19 15:23:00 +0200