···11+#!/usr/bin/env nix-shell
22+#!nix-shell -i bash -p common-updater-scripts curl jq
33+# API documentation: https://docs.saucelabs.com/dev/api/connect/
44+55+set -Eeuo pipefail
66+shopt -s lastpipe
77+die() {
88+ echo -e "${BASH_SOURCE[0]}:${BASH_LINENO[0]}" ERROR: "$@" >&2
99+ exit 1
1010+}
1111+# shellcheck disable=2154
1212+trap 's=$?; die "$BASH_COMMAND"; exit $s' ERR
1313+1414+# Versions may not be updated simultaneously across all platforms, so need to figure out the latest
1515+# version that includes both platforms. For example, currently the latest on Linux is 4.9.2 while
1616+# Mac is 4.9.1.
1717+response=$(curl -fsSL 'https://api.us-west-1.saucelabs.com/rest/v1/public/tunnels/info/versions?all=true')
1818+all_versions=$(jq --exit-status --raw-output \
1919+ '.all_downloads | to_entries[] | select(.value | has("linux") and has("osx")) | .key' \
2020+ <<< "$response")
2121+latest_version=$(sort --version-sort <<< "$all_versions" | tail -n 1)
2222+for platform in x86_64-linux x86_64-darwin; do
2323+ update-source-version sauce-connect 0 "sha256-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=" \
2424+ --source-key="passthru.sources.$platform"
2525+ update-source-version sauce-connect "$latest_version" \
2626+ --source-key="passthru.sources.$platform"
2727+done