diff --git a/artifacts/example.yaml b/artifacts/example.yaml deleted file mode 100644 index c7854df..0000000 --- a/artifacts/example.yaml +++ /dev/null @@ -1,15 +0,0 @@ -artefact_url: "https://example.com/artifact.zip" -type: "zip" # Possible values: zip, tgz -doi: "XX.XXXX/XXXXXXX.XXXXXXX" -dockerfiles: - - name: "image1:version" - location: "path/to/docker/folder" - package_managers: - - "dpkg" # Possible values: dpkg, rpm, pacman, pip, conda - git_packages: - - name: "pkg1" - location: "path/to/git/repo" - misc_packages: - - name: "mpkg1" - url: "https://example.com/package1.zip" - type: "zip" # Possible values: zip, tgz diff --git a/artifacts/ppopp23/gpu_to_cpu_transpilation_and_optimization_via_high_level_parallel_constructs.yaml b/artifacts/ppopp23/gpu_to_cpu_transpilation_and_optimization_via_high_level_parallel_constructs.yaml new file mode 100644 index 0000000..5d2c69d --- /dev/null +++ b/artifacts/ppopp23/gpu_to_cpu_transpilation_and_optimization_via_high_level_parallel_constructs.yaml @@ -0,0 +1,7 @@ +artifact_url: "https://zenodo.org/record/7508499/files/wsmoses/PolygeistGPU-Docker-v0.2.1.zip" +type: "zip" +doi: "10.1145/3572848.3577475" +image_name: "polygeist:artefact" +dockerfile_location: "wsmoses-PolygeistGPU-Docker-ba18197/MocCUDA" +package_managers: + - "dpkg" diff --git a/artifacts/ppopp23/high_performance_and_scalable_agent_based_simulation_with_BioDynaMo.yaml b/artifacts/ppopp23/high_performance_and_scalable_agent_based_simulation_with_BioDynaMo.yaml new file mode 100644 index 0000000..3a1c109 --- /dev/null +++ b/artifacts/ppopp23/high_performance_and_scalable_agent_based_simulation_with_BioDynaMo.yaml @@ -0,0 +1,8 @@ +artifact_url: "https://zenodo.org/record/7544675/files/SF2-code.tar.gz" +type: "tgz" +doi: "10.1145/3572848.3577480" +image_name: "bdm-publication-image-v7" +dockerfile_location: "bdm-paper-examples/docker" +package_managers: + - "dpkg" +# Build done by running build.sh and not just docker build, but this is not implemented yet \ No newline at end of file diff --git a/artifacts/ppopp23/tgopt_redundancy_aware-optimizations_for_temporal_graph_attention_network.yaml b/artifacts/ppopp23/tgopt_redundancy_aware-optimizations_for_temporal_graph_attention_network.yaml new file mode 100644 index 0000000..bbfc792 --- /dev/null +++ b/artifacts/ppopp23/tgopt_redundancy_aware-optimizations_for_temporal_graph_attention_network.yaml @@ -0,0 +1,8 @@ +artifact_url: "https://zenodo.org/record/7328505/files/tgopt-artifact.tgz" +type: "tgz" +doi: "10.1145/3572848.3577490" +image_name: "tgopt:artefact" +dockerfile_location: "tgopt-artifact" +package_managers: + - "dpkg" + - "conda" diff --git a/artifacts/sc22/a_taxonomy_of_error_sources_in_hpc_io_machine_learning_models.yaml b/artifacts/sc22/a_taxonomy_of_error_sources_in_hpc_io_machine_learning_models.yaml new file mode 100644 index 0000000..01ff1a4 --- /dev/null +++ b/artifacts/sc22/a_taxonomy_of_error_sources_in_hpc_io_machine_learning_models.yaml @@ -0,0 +1,8 @@ +artifact_url: "https://zenodo.org/record/6632461/files/SC22_artifacts_submission.zip" +type: "zip" +doi: "10.5555/3571885.3571906" +image_name: "taxo:artefact" +dockerfile_location: "SC22_artifacts_submission" +package_managers: + - "dpkg" + - "pip" diff --git a/artifacts/sc22/approximate_copmuting_through_the_lens_of_uncertainty_quantification.yaml b/artifacts/sc22/approximate_copmuting_through_the_lens_of_uncertainty_quantification.yaml new file mode 100644 index 0000000..6817201 --- /dev/null +++ b/artifacts/sc22/approximate_copmuting_through_the_lens_of_uncertainty_quantification.yaml @@ -0,0 +1,8 @@ +artifact_url: "https://zenodo.org/record/6926481/files/koparasy/HPAC-v0.0.0-Puppeteer.zip" +type: "zip" +doi: "10.5555/3571885.3571974" +image_name: "puppeteer:artefact" +dockerfile_location: "koparasy-HPAC-2723bb8/approx/puppeteer/container" +package_managers: + - "dpkg" + - "pip" diff --git a/artifacts/sc22/deinsum_practially_io_optimal_multi_linear_algebra-cpu.yaml b/artifacts/sc22/deinsum_practially_io_optimal_multi_linear_algebra-cpu.yaml new file mode 100644 index 0000000..e447282 --- /dev/null +++ b/artifacts/sc22/deinsum_practially_io_optimal_multi_linear_algebra-cpu.yaml @@ -0,0 +1,7 @@ +artifact_url: "https://zenodo.org/record/7004393/files/deinsum/sc22-artifact-0.4.zip" +type: "zip" +doi: "10.5555/3571885.3571918" +image_name: "deinsum:artefact-cpu" +dockerfile_location: "deinsum-sc22-artifact-7559901/docker_cpu" +package_managers: + - "dpkg" diff --git a/artifacts/sc22/deinsum_practially_io_optimal_multi_linear_algebra-gpu.yaml b/artifacts/sc22/deinsum_practially_io_optimal_multi_linear_algebra-gpu.yaml new file mode 100644 index 0000000..38e4039 --- /dev/null +++ b/artifacts/sc22/deinsum_practially_io_optimal_multi_linear_algebra-gpu.yaml @@ -0,0 +1,7 @@ +artifact_url: "https://zenodo.org/record/7004393/files/deinsum/sc22-artifact-0.4.zip" +type: "zip" +doi: "10.5555/3571885.3571918" +image_name: "deinsum:artefact_gpu" +dockerfile_location: "deinsum-sc22-artifact-7559901/docker_gpu" +package_managers: + - "dpkg" \ No newline at end of file diff --git a/example.yaml b/artifacts/template.yaml similarity index 100% rename from example.yaml rename to artifacts/template.yaml diff --git a/test.yaml b/artifacts/test.yaml similarity index 100% rename from test.yaml rename to artifacts/test.yaml diff --git a/artifacts_json/test.json b/artifacts_json/test.json new file mode 100644 index 0000000..6f5ff6b --- /dev/null +++ b/artifacts_json/test.json @@ -0,0 +1,20 @@ +{ + "artifact_url": "http://localhost/artifact.zip", + "type": "zip", + "doi": "XX.XXXX/XXXXXXX.XXXXXXX", + "image_name": "prog:latest", + "dockerfile_location": "./", + "package_managers": [ + "dpkg", + "pip" + ], + "git_packages": [{ + "name": "pkg1", + "location": "/pkg1" + }], + "misc_packages": [{ + "name": "mpkg1", + "url": "http://localhost/package1.zip", + "type": "zip" + }] +} \ No newline at end of file diff --git a/ecg.py b/ecg.py index f720f06..7b8cb42 100755 --- a/ecg.py +++ b/ecg.py @@ -10,7 +10,7 @@ import subprocess import json -import yaml +# import yaml import argparse import tempfile import os @@ -85,7 +85,7 @@ def download_sources(config): Parameters ---------- config: dict - Parsed YAML config file. + Parsed config file. Returns ------- @@ -143,7 +143,7 @@ def build_image(config, src_dir): Parameters ---------- config: dict - Parsed YAML config file. + Parsed config file. src_dir: tempfile.TemporaryDirectory The directory where the artifact is stored. @@ -176,7 +176,7 @@ def check_env(config, src_dir): Parameters ---------- config: dict - Parsed YAML config file. + Parsed config file. src_dir: tempfile.TemporaryDirectory The directory where the artifact is stored. @@ -222,7 +222,7 @@ def remove_image(config): Parameters ---------- config: dict - Parsed YAML config file. + Parsed config file. Returns ------- @@ -282,18 +282,19 @@ def main(): # file: print(f"Output will be stored in {log_path}") logging.basicConfig(filename = log_path, filemode = "w", format = '%(levelname)s: %(message)s', level = logging.INFO) - - # Parsing the input YAML file including the configuration of - # the artifact's image: - config_path = args.config - config_file = open(config_path, "r") - config = yaml.safe_load(config_file) - config_file.close() verbose = args.verbose - if verbose: logging.getLogger().addHandler(logging.StreamHandler(sys.stdout)) + # Parsing the input file including the configuration of the artifact's + # image: + config_path = args.config + config_file = open(config_path, "r") + config = json.loads(config_file.read()) + # config = yaml.safe_load(config_file) + # print(config) + config_file.close() + src_dir = download_sources(config) successful_build = build_image(config, src_dir) if successful_build: diff --git a/flake.nix b/flake.nix index 8bed8df..1b33df5 100644 --- a/flake.nix +++ b/flake.nix @@ -20,7 +20,6 @@ nickel (python3.withPackages (ps: with ps; [ requests - pyyaml ])) ]; };