Unverified Commit 109400fa authored by Weijia Wang's avatar Weijia Wang Committed by GitHub
Browse files

Merge pull request #272774 from chasecaleb/update-sauce-connect

sauce-connect: 4.5.4 -> 4.9.1
parents b55c45c4 d31e17fa
Loading
Loading
Loading
Loading
+20 −16
Original line number Diff line number Diff line
@@ -2,20 +2,24 @@

stdenv.mkDerivation rec {
  pname = "sauce-connect";
  version = "4.5.4";
  version = "4.9.1";

  src = fetchurl (
    if stdenv.hostPlatform.system == "x86_64-linux" then {
  passthru = {
    sources = {
      x86_64-linux = fetchurl {
        url = "https://saucelabs.com/downloads/sc-${version}-linux.tar.gz";
      sha256 = "1w8fw47q4bzpk5jfagmc0cbp69jdd6jcv2xl1gx91cbp7xd8mcbf";
    } else if stdenv.hostPlatform.system == "i686-linux" then {
      url = "https://saucelabs.com/downloads/sc-${version}-linux32.tar.gz";
      sha256 = "1h9n1mzmrmlrbd0921b0sgg7m8z0w71pdb5sif6h1b9f97cp353x";
    } else {
        hash = "sha256-S3vzng6b0giB6Zceaxi62pQOEHysIR/vVQmswkEZ0/M=";
      };
      x86_64-darwin = fetchurl {
        url = "https://saucelabs.com/downloads/sc-${version}-osx.zip";
      sha256 = "0rkyd402f1n92ad3w1460j1a4m46b29nandv4z6wvg2pasyyf2lj";
    }
  );
        hash = "sha256-6tJayqo+p7PMz8M651ikHz6tEjGjRIffOqQBchkpW5Q=";
      };
      aarch64-darwin = passthru.sources.x86_64-darwin;
    };
  };

  src = passthru.sources.${stdenv.hostPlatform.system}
    or (throw "Unsupported system: ${stdenv.hostPlatform.system}");

  nativeBuildInputs = [ unzip ];

@@ -39,6 +43,6 @@ stdenv.mkDerivation rec {
    license = licenses.unfree;
    homepage = "https://docs.saucelabs.com/reference/sauce-connect/";
    maintainers = with maintainers; [ offline ];
    platforms = platforms.linux ++ platforms.darwin;
    platforms = builtins.attrNames passthru.sources;
  };
}
+27 −0
Original line number Diff line number Diff line
#!/usr/bin/env nix-shell
#!nix-shell -i bash -p common-updater-scripts curl jq
# API documentation: https://docs.saucelabs.com/dev/api/connect/

set -Eeuo pipefail
shopt -s lastpipe
die() {
    echo -e "${BASH_SOURCE[0]}:${BASH_LINENO[0]}" ERROR: "$@" >&2
    exit 1
}
# shellcheck disable=2154
trap 's=$?; die "$BASH_COMMAND"; exit $s' ERR

# Versions may not be updated simultaneously across all platforms, so need to figure out the latest
# version that includes both platforms. For example, currently the latest on Linux is 4.9.2 while
# Mac is 4.9.1.
response=$(curl -fsSL 'https://api.us-west-1.saucelabs.com/rest/v1/public/tunnels/info/versions?all=true')
all_versions=$(jq --exit-status --raw-output \
    '.all_downloads | to_entries[] | select(.value | has("linux") and has("osx")) | .key' \
    <<< "$response")
latest_version=$(sort --version-sort <<< "$all_versions" | tail -n 1)
for platform in x86_64-linux x86_64-darwin; do
    update-source-version sauce-connect 0 "sha256-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=" \
        --source-key="passthru.sources.$platform"
    update-source-version sauce-connect "$latest_version" \
        --source-key="passthru.sources.$platform"
done