Skip to content

Commit d2317bb

Browse files
authored
Merge pull request #39 from EVERSE-ResearchSoftware/update-validation
Update indicator validation schema
2 parents 9ce8b48 + 2df80ff commit d2317bb

4 files changed

Lines changed: 104 additions & 22 deletions

File tree

Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
{
2+
"@context": "https://w3id.org/everse/rsqi#",
3+
"@id": "https://w3id.org/everse/i/indicators/dependency_management",
4+
"@type": "SoftwareQualityIndicator",
5+
"name": "Software has dependency management solution",
6+
"identifier": { "@id": "https://w3id.org/everse/i/indicators/dependency_management" },
7+
"description": "Reviews how external libraries and dependencies are managed to ensure compatibility and security.",
8+
"status": "Active",
9+
"keywords": [
10+
"sustaninability", "dependencies"
11+
],
12+
"version": "1.0.0",
13+
"author": {
14+
"@type": "Person",
15+
"name": "Faruk Diblen"
16+
},
17+
"contact": {
18+
"@type": "Person",
19+
"name": "Faruk Diblen"
20+
},
21+
"source": [
22+
{
23+
"identifier": "https://zenodo.org/record/14852424",
24+
"url": "https://zenodo.org/records/14852424/files/Software%20Quality%20Indicators.xlsx",
25+
"name": "Software Quality Indicators from BioHackathon 2024 (Sheet: Sustanability, Row: Su7)"
26+
},
27+
{
28+
"url": "https://fair-impact.github.io/RSMD-guidelines/8.rsmd_checklist/",
29+
"name": "RSMD checklist"
30+
}
31+
],
32+
"qualityDimension": { "@id": "https://w3id.org/everse/i/dimensions/sustaninability" },
33+
"created": "03-04-2025"
34+
}

indicators/no_critical_vulnerability.json

Lines changed: 9 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -3,24 +3,26 @@
33
"@type": "SoftwareQualityIndicator",
44
"name": "noCriticalVulnerability",
55
"description": "Checks if reported critical vulnerabilities has been fixed",
6-
"keywords": ["security", "critical", "vulnerability"],
7-
"identifier": { "@id": "https://w3id.org/everse/i/indicators/no_critical_vulnerability"},
6+
"keywords": [ "security", "critical", "vulnerability" ],
7+
"identifier": { "@id": "https://w3id.org/everse/i/indicators/no_critical_vulnerability" },
88
"status": "Active",
99
"version": "1.0.0",
1010
"author": {
1111
"@type": "schema:Organization",
1212
"name": "OpenSSF",
1313
"url": "https://openssf.org/"
1414
},
15-
"source": {
16-
"@id": "https://www.bestpractices.dev/en/criteria/0#0.vulnerabilities_critical_fixed",
17-
"name": "OpenSSF Best practice Critical Vulnerability Fixed"
18-
},
15+
"source": [
16+
{
17+
"@id": "https://www.bestpractices.dev/en/criteria/0#0.vulnerabilities_critical_fixed",
18+
"name": "OpenSSF Best practice Critical Vulnerability Fixed"
19+
}
20+
],
1921
"contact": {
2022
"@type": "schema:Person",
2123
"name": "Tom François",
2224
"schema:email": "tom.francois@lapp.in2p3.fr"
2325
},
24-
"qualityDimension": {"@id": "https://w3id.org/everse/i/dimensions/security"},
26+
"qualityDimension": { "@id": "https://w3id.org/everse/i/dimensions/security" },
2527
"created": "03-04-2025"
2628
}

indicators/no_leaked_credential.json

Lines changed: 9 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -3,24 +3,25 @@
33
"@type": "SoftwareQualityIndicator",
44
"name": "noLeakedCredentials",
55
"description": "Checks if hardcoded secrets like passwords, API keys, and tokens is stored in the public git repository",
6-
"keywords": ["security", "credential", "leak", "secret", "password"],
7-
"url": "",
8-
"identifier": {"@id": "https://w3id.org/everse/i/indicators/no_leaked_credential"},
6+
"keywords": [ "security", "credential", "leak", "secret", "password" ],
7+
"identifier": { "@id": "https://w3id.org/everse/i/indicators/no_leaked_credential" },
98
"status": "Active",
109
"version": "1.0.0",
1110
"author": {
1211
"@type": "schema:Organization",
1312
"name": "OpenSSF",
1413
"url": "https://openssf.org/"
1514
},
16-
"source": {
17-
"@id": "https://www.bestpractices.dev/en/criteria/0#0.no_leaked_credentials",
18-
"name": "OpenSSF Best practice No Leaked Credentials"
19-
},
15+
"source": [
16+
{
17+
"@id": "https://www.bestpractices.dev/en/criteria/0#0.no_leaked_credentials",
18+
"name": "OpenSSF Best practice No Leaked Credentials"
19+
}
20+
],
2021
"contact": {
2122
"@type": "schema:Person",
2223
"name": "Tom François",
2324
"schema:email": "tom.francois@lapp.in2p3.fr"
2425
},
25-
"qualityDimension": {"@id": "https://w3id.org/everse/i/dimensions/security"}
26+
"qualityDimension": { "@id": "https://w3id.org/everse/i/dimensions/security" }
2627
}

tests/indicator_validation_schema.json

Lines changed: 52 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,14 @@
3434
},
3535
"name": {
3636
"type": "string"
37+
},
38+
"email": {
39+
"type": "string",
40+
"format": "email"
41+
},
42+
"url": {
43+
"type": "string",
44+
"format": "uri"
3745
}
3846
}
3947
},
@@ -80,14 +88,52 @@
8088
}
8189
},
8290
"source": {
83-
"type": "string",
84-
"format": "uri",
85-
"description": "The source from which this indicator is derived."
91+
"type": "array",
92+
"description": "The source from which this indicator is derived.",
93+
"items": {
94+
"type": "object",
95+
"properties": {
96+
"@id": {
97+
"type": "string",
98+
"format": "uri"
99+
100+
},
101+
"identifier": {
102+
"type": "string",
103+
"format": "uri"
104+
},
105+
"@type": {
106+
"type": "string"
107+
},
108+
"url": {
109+
"type": "string",
110+
"format": "uri"
111+
},
112+
"name": {
113+
"type": "string"
114+
}
115+
},
116+
"required": [
117+
"name"
118+
]
119+
}
86120
},
87121
"contact": {
88-
"type": "string",
89-
"format": "uri",
90-
"description": "Contact point for more information."
122+
"type": "object",
123+
"description": "Contact point for more information.",
124+
"properties": {
125+
"@type": {
126+
"type": "string",
127+
"format": "uri"
128+
},
129+
"name": {
130+
"type": "string"
131+
},
132+
"email": {
133+
"type": "string",
134+
"format": "email"
135+
}
136+
}
91137
}
92138
},
93139
"required": [
@@ -96,7 +142,6 @@
96142
"name",
97143
"description",
98144
"author",
99-
"created",
100145
"version",
101146
"identifier",
102147
"qualityDimension"

0 commit comments

Comments
 (0)