Skip to content

Commit d822918

Browse files
committed
feat: usage of teams from metadata to set evidence/$teamsImplemented
1 parent b9ba937 commit d822918

File tree

2 files changed

+41
-12
lines changed

2 files changed

+41
-12
lines changed
Lines changed: 10 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,13 @@
11
#!/bin/bash
22

3-
docker run --rm --interactive --tty --volume $PWD/:/app --user $(id -u):$(id -g) composer install \
4-
--ignore-platform-reqs \
5-
--no-interaction \
6-
--no-plugins \
7-
--no-scripts \
8-
--prefer-dist
3+
docker run -e IS_IMPLEMENTED_WHEN_EVIDENCE=true -ti --rm --volume ${PWD}/../:/app wurstbrot/dsomm-yaml-generation bash -c 'cd /app/ && php yaml-generation/generateDimensions.php'
94

10-
cd ..
11-
docker run --rm --volume $PWD/:/app php:apache-buster bash -c 'apt-get update && apt-get -y dist-upgrade && apt-get -y install apt-utils libyaml-dev wget && pecl channel-update pecl.php.net && pecl install yaml && docker-php-ext-enable yaml && cd /app/ && php yaml-generation/generateDimensions.php'
5+
#docker run --rm --interactive --tty --volume $PWD/:/app --user $(id -u):$(id -g) composer install \
6+
# --ignore-platform-reqs \
7+
# --no-interaction \
8+
# --no-plugins \
9+
# --no-scripts \
10+
# --prefer-dist
11+
#
12+
#cd ..
13+
#docker run --rm --volume $PWD/:/app php:apache-buster bash -c 'apt-get update && apt-get -y dist-upgrade && apt-get -y install apt-utils libyaml-dev wget && pecl channel-update pecl.php.net && pecl install yaml && docker-php-ext-enable yaml && cd /app/ && php yaml-generation/generateDimensions.php'

yaml-generation/generateDimensions.php

Lines changed: 31 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,18 @@
22

33
require_once "functions.php";
44

5+
$metadata = readYaml("src/assets/YAML/meta.yaml");
6+
$teams = $metadata["teams"];
7+
if(sizeof($teams) == 0) {
8+
echo "Warning: No teams defined";
9+
}
10+
$teamsImplemented = array();
11+
foreach($teams as $team) {
12+
$teamsImplemented[$team] = false;
13+
}
14+
15+
16+
517
$files = glob("src/assets/YAML/default/*/*.yaml");
618
$dimensions=array();
719
foreach ($files as $filename) {
@@ -50,9 +62,6 @@
5062
}
5163

5264
foreach ($elements as $activityName => $activity) {
53-
if(array_key_exists("evidence", $activity) && $activity["evidence"] != "" && IS_IMPLEMENTED_WHEN_EVIDENCE) {
54-
$dimensionsAggregated[$dimension][$subdimension][$activityName]["isImplemented"] = true;
55-
}
5665
if (!array_key_exists("level", $activity)) {
5766
echo "'$activityName' is not complete!";
5867
echo "<pre>";
@@ -63,7 +72,25 @@
6372
if (!array_key_exists("tags", $activity)) {
6473
$dimensionsAggregated[$dimension][$subdimension][$activityName]["tags"] = [ "none" ];
6574
}
66-
}
75+
if (!array_key_exists("teamsImplemented", $activity)) {
76+
$dimensionsAggregated[$dimension][$subdimension][$activityName]["teamsImplemented"] = array();
77+
}
78+
$evidenceImplemented = array();
79+
if(array_key_exists("evidence", $activity) && is_array($activity["evidence"]) && IS_IMPLEMENTED_WHEN_EVIDENCE) {
80+
foreach($activity["evidence"] as $team => $evidenceForTeam) {
81+
if(strlen($activity["evidence"][$team]) > 0) {
82+
$evidenceImplemented[$team] = true;
83+
}else {
84+
echo "Warning: '$activityName -> evidence -> $team' has no evidence set but should have";
85+
}
86+
}
87+
}
88+
$dimensionsAggregated[$dimension][$subdimension][$activityName]["teamsImplemented"] = array_merge($teamsImplemented, $dimensionsAggregated[$dimension][$subdimension][$activityName]["teamsImplemented"], $evidenceImplemented);
89+
// can be removed in 2024
90+
if (array_key_exists("isImplemented", $activity)) {
91+
unset($dimensionsAggregated[$dimension][$subdimension][$activityName]["evidence"]);
92+
}
93+
}
6794
}
6895
}
6996
foreach ($dimensionsAggregated as $dimension => $subdimensions) {

0 commit comments

Comments
 (0)