MON-486 add requirements check script
This commit is contained in:
parent
a867b7c5f2
commit
b611b4b5aa
@ -31,11 +31,11 @@ After any change on this repo, you need to run the `./scripts/auto_update.sh ./`
|
|||||||
|
|
||||||
### Terraform ###
|
### Terraform ###
|
||||||
|
|
||||||
Version >= 0.12 is required to use these modules of monitors.
|
Here is the minimum version required to use these modules of integrations.
|
||||||
|
|
||||||
```
|
```
|
||||||
terraform {
|
terraform {
|
||||||
required_version = "~> 0.12"
|
required_version = ">= 0.12.6"
|
||||||
}
|
}
|
||||||
|
|
||||||
```
|
```
|
||||||
|
|||||||
48
scripts/00_requirements.sh
Executable file
48
scripts/00_requirements.sh
Executable file
@ -0,0 +1,48 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
set -u
|
||||||
|
|
||||||
|
source "$(dirname $0)/utils.sh"
|
||||||
|
goto_root
|
||||||
|
|
||||||
|
function check_command() {
|
||||||
|
local cmd="$1"
|
||||||
|
if ! command -v ${cmd} > /dev/null 2>&1; then
|
||||||
|
echo "This requires ${cmd} command, please install it first."
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
function verlte() {
|
||||||
|
[ "$1" = "$(echo -e "$1\n$2" | sort -V | head -n1)" ]
|
||||||
|
}
|
||||||
|
|
||||||
|
function verlt() {
|
||||||
|
[ "$1" = "$2" ] && return 1 || verlte $1 $2
|
||||||
|
}
|
||||||
|
|
||||||
|
function check_version() {
|
||||||
|
if [[ "$1" == "terraform" ]]; then
|
||||||
|
tmp_dir=$(mktemp -d)
|
||||||
|
cd ${tmp_dir}
|
||||||
|
cur_ver=$(terraform version | head -n 1 | cut -d' ' -f2)
|
||||||
|
cur_ver=${cur_ver#"v"}
|
||||||
|
cd - > /dev/null
|
||||||
|
rm -fr ${tmp_dir}
|
||||||
|
req_ver=$(grep required_version README.md | awk '{print $4}')
|
||||||
|
req_ver=${req_ver%'"'}
|
||||||
|
elif [[ "$1" == "terraform-docs" ]]; then
|
||||||
|
req_ver="0.6.0"
|
||||||
|
cur_ver=$(terraform-docs --version)
|
||||||
|
else
|
||||||
|
return
|
||||||
|
fi
|
||||||
|
if ! verlte $req_ver $cur_ver; then
|
||||||
|
echo "This requires at least version ${req_ver} of $1, please upgrade (current version is ${cur_ver})"
|
||||||
|
exit 2
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
for cmd in terraform terraform-docs; do
|
||||||
|
check_command $cmd
|
||||||
|
check_version $cmd
|
||||||
|
done
|
||||||
Loading…
x
Reference in New Issue
Block a user