blob: da0ea2de94659c550825f50cab95d3e2d40c40fb [file] [log] [blame]
#!/bin/bash
# Copyright (C) 2019 The Android Open Source Project
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
# Adds a file or directory to /test/data/, uploads a new test_data.zip to GCS
# and updates the sha1 in tools/install-build-deps.
set -e
ROOT_DIR="$(dirname $(cd -P ${BASH_SOURCE[0]%/*}; pwd))"
echo ""
echo "Downloading latest copy of test data"
echo ""
LATEST_ZIP="$(cat tools/install-build-deps | grep -o 'https://.*/perfetto/test-data-.*.zip')"
curl -o /tmp/latest-test-data.zip $LATEST_ZIP
echo ""
echo "Extracting test data to temp folder"
echo ""
rm -rf /tmp/latest-test-data 2>/dev/null
unzip /tmp/latest-test-data.zip -d /tmp/latest-test-data
echo ""
echo "Copying $1 to temp folder"
echo ""
set -x
if [ -d "$1" ]; then
DIR_NAME="$(basename $1)"
rm -rf "/tmp/latest-test-data/$DIR_NAME"
cp -r "$1/" "/tmp/latest-test-data"
else
cp "$1" /tmp/latest-test-data
fi
set +x
echo ""
echo "Zipping file back up"
echo ""
NEW_TEST_DATA="test-data-$(date +%Y%m%d-%H%M%S).zip"
CWD="$(pwd)"
cd /tmp/latest-test-data
zip -r /tmp/$NEW_TEST_DATA *
cd $CWD
echo ""
echo "Uploading file to Google Cloud"
echo ""
gsutil cp /tmp/$NEW_TEST_DATA gs://perfetto/$NEW_TEST_DATA
echo ""
echo "Setting file to world readable"
echo ""
gsutil acl ch -u AllUsers:R gs://perfetto/$NEW_TEST_DATA
echo ""
echo "SHA-256 of file $NEW_TEST_DATA is"
NEW_SHA=$(shasum -a 256 /tmp/$NEW_TEST_DATA | cut -c1-64)
echo $NEW_SHA
echo ""
echo "Cleaning up leftover files"
echo ""
rm -r /tmp/latest-test-data
rm /tmp/latest-test-data.zip
rm /tmp/$NEW_TEST_DATA
echo ""
echo "Updating tools/install-build-deps"
echo ""
OLD_SHA=$(cat tools/install-build-deps | grep '/test-data-.*.zip' -A1 | tail -n1 | egrep -o '[a-f0-9]+')
# Cannot easily use sed -i, it has different syntax on Linux vs Mac.
cat tools/install-build-deps \
| sed -e "s|/test-data-.*.zip|/$NEW_TEST_DATA|g" \
| sed -e "s|$OLD_SHA|$NEW_SHA|g" \
> tools/install-build-deps.tmp
mv -f tools/install-build-deps.tmp tools/install-build-deps
chmod 755 tools/install-build-deps
echo "All done!"