@@ -54,21 +54,40 @@ begin_test "ghe-host-check detects unsupported GitHub Enterprise Server versions
54
54
set -e
55
55
# shellcheck disable=SC2046 # Word splitting is required to populate the variables
56
56
read -r bu_version_major bu_version_minor _ <<< $( ghe_parse_version $BACKUP_UTILS_VERSION )
57
-
57
+ bu_major_minor=" $bu_version_major .$bu_version_minor "
58
+ releases=$( /usr/bin/curl -s https://github-enterprise.s3.amazonaws.com/release/latest.json)
59
+ supported=$( echo $releases | jq -r ' select(."' ${bu_major_minor} ' ")' )
60
+ # shellcheck disable=SC2207 # Command required as alternatives fail
61
+ keys=($( echo $releases | jq -r ' keys[]' ) )
62
+
63
+ if [ -z " $supported " ]
64
+ then
65
+ # BACKUP_UTILS_VERSION WAS NOT FOUND IN LATEST.JSON, CHECK IF ITS GREATER THAN LAST VERSION
66
+ if [ " $( version $bu_major_minor ) " -ge " $( version ${keys[$((${#keys[@]} - 2 ) )]})" ]; then
67
+ GHE_TEST_REMOTE_VERSION=" $bu_major_minor .0" ghe-host-check
68
+ GHE_TEST_REMOTE_VERSION=" ${keys[$(( ${#keys[@]} - 2 ))]}.0" ghe-host-check
69
+ GHE_TEST_REMOTE_VERSION=" ${keys[$(( ${#keys[@]} - 3 ))]}.0" ghe-host-check
70
+ fi
71
+ else
72
+ # BACKUP_UTILS_VERSION WAS FOUND IN LATEST.JSON
73
+ ix=0
74
+ for i in " ${keys[@]} " ; do
75
+ if [ " $i " == " $bu_major_minor " ]; then
76
+ break
77
+ fi
78
+ ix=$(( $ix + 1 ))
79
+ done
80
+ GHE_TEST_REMOTE_VERSION=" ${keys[$ix]} .0" ghe-host-check
81
+ GHE_TEST_REMOTE_VERSION=" ${keys[$(( $ix - 1 ))]} .0" ghe-host-check
82
+ GHE_TEST_REMOTE_VERSION=" ${keys[$(( $ix - 2 ))]} .0" ghe-host-check
83
+
84
+ fi
58
85
! GHE_TEST_REMOTE_VERSION=11.340.36 ghe-host-check
59
- # hardcode until https://github.com/github/backup-utils/issues/675 is resolved
60
- ! GHE_TEST_REMOTE_VERSION=2.20.0 ghe-host-check
61
- ! GHE_TEST_REMOTE_VERSION=2.21.0 ghe-host-check
62
- ! GHE_TEST_REMOTE_VERSION=2.22.0 ghe-host-check
63
- ! GHE_TEST_REMOTE_VERSION=3.0.0 ghe-host-check
64
- ! GHE_TEST_REMOTE_VERSION=3.1.0 ghe-host-check
65
- GHE_TEST_REMOTE_VERSION=3.2.0 ghe-host-check
66
- GHE_TEST_REMOTE_VERSION=$BACKUP_UTILS_VERSION ghe-host-check
67
- GHE_TEST_REMOTE_VERSION=$BACKUP_UTILS_VERSION ghe-host-check
68
86
GHE_TEST_REMOTE_VERSION=$bu_version_major .$bu_version_minor .999 ghe-host-check
69
87
GHE_TEST_REMOTE_VERSION=$bu_version_major .$bu_version_minor .999gm1 ghe-host-check
70
88
! GHE_TEST_REMOTE_VERSION=3.9999.1521793591.performancetest ghe-host-check
71
89
GHE_TEST_REMOTE_VERSION=$(( bu_version_major+ 1 )) .0.0 ghe-host-check
90
+
72
91
)
73
92
end_test
74
93
0 commit comments