#!/usr/bin/env bash set -e set -u set -o pipefail if [[ "${CI:-}" != 'true' ]] then printf '%s\n' 'CI environment variable must be set to true' exit 1 fi if [[ "${CIRCLECI:-}" != 'true' ]] then printf '%s\n' 'CIRCLECI environment variable must be set to true' exit 1 fi if [[ -z "${GITHUB_TOKEN:-}" ]] then printf '%s\n' 'GITHUB_TOKEN environment variable must be set' exit 1 fi function install_github_cli () { printf '%s\n' 'Installing hub CLI' pushd "$(mktemp -d)" curl -sSL 'https://github.com/github/hub/releases/download/v2.11.2/hub-linux-amd64-2.11.2.tgz' | tar xz PATH="$PATH:$PWD/hub-linux-amd64-2.11.2/bin" popd } version="${CIRCLE_BRANCH/Version-v/}" base_branch='master' if [[ -n "${CI_PULL_REQUEST:-}" ]] then printf '%s\n' 'CI_PULL_REQUEST is set, pull request already exists for this build' exit 0 fi install_github_cli printf '%s\n' "Creating a Pull Request for $version on GitHub" if ! hub pull-request \ --draft \ --message "${CIRCLE_BRANCH/-/ } RC" --message ':package: :rocket:' \ --base "$CIRCLE_PROJECT_USERNAME:$base_branch" \ --head "$CIRCLE_PROJECT_USERNAME:$CIRCLE_BRANCH"; then printf '%s\n' 'Pull Request already exists' fi