Added version number to the Nickel contracts and artifacts (close #27).

This commit is contained in:
antux18 2024-07-29 16:37:44 +02:00
parent 14ca1da160
commit ff2fc2d365
13 changed files with 21 additions and 3 deletions

View File

@ -1,4 +1,5 @@
{
version = "1.0",
artifact_url = "https://github.com/brownsys/K9db/archive/refs/tags/osdi2023.zip",
type = "zip",
doi = "...",

View File

@ -1,4 +1,5 @@
{
version = "1.0",
artifact_url = "https://zenodo.org/record/7544675/files/SF2-code.tar.gz",
type = "tar",
doi = "10.1145/3572848.3577480",

View File

@ -1,4 +1,5 @@
{
version = "1.0",
artifact_url = "https://zenodo.org/record/6632461/files/SC22_artifacts_submission.zip",
type = "zip",
doi = "10.5555/3571885.3571906",

View File

@ -1,4 +1,5 @@
{
version = "1.0",
artifact_url = "https://zenodo.org/record/7508499/files/wsmoses/PolygeistGPU-Docker-v0.2.1.zip",
type = "zip",
doi = "10.1145/3572848.3577475",

View File

@ -1,4 +1,5 @@
{
version = "1.0",
artifact_url = "https://zenodo.org/record/6926481/files/koparasy/HPAC-v0.0.0-Puppeteer.zip",
type = "zip",
doi = "10.5555/3571885.3571974",

View File

@ -1,4 +1,5 @@
{
version = "1.0",
artifact_url = "https://github.com/microsoft/nnfusion/archive/refs/heads/osdi2023welder.zip",
type = "zip",
doi = "",

View File

@ -1,4 +1,5 @@
{
version = "1.0",
artifact_url = "https://example.com/artifact.zip",
type = "zip",
doi = "...",

View File

@ -1,4 +1,5 @@
{
version = "1.0",
artifact_url = "http://localhost/artifact.zip",
type = "zip",
doi = "...",

View File

@ -1,4 +1,5 @@
{
version = "1.0",
artifact_url = "https://zenodo.org/record/7328505/files/tgopt-artifact.tgz",
type = "tar",
doi = "10.1145/3572848.3577490",

View File

@ -1,4 +1,5 @@
{
version = "1.0",
artifact_url = "https://zenodo.org/record/7004393/files/deinsum/sc22-artifact-0.4.zip",
type = "zip",
doi = "10.5555/3571885.3571918",

View File

@ -1,4 +1,5 @@
{
version = "1.0",
artifact_url = "https://zenodo.org/record/7004393/files/deinsum/sc22-artifact-0.4.zip",
type = "zip",
comment = "",

View File

@ -2,4 +2,4 @@
ARTIFACT=$1
nickel export --format json --output artifacts/json/$ARTIFACT.json artifacts/nickel/$ARTIFACT.ncl
nickel export --format json --output artifacts/json/$ARTIFACT.json workflow/nickel/artifact_contract.ncl artifacts/nickel/$ARTIFACT.ncl

View File

@ -4,7 +4,8 @@ let
PACKAGE_MANAGERS = ["dpkg", "rpm", "pacman", "pip", "conda"],
FILEPATH_REGEX = "^[^\\x00]+$", # For UNIX, anything of length > 0 but without NULL characters, found at: https://stackoverflow.com/questions/537772/what-is-the-most-correct-regular-expression-for-a-unix-file-path
URL_REGEX = "^https?:\\/\\/(?:www\\.)?[-a-zA-Z0-9@:%._\\+~#=]{1,256}\\.[a-zA-Z0-9()]{1,6}\\b(?:[-a-zA-Z0-9()@:%_\\+.~#?&\\/=]*)$", # Found at: https://uibakery.io/regex-library/url
IMAGENAME_REGEX = "^[a-z0-9]+(([.]{0,1}|[_]{0,2}|[-]*)[a-z0-9]+)*(:[a-zA-Z0-9_]+[a-zA-Z0-9._-]*){0,1}$" # Based on, with modifications: https://regexr.com/3bsog
IMAGENAME_REGEX = "^[a-z0-9]+(([.]{0,1}|[_]{0,2}|[-]*)[a-z0-9]+)*(:[a-zA-Z0-9_]+[a-zA-Z0-9._-]*){0,1}$", # Based on, with modifications: https://regexr.com/3bsog
VERNUMBER_REGEX = "[0-9]+(\\.([0-9])+)*"
}
in
{
@ -20,6 +21,9 @@ in
URL = std.contract.from_predicate (
fun value => std.string.is_match conf.URL_REGEX value
),
VersionNumber = std.contract.from_predicate (
fun value => std.string.is_match conf.VERNUMBER_REGEX value
),
GitPackage = {
name
| doc "Name of the package for future identification"
@ -40,8 +44,11 @@ in
path
| doc "Path to the Python venv."
| FilePath
}
},
Artifact = {
version
| doc "Version of the Nickel contract"
| String,
artifact_url
| doc "URL where to download the artifact"
| URL,