diff --git a/.circleci/config.yml b/.circleci/config.yml index 7d0f0a861..222119d6b 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -14,20 +14,28 @@ jobs: executor: default-executor steps: - checkout + - run: + name: install retry + command: scripts/install-retry.sh - run: name: build and deploy command: | yes | sdkmanager "platforms;android-27" || true - ./gradlew :android:assembleRelease && scripts/publish-android-snapshot.sh + /tmp/retry -m 3 ./gradlew :android:assembleRelease + /tmp/retry -m 3 scripts/publish-android-snapshot.sh release: executor: default-executor steps: - checkout + - run: + name: install retry + command: scripts/install-retry.sh - run: name: build and deploy command: | yes | sdkmanager "platforms;android-27" || true - ./gradlew :android:assembleRelease && scripts/publish-android-release.sh + /tmp/retry -m 3 ./gradlew :android:assembleRelease + /tmp/retry -m 3 scripts/publish-android-release.sh workflows: version: 2 build-and-deploy: diff --git a/scripts/install-retry.sh b/scripts/install-retry.sh new file mode 100755 index 000000000..946857a8c --- /dev/null +++ b/scripts/install-retry.sh @@ -0,0 +1,16 @@ +#!/bin/bash -xe +# Copyright (c) Facebook, Inc. and its affiliates. +# +# This source code is licensed under the MIT license found in the +# LICENSE file in the root directory of this source tree. + +# try to install with wget +command -v wget &>/dev/null && wget -O /tmp/retry "https://github.com/moul/retry/releases/download/v0.5.0/retry_$(uname -s)_$(uname -m)" || true + +# try to install with curl +if [ ! -f /tmp/retry ]; then + command -v curl &>/dev/null && curl -L -o /tmp/retry "https://github.com/moul/retry/releases/download/v0.5.0/retry_$(uname -s)_$(uname -m)" +fi + +chmod +x /tmp/retry +/tmp/retry --version