Feat: Allow use of newer JDKs for Sonar scans
[releng/global-jjb.git] / shell / job-cost.sh
index 595b342..b856f6a 100644 (file)
@@ -15,11 +15,18 @@ set -euf -o pipefail
 # shellcheck disable=SC1090
 source ~/lf-env.sh
 
+if [[ ! -f /run/cloud-init/result.json && ! -f stack-cost ]]; then
+    # Don't attempt to calculate job cost as build is not running in a
+    # cloud environment
+    echo "INFO: Skipping job cost calculation"
+    exit 0
+fi
+
 # AWS job cost not supported, exit
 cloudtype="$(jq -r .v1.datasource /run/cloud-init/result.json)"
 if [[ $cloudtype == "DataSourceEc2Local" ]]; then
-  echo "INFO: Not able to calculate job cost on AWS"
-  exit 0
+    echo "INFO: Not able to calculate job cost on AWS"
+    exit 0
 fi
 
 lf-activate-venv zipp==1.1.0 python-openstackclient
@@ -46,9 +53,8 @@ else
 fi
 
 # Retrieve the current uptime (in seconds)
-uptime=$(awk '{print $1}' /proc/uptime)
-# Convert to integer by truncating fractional part' and round up by one
-((uptime=${uptime%\.*}+1))
+# And Convert to integer by truncating fractional part' and round up by one
+uptime=$(awk '{print int($1 + 1)}' /proc/uptime)
 
 # EC2 and OpenStack have simiar instace metadata APIs at this IP
 # AWS docs: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instancedata-data-retrieval.html