Skip to content

Commit 81113bf

Browse files
nightly script for building sample parent stack list
Signed-off-by: Michael Valdron <mvaldron@redhat.com>
1 parent aa0e1dd commit 81113bf

File tree

1 file changed

+53
-0
lines changed

1 file changed

+53
-0
lines changed

tests/build_sample_parents_nightly.sh

Lines changed: 53 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,53 @@
1+
#!/bin/bash
2+
3+
base_path=$(dirname $0)/..
4+
samples_file=${base_path}/extraDevfileEntries.yaml
5+
# Cached remote samples directory
6+
samples_dir=${base_path}/samples/.cache
7+
8+
# Clones remote samples into cache directory
9+
clone_samples() {
10+
samples_len=$(yq eval '.samples | length' ${samples_file})
11+
12+
# Removes old cached samples directory
13+
if [ -d ${samples_dir} ]; then
14+
rm -rf ${samples_dir}
15+
fi
16+
17+
for ((idx=0;idx<${samples_len};idx++)); do
18+
name=$(yq eval .samples.${idx}.name ${samples_file})
19+
remote_url=$(yq eval .samples.${idx}.git.remotes.origin ${samples_file})
20+
21+
git clone --depth=1 ${remote_url} ${samples_dir}/${name}
22+
done
23+
}
24+
25+
# Builds sample parent dependency file
26+
build_parents() {
27+
samples_len=$(yq eval '.samples | length' ${samples_file})
28+
29+
if [ -f parents.yaml ]; then
30+
rm parents.yaml
31+
fi
32+
33+
for ((idx=0;idx<${samples_len};idx++)); do
34+
name=$(yq eval .samples.${idx}.name ${samples_file})
35+
devfile=${samples_dir}/${name}/devfile.yaml
36+
parent=$(yq eval .parent.id ${devfile})
37+
38+
if [ "${parent}" != "null" ]; then
39+
if [ -f parents.yaml ] && [ "$(yq eval .parents.${parent}.children parents.yaml)" != "null" ]; then
40+
next_idx=$(yq eval ".parents.${parent}.children | length" parents.yaml)
41+
yq eval ".parents.${parent}.children[${next_idx}] = \"${name}\"" -i parents.yaml
42+
elif [ -f parents.yaml ]; then
43+
yq eval ".parents.${parent}.children[0] = \"${name}\"" -i parents.yaml
44+
else
45+
yq eval -n ".parents.${parent}.children[0] = \"${name}\"" > parents.yaml
46+
fi
47+
fi
48+
done
49+
}
50+
51+
clone_samples
52+
53+
build_parents

0 commit comments

Comments
 (0)