22
22
BEFORE_COVERAGE=/tmp/coverage-api-${BEFORE_SHA}.json
23
23
AFTER_COVERAGE=/tmp/coverage-api-${AFTER_SHA}.json
24
24
COVERAGE_DIFF=/tmp/coverage-api-${BEFORE_SHA}-${AFTER_SHA}-DIFF.json
25
-
25
+
26
26
vars=(
27
27
BEFORE_SHA
28
28
AFTER_SHA
33
33
AFTER_COVERAGE
34
34
COVERAGE_DIFF
35
35
)
36
-
36
+
37
37
{
38
38
for var in "${vars[@]}"
39
39
do
@@ -48,19 +48,19 @@ jobs:
48
48
shell : bash -eo pipefail {0}
49
49
run : |
50
50
docker build coverage --tag opensearch-with-api-plugin
51
-
51
+
52
52
docker run \
53
53
--name opensearch \
54
54
--rm -d \
55
55
-p 9200:9200 -p 9600:9600 \
56
56
-e "discovery.type=single-node" \
57
57
-e OPENSEARCH_INITIAL_ADMIN_PASSWORD="$OPENSEARCH_PASSWORD" \
58
58
opensearch-with-api-plugin
59
-
59
+
60
60
npm ci
61
-
61
+
62
62
npm run dump-cluster-spec -- --opensearch-insecure --output $CLUSTER_SPEC
63
-
63
+
64
64
docker stop opensearch
65
65
env :
66
66
OPENSEARCH_PASSWORD : BobgG7YrtsdKf9M
@@ -92,14 +92,14 @@ jobs:
92
92
--cluster $CLUSTER_SPEC \
93
93
--specification $BEFORE_SPEC \
94
94
--output $BEFORE_COVERAGE
95
-
95
+
96
96
npm run coverage:spec -- \
97
97
--cluster $CLUSTER_SPEC \
98
98
--specification $AFTER_SPEC \
99
99
--output $AFTER_COVERAGE
100
-
100
+
101
101
jq . $AFTER_COVERAGE
102
-
102
+
103
103
jq --slurp '
104
104
[ .[].counts ]
105
105
| {
@@ -116,6 +116,18 @@ jobs:
116
116
$AFTER_COVERAGE \
117
117
| tee $COVERAGE_DIFF
118
118
119
+ - name : Display Coverage Checklist
120
+ shell : bash -eo pipefail {0}
121
+ run : |
122
+ jq -sc '
123
+ (map(.endpoints .uncovered | to_entries | sort_by(.value) | map((.value[] | ascii_upcase) + " " + .key)) | .[] | to_entries | map({path: .value, covered: false})) as $uncovered |
124
+ (map(.endpoints .covered | to_entries | sort_by(.value) | map((.value[] | ascii_upcase) + " " + .key)) | .[] | to_entries | map({path: .value, covered: true})) as $covered |
125
+ $covered+$uncovered |
126
+ sort_by(.path) |
127
+ map(if .covered then "-[x] \(.path)" else "-[ ] \(.path)" end) |
128
+ .[]
129
+ ' $AFTER_COVERAGE | jq -r
130
+
119
131
- name : Upload Coverage Data
120
132
id : upload-coverage
121
133
uses : actions/upload-artifact@v4
@@ -150,7 +162,7 @@ jobs:
150
162
exit 1
151
163
fi
152
164
fi
153
-
165
+
154
166
gawk '
155
167
BEGIN {
156
168
RS = "(\r|\n|\r\n)"
@@ -176,7 +188,7 @@ jobs:
176
188
HAD_CHANGES = 1
177
189
print
178
190
}
179
-
191
+
180
192
END {
181
193
if (!HAD_CHANGES) {
182
194
print "**NO CHANGES**\n"
0 commit comments