forked from flutter/engine
-
Notifications
You must be signed in to change notification settings - Fork 0
/
configure_framework_commit.sh
executable file
·56 lines (47 loc) · 1.77 KB
/
configure_framework_commit.sh
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
#!/bin/bash
set -e
set -x
if [[ -z $ENGINE_PATH ]]
then
echo "Please set ENGINE_PATH environment variable."
exit 1
fi
# Go to the engine git repo to get the date of the latest commit.
cd $ENGINE_PATH/src/flutter
ENGINE_COMMIT=`git rev-parse HEAD`
echo "Using engine commit: $ENGINE_COMMIT"
if [[ -z $FLUTTER_CLONE_REPO_PATH ]]
then
echo "Please set FLUTTER_CLONE_REPO_PATH environment variable."
exit 1
else
cd $FLUTTER_CLONE_REPO_PATH
fi
if [[ $GIT_BRANCH =~ ^flutter-.*-candidate.*$ ]]
then
# Coming from presubmit and assuming the correct branch has been already checked out.
COMMIT_NO=`git rev-parse HEAD`
else
# Try to get release branch from the checkout.
RELEASE_BRANCH=`git branch -a --contains $ENGINE_COMMIT | grep 'flutter-.*-candidate.*' || true`
if [[ -z $RELEASE_BRANCH ]]
then
# If this is not a release branch commit get latest commit's time for the engine repo.
# Use date based on local time otherwise timezones might get mixed.
LATEST_COMMIT_TIME_ENGINE=`git log -1 --date=local --format="%cd"`
echo "Latest commit time on engine found as $LATEST_COMMIT_TIME_ENGINE"
# Get the time of the youngest commit older than engine commit.
# Git log uses commit date not the author date.
# Before makes the comparison considering the timezone as well.
COMMIT_NO=`git log --before="$LATEST_COMMIT_TIME_ENGINE" -n 1 | grep commit | cut -d ' ' -f2`
else
COMMIT_NO=`git rev-parse $RELEASE_BRANCH`
git checkout $RELEASE_BRANCH
fi
fi
echo "Using the flutter/flutter commit $COMMIT_NO";
git reset --hard $COMMIT_NO
# Write the commit number to a file. This file will be read by the LUCI recipe.
echo "$COMMIT_NO" >> flutter_ref.txt
# Print out the flutter version for troubleshooting
$FLUTTER_CLONE_REPO_PATH/bin/flutter --version -v