|
3 | 3 | set -e |
4 | 4 | set -o pipefail |
5 | 5 |
|
| 6 | +function get_latest_minor_version_tags() { |
| 7 | + count=$1 |
| 8 | + |
| 9 | + git tag -l \ |
| 10 | + | sed -E 's/(v[0-9]\.[0-9]+).*/\1/' \ |
| 11 | + | sort -Vu \ |
| 12 | + | tail -n "$count" |
| 13 | +} |
| 14 | + |
| 15 | +function get_latest_patch_versions() { |
| 16 | + count=$1 |
| 17 | + |
| 18 | + while read -r minor; do |
| 19 | + git tag -l | grep "^$minor" | sort -V | tail -n 1 |
| 20 | + done < <(get_latest_minor_version_tags "$count") |
| 21 | +} |
| 22 | + |
6 | 23 | npm install snyk snyk-to-html --location=global |
7 | 24 |
|
8 | 25 | # Choose the branch where docs changes will actually be written. |
@@ -39,24 +56,14 @@ git checkout master |
39 | 56 |
|
40 | 57 | minor_version=$(git tag -l | sort -V | tail -n 1 | grep -Eo '[0-9]+\.[0-9]+') |
41 | 58 | patch_num=$(git tag -l | grep "v$minor_version." | grep -o "[a-z[:digit:]-]*$" | sort -V | tail -n 1) |
42 | | -version="v$minor_version.$patch_num" |
43 | | -versions="master " |
44 | 59 |
|
45 | 60 | version_count=3 |
46 | 61 | # When the most recent version is still a release candidate, get reports for 4 versions (so the 3 most recent stable |
47 | 62 | # releases are included). |
48 | 63 | if [[ $patch_num == "0-rc"* ]]; then version_count=4; fi |
| 64 | +versions="$(get_latest_patch_versions "$version_count")" |
49 | 65 |
|
50 | | -for i in $(seq "$version_count"); do |
51 | | - if [ "$version" == "" ]; then break; fi |
52 | | - # Nightmare code to get the most recent patches of the three most recent minor versions. |
53 | | - versions+="$version " |
54 | | - minor_num=$(printf '%s' "$minor_version" | sed -E 's/[0-9]+\.//') |
55 | | - minor_num=$((minor_num-1)) |
56 | | - minor_version=$(printf '%s' "$minor_version" | sed -E "s/\.[0-9]+$/.$minor_num/g") |
57 | | - patch_num=$(git tag -l | grep "v$minor_version." | grep -o "[a-z[:digit:]-]*$" | sort -V | tail -n 1) |
58 | | - version="v$minor_version.$patch_num" |
59 | | -done |
| 66 | +echo "Analyzing versions: $versions" |
60 | 67 |
|
61 | 68 | for version in $versions; do |
62 | 69 | printf '\n%s\n\n' "### $version" >> "$argocd_dir/docs/snyk/index.md" |
|
0 commit comments