2018-03-02 14:08:09 +03:00
|
|
|
#!/usr/bin/env bash
|
|
|
|
|
2021-09-03 13:48:30 +03:00
|
|
|
curl_gh() {
|
|
|
|
curl \
|
|
|
|
--header "authorization: Bearer $GITHUB_TOKEN" \
|
|
|
|
"$@"
|
|
|
|
}
|
|
|
|
|
2020-06-26 13:37:31 +03:00
|
|
|
deleteOldComments() {
|
|
|
|
# delete all old comments, matching this type
|
2020-06-26 13:42:11 +03:00
|
|
|
echo "Deleting old comments for $BRANCH_TYPE"
|
2021-09-03 13:48:30 +03:00
|
|
|
oldComments=$(curl_gh > /dev/null 2>&1 -X GET https://api.github.com/repos/nextcloud/android/issues/$PR/comments | jq --arg TYPE $BRANCH_TYPE '.[] | (.id |tostring) + "|" + (.user.login | test("nextcloud-android-bot") | tostring) + "|" + (.body | test([$TYPE]) | tostring)'| grep "true|true" | tr -d "\"" | cut -f1 -d"|")
|
2020-06-26 13:42:11 +03:00
|
|
|
count=$(echo $oldComments | grep true | wc -l)
|
|
|
|
echo "Found $count old comments"
|
2020-06-26 13:37:31 +03:00
|
|
|
|
|
|
|
echo $oldComments | while read comment ; do
|
2020-06-26 13:42:11 +03:00
|
|
|
echo "Deleting comment: $comment"
|
2021-09-03 13:48:30 +03:00
|
|
|
curl_gh > /dev/null 2>&1 -X DELETE https://api.github.com/repos/nextcloud/android/issues/comments/$comment
|
2020-06-26 13:37:31 +03:00
|
|
|
done
|
|
|
|
}
|
|
|
|
|
2020-02-13 11:33:58 +03:00
|
|
|
upload() {
|
2020-06-26 13:42:11 +03:00
|
|
|
deleteOldComments
|
|
|
|
|
2020-02-13 11:33:58 +03:00
|
|
|
cd $1
|
|
|
|
|
2021-03-18 15:28:05 +03:00
|
|
|
find . -type d -exec curl > /dev/null 2>&1 -u $USER:$PASS -X MKCOL $URL/$REMOTE_FOLDER/$(echo {} | sed s#\./##) \;
|
|
|
|
find . -type f -exec curl > /dev/null 2>&1 -u $USER:$PASS -X PUT $URL/$REMOTE_FOLDER/$(echo {} | sed s#\./##) --upload-file {} \;
|
2020-02-13 11:33:58 +03:00
|
|
|
|
|
|
|
echo "Uploaded failing tests to https://www.kaminsky.me/nc-dev/android-integrationTests/$REMOTE_FOLDER"
|
|
|
|
|
2021-09-03 13:48:30 +03:00
|
|
|
curl_gh -X POST https://api.github.com/repos/nextcloud/android/issues/$PR/comments \
|
2020-06-17 10:56:12 +03:00
|
|
|
-d "{ \"body\" : \"$BRANCH_TYPE test failed: https://www.kaminsky.me/nc-dev/android-integrationTests/$REMOTE_FOLDER \" }"
|
2020-02-13 11:33:58 +03:00
|
|
|
|
|
|
|
exit 1
|
|
|
|
}
|
|
|
|
|
2019-02-07 09:28:28 +03:00
|
|
|
#1: LOG_USERNAME
|
|
|
|
#2: LOG_PASSWORD
|
|
|
|
#3: DRONE_BUILD_NUMBER
|
2020-06-26 11:54:25 +03:00
|
|
|
#4: BRANCH (stable or master)
|
|
|
|
#5: TYPE (IT or Unit)
|
|
|
|
#6: DRONE_PULL_REQUEST
|
2021-09-06 12:29:03 +03:00
|
|
|
#7: GITHUB_TOKEN
|
2019-02-07 09:28:28 +03:00
|
|
|
|
2018-11-01 12:59:08 +03:00
|
|
|
URL=https://nextcloud.kaminsky.me/remote.php/webdav/android-integrationTests
|
2018-03-02 14:08:09 +03:00
|
|
|
ID=$3
|
|
|
|
USER=$1
|
|
|
|
PASS=$2
|
2020-06-10 07:56:17 +03:00
|
|
|
BRANCH=$4
|
|
|
|
TYPE=$5
|
|
|
|
PR=$6
|
2021-09-06 12:29:03 +03:00
|
|
|
GITHUB_TOKEN="$7"
|
|
|
|
|
2020-09-25 12:53:09 +03:00
|
|
|
REMOTE_FOLDER=$ID-$TYPE-$BRANCH-$(date +%H-%M)
|
2020-06-17 10:56:12 +03:00
|
|
|
BRANCH_TYPE=$BRANCH-$TYPE
|
2018-03-02 14:08:09 +03:00
|
|
|
|
2019-06-06 00:54:07 +03:00
|
|
|
set -e
|
|
|
|
|
2021-02-25 17:32:52 +03:00
|
|
|
if [ -z $USER ] || [ -z $PASS ]; then
|
|
|
|
echo "USER or PASS is empty!"
|
|
|
|
exit 1
|
|
|
|
fi
|
|
|
|
|
2018-03-02 14:08:09 +03:00
|
|
|
if [ $TYPE = "IT" ]; then
|
2021-05-26 10:31:57 +03:00
|
|
|
FOLDER=build/reports/androidTests/connected/flavors/gplay
|
2019-12-10 17:26:31 +03:00
|
|
|
elif [ $TYPE = "Unit" ]; then
|
2020-02-05 13:35:02 +03:00
|
|
|
FOLDER=build/reports/tests/testGplayDebugUnitTest
|
2019-12-10 17:26:31 +03:00
|
|
|
else
|
2020-02-13 11:33:58 +03:00
|
|
|
FOLDER=build/reports/shot/verification
|
2018-03-02 14:08:09 +03:00
|
|
|
fi
|
|
|
|
|
2020-02-13 11:33:58 +03:00
|
|
|
if [ -e $FOLDER ]; then
|
|
|
|
upload $FOLDER
|
|
|
|
else
|
2020-06-26 13:37:31 +03:00
|
|
|
deleteOldComments
|
2020-06-17 10:56:12 +03:00
|
|
|
echo "$BRANCH_TYPE test failed, but no output was generated. Maybe a preliminary stage failed."
|
2018-03-02 14:08:09 +03:00
|
|
|
|
2021-09-03 13:48:30 +03:00
|
|
|
curl_gh > /dev/null 2>&1 \
|
2020-02-13 11:33:58 +03:00
|
|
|
-X POST https://api.github.com/repos/nextcloud/android/issues/$PR/comments \
|
2020-06-17 10:56:12 +03:00
|
|
|
-d "{ \"body\" : \"$BRANCH_TYPE test failed, but no output was generated. Maybe a preliminary stage failed. \" }"
|
2019-02-07 09:28:28 +03:00
|
|
|
|
2020-10-15 12:10:33 +03:00
|
|
|
if [ -e build/reports/androidTests/connected/flavors/gplayDebugAndroidTest ] ; then
|
2020-02-13 11:33:58 +03:00
|
|
|
TYPE="IT"
|
2020-06-17 10:56:12 +03:00
|
|
|
BRANCH_TYPE=$BRANCH-$TYPE
|
2020-10-15 12:10:33 +03:00
|
|
|
upload "build/reports/androidTests/connected/flavors/gplayDebugAndroidTest"
|
2020-02-13 11:33:58 +03:00
|
|
|
fi
|
2020-02-05 13:35:02 +03:00
|
|
|
|
2020-02-13 11:33:58 +03:00
|
|
|
if [ -e build/reports/tests/testGplayDebugUnitTest ] ; then
|
|
|
|
TYPE="Unit"
|
2020-06-17 10:56:12 +03:00
|
|
|
BRANCH_TYPE=$BRANCH-$TYPE
|
2020-02-13 11:33:58 +03:00
|
|
|
upload "build/reports/tests/testGplayDebugUnitTest"
|
|
|
|
fi
|
2020-02-05 13:35:02 +03:00
|
|
|
|
2020-02-13 11:33:58 +03:00
|
|
|
if [ -e build/reports/shot/verification ] ; then
|
|
|
|
TYPE="Screenshot"
|
2020-06-17 10:56:12 +03:00
|
|
|
BRANCH_TYPE=$BRANCH-$TYPE
|
2020-02-13 11:33:58 +03:00
|
|
|
upload "build/reports/shot/verification"
|
|
|
|
fi
|
2020-09-10 13:32:34 +03:00
|
|
|
|
|
|
|
exit 1 # always fail
|
2020-02-13 11:33:58 +03:00
|
|
|
fi
|