about summary refs log tree commit diff
path: root/cwl-conformance
diff options
context:
space:
mode:
authorArun Isaac2025-08-22 04:38:35 +0100
committerArun Isaac2025-08-22 04:38:35 +0100
commit9d664cc2c97315ed8e7d27b688c8cb2136e92127 (patch)
treed2d6aad5c674099f778ac52a69862ca3bcf6f0b3 /cwl-conformance
parentf0dbb8e1fba63b3c96db652db3a42068f8c870d3 (diff)
downloadravanan-9d664cc2c97315ed8e7d27b688c8cb2136e92127.tar.gz
ravanan-9d664cc2c97315ed8e7d27b688c8cb2136e92127.tar.lz
ravanan-9d664cc2c97315ed8e7d27b688c8cb2136e92127.zip
Add CWL conformance test helper files.
Forgetting to commit required files—classic mistake!
Diffstat (limited to 'cwl-conformance')
-rw-r--r--cwl-conformance/LICENSE2
-rw-r--r--cwl-conformance/badgegen.py37
-rw-r--r--cwl-conformance/commonwl.svg1
-rw-r--r--cwl-conformance/cwltest-manifest.scm2
4 files changed, 42 insertions, 0 deletions
diff --git a/cwl-conformance/LICENSE b/cwl-conformance/LICENSE
new file mode 100644
index 0000000..b1e57b6
--- /dev/null
+++ b/cwl-conformance/LICENSE
@@ -0,0 +1,2 @@
+commonwl.svg is under the ISC license and is sourced from
+https://github.com/badgen/badgen-icons/blob/master/icons/commonwl.svg
\ No newline at end of file
diff --git a/cwl-conformance/badgegen.py b/cwl-conformance/badgegen.py
new file mode 100644
index 0000000..1e8f5f0
--- /dev/null
+++ b/cwl-conformance/badgegen.py
@@ -0,0 +1,37 @@
+### ravanan --- High-reproducibility CWL runner powered by Guix
+### Copyright © 2025 Arun Isaac <arunisaac@systemreboot.net>
+###
+### This file is part of ravanan.
+###
+### ravanan is free software: you can redistribute it and/or modify it
+### under the terms of the GNU General Public License as published by
+### the Free Software Foundation, either version 3 of the License, or
+### (at your option) any later version.
+###
+### ravanan is distributed in the hope that it will be useful, but
+### WITHOUT ANY WARRANTY; without even the implied warranty of
+### MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+### General Public License for more details.
+###
+### You should have received a copy of the GNU General Public License
+### along with ravanan.  If not, see <https://www.gnu.org/licenses/>.
+
+import json
+from pathlib import Path
+from pybadges import badge
+import sys
+
+match sys.argv:
+    case [_, cwltest_badgedir, cwl_icon_file, output_directory]:
+        for summary_file in Path(cwltest_badgedir).glob("*.json"):
+            with open(summary_file) as file:
+                summary = json.load(file)
+            with (Path(output_directory) / (summary_file.stem + ".svg")).open("w") as file:
+                file.write(badge(left_text=summary["subject"],
+                                 right_text=summary["status"],
+                                 right_color=summary["color"],
+                                 logo=cwl_icon_file,
+                                 embed_logo=True))
+    case [program, *_]:
+        print(f"Usage: {program} CWLTEST_BADGEDIR CWL_ICON_FILE OUTPUT_DIRECTORY")
+        sys.exit(1)
diff --git a/cwl-conformance/commonwl.svg b/cwl-conformance/commonwl.svg
new file mode 100644
index 0000000..0eeb627
--- /dev/null
+++ b/cwl-conformance/commonwl.svg
@@ -0,0 +1 @@
+<svg fill="#fff" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path d="M12.063 9.205l-3.565 3.568 3.518 3.512 1.545-1.545-1.975-1.967 2.023-2.023-1.546-1.545zm1.543 13.218L11.6 20.375l3.786-3.815-1.559-1.573-5.33 5.403.115.114-.015.008 3.456 3.484zm1.896-13.565l-3.685-3.541 3.685-3.722L13.936 0 8.598 5.352l.108.101v.007l5.252 4.943z"/></svg>
diff --git a/cwl-conformance/cwltest-manifest.scm b/cwl-conformance/cwltest-manifest.scm
new file mode 100644
index 0000000..9cf33d5
--- /dev/null
+++ b/cwl-conformance/cwltest-manifest.scm
@@ -0,0 +1,2 @@
+(specifications->manifest
+ (list "coreutils" "python-wrapper"))