| #!/usr/bin/env bash |
| # Copyright 2019 The Flutter Authors. All rights reserved. |
| # Use of this source code is governed by a BSD-style license that can be |
| # found in the LICENSE file. |
| |
| # Run via ./prs_to_main.sh $GITHUB_USERNAME $GITHUB_TOKEN $REPOSITORY_NAME_WITH_OWNER |
| # |
| # To keep this script simple, you'll need to rerun this multiple times until it stops |
| # outputting PRs (indicating it processed all PRs) |
| |
| GITHUB_ACTOR=$1 |
| GITHUB_TOKEN=$2 |
| GITHUB_REPOSITORY=$3 |
| PREVIOUS_DEFAULT="master" |
| NEW_DEFAULT="main" |
| GITHUB_API_URL="https://api.github.com" |
| |
| # Check all existing PRs to see if we should change their base |
| PRS=$(curl --silent -u $GITHUB_ACTOR:$GITHUB_TOKEN "$GITHUB_API_URL/repos/$GITHUB_REPOSITORY/pulls?base=$PREVIOUS_DEFAULT&state=open") |
| |
| for row in $(echo $PRS | jq -r 'map(select(.locked == false)) | .[].url'); do |
| echo "Attempting to update $row" |
| curl --silent --show-error -w "Status Code: %{http_code}\n" --request PATCH --data '{"base": "'$NEW_DEFAULT'"}' -u $GITHUB_ACTOR:$GITHUB_TOKEN "$row" |
| done |