Summary: Added a script that prepares the repo for facebook's new rocksdb release, which will automatically do some necessary work to make sure this repo is ready for 3rdparty release. Test Plan: Run this script and observed: * new version was created (both in local and remote repo) as a git tag. * build_version.cc was updated * build_detect_platform was changed so that it won't create any new change. Reviewers: haobo, dhruba, sdong, igor CC: leveldb Differential Revision: https://reviews.facebook.net/D15003main
parent
9281a826f1
commit
46950597d0
@ -0,0 +1,61 @@ |
||||
#!/bin/bash |
||||
# Copyright (c) 2013, Facebook, Inc. All rights reserved. |
||||
# This source code is licensed under the BSD-style license found in the |
||||
# LICENSE file in the root directory of this source tree. An additional grant |
||||
# of patent rights can be found in the PATENTS file in the same directory. |
||||
|
||||
set -e |
||||
# Print out the colored progress info so that it can be brainlessly |
||||
# distinguished by users. |
||||
function title() { |
||||
echo -e "\033[1;32m$*\033[0m" |
||||
} |
||||
|
||||
usage="Create new rocksdb version and prepare it for the release process\n" |
||||
usage+="USAGE: ./make_new_version.sh <version>" |
||||
|
||||
# -- Pre-check |
||||
if [[ $# < 1 ]]; then |
||||
echo -e $usage |
||||
exit 1 |
||||
fi |
||||
|
||||
ROCKSDB_VERSION=$1 |
||||
|
||||
GIT_BRANCH=`git rev-parse --abbrev-ref HEAD` |
||||
if [ $GIT_BRANCH != "master" ]; then |
||||
echo "Error: Current branch is '$GIT_BRANCH', Please switch to master branch." |
||||
fi |
||||
|
||||
# --Step 1: cutting new tag |
||||
title "Adding new tag for this release ..." |
||||
git tag -a "$ROCKSDB_VERSION.fb" -m "Rocksdb $ROCKSDB_VERSION" |
||||
|
||||
# Setting up the proxy for remote repo access |
||||
export http_proxy=http://172.31.255.99:8080 |
||||
export https_proxy="$http_proxy"; |
||||
|
||||
title "Pushing new tag to remote repo ..." |
||||
proxycmd.sh git push origin --tags |
||||
|
||||
# --Step 2: Update README.fb |
||||
title "Updating the latest version info in README.fb ..." |
||||
sed -i "s/Latest release is [0-9]\+.[0-9]\+.fb/Latest release is $ROCKSDB_VERSION.fb/" README.fb |
||||
git commit README.fb -m "update the latest version in README.fb to $ROCKSDB_VERSION" |
||||
proxycmd.sh git push |
||||
|
||||
# --Step 3: Prepare this repo for 3rd release |
||||
title "Cleaning up repo ..." |
||||
make clean |
||||
git clean -fxd |
||||
|
||||
title "Generating the build info ..." |
||||
# Comment out the call of `build_detection_version` so that the SHA number and build date of this |
||||
# release will remain constant. Otherwise everytime we run "make" util/build_version.cc will be |
||||
# overridden. |
||||
sed -i 's/^\$PWD\/build_tools\/build_detect_version$//' build_tools/build_detect_platform |
||||
|
||||
# Generate util/build_version.cc |
||||
build_tools/build_detect_version |
||||
|
||||
title "Done!" |
Loading…
Reference in new issue