#!/usr/bin/env bash
# Uploads a new version of the co19 CIPD packages.
# This script requires access to the dart-build-access group, which EngProd has.

set -e
set -x

if [ ! -e tests/co19_2 ]; then
  echo "$0: error: Run this script at the root of the Dart SDK" >&2
  exit 1
fi

# Find the latest co19 commit.
rm -rf tests/co19_2/src.git
git clone https://dart.googlesource.com/co19 tests/co19_2/src.git
CO19=tests/co19_2/src.git
OLD=$(gclient getdep --var=co19_2_rev)
NEW=$(cd $CO19 && git fetch origin && git rev-parse origin/master)

git fetch origin
git branch cl-co19-roll-co19-to-$NEW origin/master
git checkout cl-co19-roll-co19-to-$NEW

# Build a cipd package of the commit.
BUILD_ID=$(bb add \
              -commit https://dart.googlesource.com/co19/+/$NEW \
              -json \
              dart/ci/co19-roller \
             | jq '.id' \
             | tr -d '"')
bb collect -interval 10s $BUILD_ID

# Update DEPS:
gclient setdep --var=co19_2_rev=$NEW

# Make a nice commit. Don't include the '#' character to avoid referencing Dart
# SDK issues.
git commit DEPS -m \
  "$(printf "[co19] Roll co19 to $NEW\n\n" &&
     cd $CO19 &&
     git log --date='format:%Y-%m-%d' --pretty='format:%ad %ae %s' \
       $OLD..$NEW | tr -d '#')"

rm -rf tests/co19_2/src.git

GIT_EDITOR=true git cl upload
ISSUE=$(git config --get branch.cl-co19-roll-co19-to-$NEW.gerritissue)

BUILDERS=$(jq '.builder_configurations|
                map(select(.steps|
                           any(.arguments|
                               select(.!=null)|
                               any(.=="co19_2"))))|
                map(.builders)|
                flatten|
                sort' \
                tools/bots/test_matrix.json \
             | tr -d '[",]')

git cl try -B luci.dart.try $(for BUILDER in $BUILDERS; do echo -b $BUILDER-try; done)

git cl web

set +x
cat << EOF

Wait for the builders to finish. If any failed, pre-approve them:

  tools/sdks/dart-sdk/bin/dart tools/approve_results.dart \
    -p https://dart-review.googlesource.com/c/sdk/+/$ISSUE
EOF
