From 83ebd8998e660613a1b49b9b078755a4bd4af316 Mon Sep 17 00:00:00 2001 From: Cameron Fieber Date: Mon, 28 Oct 2019 14:43:25 -0700 Subject: [PATCH] feat(build): enable autobump PRs for fiat-api consumers (#495) --- .travis.yml | 3 ++- autobump.sh | 37 +++++++++++++++++++++++++++++++++++++ gradle.properties | 3 ++- gradle/buildViaTravis.sh | 14 +++++++++----- gradle/installViaTravis.sh | 5 +++-- 5 files changed, 53 insertions(+), 9 deletions(-) create mode 100755 autobump.sh diff --git a/.travis.yml b/.travis.yml index 73a62e1d6..b9b5c25fc 100644 --- a/.travis.yml +++ b/.travis.yml @@ -8,7 +8,7 @@ script: gradle/buildViaTravis.sh before_cache: gradle/prepCaches.sh cache: directories: - - $HOME/.gradle + - "$HOME/.gradle" notifications: slack: secure: kMXns7LNCnTvLnISKaF4TjwZUhwo/Z5wr1K1dU8Jcn+NZH0v1IykrLOfqJ5Ww7pFzGYk/LWVR0ZLPExW5l6UNbcG1hqRkzqlM1qqmtv7WKoGbljTEDdUQx8uAY4U0qjM+qAdJR4+kOfpEVHFH8ojVYMIW+LC0jCDxxO86xjJ0CWWJ4xYNDDvwizwVZLyimR8OYOyapWFuKS44Zl9diEcXgglWHklpOUfP9b88FF4siMWX0z5zsMBjn5kzQfIj/8AY95FD7OQxXdkneYQXj6VeuaU2iY9HdvS/PtGZo5dItnWNv+Is5f1/HwuNQunmCARA2Ss+vHjGXbvjXN+ZO78iCL4e1X3Arvo6/zVsMDKTmSFLgnkbi/SS98jxCvq13JdDi8AEXjj+gZvV4xpLQK6VQuDcz+gcbyoH1gN5daPZKOmO/z018e2QJ+7nNlKQAa8e29zaaIQywqG1TLFPhyKC3Q6fAXWNfVE37sI/WCcaIK3AK9uanlxPub8UYoEvws17X0kS7SpJtjyyNZ9hSNFR8Br8mE9GsIj/BSh2dRNxD+ooRyIPhqk6QmKSl3jWoJ/oU3A5bKSBNJG3SiL3lVLbM4I+3ETSMTEKJH4o9XP9XixnCusoYqJ2kfz8VNTpUCg75X4/QSTKoNe22XqnoNs/OsHeLCn1zgCKtpnUEL2/bs= @@ -16,3 +16,4 @@ env: global: - secure: K5duJ5d+7BEZzlVxp0fInpsP6WzNTPz2fRpqiAl8lFpioJxEVjiodxCtDRnACJcC8SxqcoeidMev9JeIynsatL1eDVziO/SzDkPgjD8pMSP/e6UXNPkrt4XGXt5D2bErzwwNEAQpW11PabFyDY0TkD4z5Aknl+BDd+9T5XLALerPbK2DXT7xzp8GYBfLXCuY7epKoC1Y0r/li944lAb8tpvxFbCP3d/fgDph59eNHPPDXKbzIFrIVgzgSiJi9xJB3xdnVzI7t5d4nBg1sLtID5jyF4baCMS2bIzzZHBKvzA1uuba1dfF6x3oDrv44XZtnjw5utrRRnb5ozZT/KIl3nmAZQBmYVKZJ3HD+jt4vS7A0i7Oxu7nQaE6HwyEVKDJ7g7TmYdB5g6VgpwSfpt8aqv0JblFfHHUAHQSLsbxG3vzBgMqr51CdszwjkgfJWXNZDjYHXM8WBJQW7VpCXbYQ5fxQjDQYsavN1mNTyWjNyIaG/5iNFXrxPgWPOmW13Vq2xGxBH/NqpY0onMvF6Lle9smmbg82ons5NyRCLEYLw0OtzebBqX1T4J2/3MaNLnUmYm9cjRZ/dg/JpVagzeNytGZcctmqidyj3Ifxw0yP1Hw3k3m00bRdUstUqOjQvwGVB45um6BonfKtsWvAFW7FI6mGdQ4mRhUmawjANpBCN8= - secure: wzhFJbfgpGrT+BRRA32y+OjSGGhCHoECZO0c3/qrsmG8w8r/aVtZTBWwxeL5aJWITYVmpgerwfLG4+t2Rgq8vuJi/cbCsjzgVHM0YxH/MYAPzXj8Is4/MCVSuUG5VoRfjuErQe0VDtFywJKCe5IVOL2P52ufyhir1tV6eDFTObfdvFcFxpY4m+Ko6uqrwG8SXky2040fScp4QL5MRrEyZYZ4TEc091w6FHqS9NhD5KlgvQhXpXyEeJH931eI3DOgzocSSkB5jLa1j/brqHaFzh5B9Bmx//9INi0WNl9qTzd1M2le5rn8nYLd/DnAl4mP1ftyl+68SbMOOkqSIBw82xytfShrOtNtmq6xqKkp934wTHBkxm6XTZr/2ae8bgWTK26Pk33SyaynjlGK8hucoZhFHoDJuoIgM9cbMCjIyDaYwXHBNrqcZxxFQGuiVbRUZ/RLF4XGobA89+fQo5tjdF+KqUspAR3BGuK+TTFZpj9ljM3ZDYijWRsKuScG4LId/ryH3Pg0mYCngnDvJZI3tlwwu+wDJwZplVgaeK4TQcBdmf/S8P3gfjKNxO9JzmmRkmsFGdi/wicmDUF314UXKy6QDWKeDc2eoYXwHn0LbTd91+Ci95ypPYtJRAcmDzIDcXXgIxaCJOAt9JLXrn6wPQc/5tBO3n//q+dnApuSxsI= + - secure: qkdamEp1pjwpV4XFJJUGv12Vt+q4TR5cpCZXf+wYGZTS6fq61/rLZxdnZks6E7r0ZYkdraMrpdbH29JbC5va3Okhm2NEBXvbyZshUO+ijM52FRm2Yhb+UF/a0RDeNLyzMf7vHx/DyfcVdPCfMWYg2KOP0K7Qv9e2cjDa4Bd1RdCCRcG/0p+NbYj9ucYvnOPFbljDw61hab4InLRu9WC6hRyVZ1GG11CIoEJg8htMrNehCzzTV2ThR0dS8dU4oGhjvaISqVSLC4cpMPWimKuY4ZNhcTbuQwDtsaXfawlWF6IM6OmTsRlvi3Y21FixN27K/o4H0ifs2C/WLBusxwQIYBDyE7gLWNNY7/KV0egmZB8dG45iIwgtivKddtTVOO9SUueJxL+1FAOPSsylWoZtQQbM/hNMV3Z6tvXMJc+SWVCc5ny09AdjQvr5OiHgbsT0UiGHNI7MZmO8MzlkJxAQLidSCqW9/GN0I8XJghy1aoGrzOoeehI8Oat1fOm/XzlKOVNfwMYZCwWevRUZ99KW36ftpg49vMTF3H0/ecrXmbeeTylQ5RmotiVEOCd8SqD1YReCE2xfJHbpXOMp2EIucqN+WC4LHM07EWeS/972s+jq21E6Oh3Op5QeqMm7rbq9sIuqBr/1qKJZLa/kBTnZeKGu7R5jg/gbzZ9xxA1CkPU= diff --git a/autobump.sh b/autobump.sh new file mode 100755 index 000000000..19c835c71 --- /dev/null +++ b/autobump.sh @@ -0,0 +1,37 @@ +#!/bin/bash +# +# wrapper script around running the merge or close auto bump PR +# gradle tasks (ensures publishing is enabled and simplifies the +# CLI for this specific use case). +# +# intended for use by a fiat updater on their local dev environment +# after a fiat release build has completed and the PRs are ready +# for merging (not intended as a CI type of script) +# +# to use, you will need github.token set in your +# ~/.gradle/gradle.properties file or GITHUB_TOKEN present as an +# environment variable +# + +SCRIPT_DIR=`dirname $0` + +GRADLE="$SCRIPT_DIR/gradlew -b $SCRIPT_DIR/build.gradle -PenablePublishing=true" + +if [[ ! -z ${GITHUB_TOKEN} ]]; then + GRADLE="$GRADLE -Pgithub.token=$GITHUB_TOKEN" +fi + +case $1 in + merge) + $GRADLE mergeAllAutoBumpPRs + ;; + + close) + $GRADLE closeAllAutoBumpPRs + ;; + + *) + echo "usage: $0 " + echo " merge - merge all mergeable fiat autobump PRs" + echo " close - close all open fiat autobump PRs" +esac diff --git a/gradle.properties b/gradle.properties index 60263681c..191a5063e 100644 --- a/gradle.properties +++ b/gradle.properties @@ -1,6 +1,7 @@ #Mon Oct 28 20:23:46 UTC 2019 enablePublishing=false -spinnakerGradleVersion=7.0.1 korkVersion=6.15.1 +spinnakerGradleVersion=7.1.1 +org.gradle.parallel=true includeProviders=file,github,google-groups,ldap org.gradle.parallel=true diff --git a/gradle/buildViaTravis.sh b/gradle/buildViaTravis.sh index c9f9a495a..71672c57d 100755 --- a/gradle/buildViaTravis.sh +++ b/gradle/buildViaTravis.sh @@ -1,7 +1,10 @@ #!/bin/bash # This script will build the project. -GRADLE="./gradlew -PenablePublishing=true" +set -e + +GRADLE="./gradlew -PenablePublishing=true --no-daemon --max-workers=1" +export GRADLE_OPTS="-Xmx1g -Xms1g" if [ "$TRAVIS_PULL_REQUEST" != "false" ]; then echo -e "Build Pull Request #$TRAVIS_PULL_REQUEST => Branch [$TRAVIS_BRANCH]" @@ -12,13 +15,14 @@ elif [ "$TRAVIS_PULL_REQUEST" == "false" ] && [ "$TRAVIS_TAG" == "" ]; then elif [ "$TRAVIS_PULL_REQUEST" == "false" ] && [ "$TRAVIS_TAG" != "" ]; then echo -e 'Build Branch for Release => Branch ['$TRAVIS_BRANCH'] Tag ['$TRAVIS_TAG']' case "$TRAVIS_TAG" in - version-*) - ;; # Ignore Spinnaker product release tags. *-rc\.*) - $GRADLE -Prelease.travisci=true -Prelease.useLastTag=true -PbintrayUser="${bintrayUser}" -PbintrayKey="${bintrayKey}" candidate --stacktrace + $GRADLE -Prelease.travisci=true -Prelease.useLastTag=true -PbintrayUser="${bintrayUser}" -PbintrayKey="${bintrayKey}" candidate --info ;; *) - $GRADLE -Prelease.travisci=true -Prelease.useLastTag=true -PbintrayUser="${bintrayUser}" -PbintrayKey="${bintrayKey}" final --stacktrace + $GRADLE --info -Prelease.travisci=true -Prelease.useLastTag=true -PbintrayUser="${bintrayUser}" -PbintrayKey="${bintrayKey}" final + # delay a bit to let published artifacts get all mirrored etc before autobumping + sleep 60 + $GRADLE --info -Prelease.travisci=true -Prelease.useLastTag=true -PbintrayUser="${bintrayUser}" -PbintrayKey="${bintrayKey}" -Pgithub.token="${githubToken}" bumpDependencies ;; esac else diff --git a/gradle/installViaTravis.sh b/gradle/installViaTravis.sh index 9b21f349f..e46affab2 100755 --- a/gradle/installViaTravis.sh +++ b/gradle/installViaTravis.sh @@ -1,14 +1,15 @@ #!/bin/bash # This script will build the project. -GRADLE="./gradlew -PenablePublishing=true" +GRADLE="./gradlew -PenablePublishing=true --no-daemon --max-workers=1" +export GRADLE_OPTS="-Xmx1g -Xms1g" if [ "$TRAVIS_PULL_REQUEST" != "false" ]; then echo -e "Assemble Pull Request #$TRAVIS_PULL_REQUEST => Branch [$TRAVIS_BRANCH]" $GRADLE assemble elif [ "$TRAVIS_PULL_REQUEST" == "false" ] && [ "$TRAVIS_TAG" == "" ]; then echo -e 'Assemble Branch with Snapshot => Branch ['$TRAVIS_BRANCH']' - $GRADLE -Prelease.travisci=true assemble + $GRADLE -Prelease.travisci=true assemble elif [ "$TRAVIS_PULL_REQUEST" == "false" ] && [ "$TRAVIS_TAG" != "" ]; then echo -e 'Assemble Branch for Release => Branch ['$TRAVIS_BRANCH'] Tag ['$TRAVIS_TAG']' $GRADLE -Prelease.travisci=true assemble