Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1)

Side by Side Diff: gce/uploader_iteration.sh

Issue 2308913002: DevTools Uploader: migrate to GN (Closed)
Patch Set: Created 4 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « no previous file | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 #!/bin/bash 1 #!/bin/bash
2 # Copyright (c) 2013 The Chromium Authors. All rights reserved. 2 # Copyright (c) 2013 The Chromium Authors. All rights reserved.
3 # Use of this source code is governed by a BSD-style license that can be 3 # Use of this source code is governed by a BSD-style license that can be
4 # found in the LICENSE file. 4 # found in the LICENSE file.
5 5
6 # This enables bash to treat any unhandled non-zero exit codes as "exceptions" 6 # This enables bash to treat any unhandled non-zero exit codes as "exceptions"
7 set -e 7 set -e
8 source $(dirname $0)/uploader_exit_codes.sh 8 source $(dirname $0)/uploader_exit_codes.sh
9 9
10 mark_step() { 10 mark_step() {
11 echo "$*" 11 echo "$*"
12 echo '=====================' 12 echo '====================='
13 } 13 }
14 14
15 unlock_git_repo() { 15 unlock_git_repo() {
16 local git_index_lock=".git/index.lock" 16 local git_index_lock=".git/index.lock"
17 if [ -e "$git_index_lock" ]; then 17 if [ -e "$git_index_lock" ]; then
18 # Can be left over from an interrupted iteration. 18 # Can be left over from an interrupted iteration.
19 # Safe to remove unless someone is trying to run two iterations in parallel. 19 # Safe to remove unless someone is trying to run two iterations in parallel.
20 echo "!!! Warning: removing Git index lock in $1 repo !!!" 20 echo "!!! Warning: removing Git index lock in $1 repo !!!"
21 rm -f "$git_index_lock" 21 rm -f "$git_index_lock"
22 fi 22 fi
23 } 23 }
24 24
25 SCRIPT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" 25 SCRIPT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
26 26
27 mark_step 'Moving to the source code directory' 27 mark_step 'Moving to the source code directory'
28 SOURCE_DIR=/uploader/src/chrome 28 SOURCE_DIR=/uploader/src/chromium/src
29 cd "$SOURCE_DIR" 29 cd "$SOURCE_DIR"
30 30
31 mark_step 'Updating chromium' 31 mark_step 'Updating chromium'
32 unlock_git_repo Chromium || exit $EXIT_CHROMIUM_UPDATE 32 unlock_git_repo Chromium || exit $EXIT_CHROMIUM_UPDATE
33 git bisect reset || exit $EXIT_CHROMIUM_UPDATE 33 git bisect reset || exit $EXIT_CHROMIUM_UPDATE
34 git reset --hard || exit $EXIT_CHROMIUM_UPDATE 34 git reset --hard || exit $EXIT_CHROMIUM_UPDATE
35 git clean -df || exit $EXIT_CHROMIUM_UPDATE 35 git clean -df || exit $EXIT_CHROMIUM_UPDATE
36 git checkout master || exit $EXIT_CHROMIUM_UPDATE 36 git checkout -f master || exit $EXIT_CHROMIUM_UPDATE
37 git pull origin || exit $EXIT_CHROMIUM_UPDATE 37 git pull -f origin || exit $EXIT_CHROMIUM_UPDATE
38 CHROMIUM_GYP_REVISION="$(cat DEPS | $SCRIPT_DIR/uploader_helper.py --find_projec t_revision='src/tools/gyp')"
39
40 mark_step 'Updating gyp'
41 pushd tools/gyp
42 unlock_git_repo Gyp
43 git fetch || exit $EXIT_GYP_UPDATE
44 git reset --hard $CHROMIUM_GYP_REVISION || exit $EXIT_GYP_UPDATE
45 popd
46 38
47 mark_step 'Figuring out the list of branches' 39 mark_step 'Figuring out the list of branches'
48 # Special branches. 40 # Special branches.
49 BRANCHES_LIST="master branch-heads/2454 branch-heads/2490" 41 BRANCHES_LIST="master branch-heads/2454 branch-heads/2490"
50 # Get a list of branches that were branched after the "first good commit" 42 # Get a list of branches that were branched after the "first good commit"
51 # (post-merge) on master, this is its Cr-Commit-Position: 43 # (post-merge) on master, this is its Cr-Commit-Position:
52 AFTER_MERGE_COMMIT_POSITION=350370 44 AFTER_MERGE_COMMIT_POSITION=350370
53 ALL_BRANCHES=$(git branch -r --list 'branch-heads/*') 45 ALL_BRANCHES=$(git branch -r --list 'branch-heads/*')
54 for BRANCH in $ALL_BRANCHES; do 46 for BRANCH in $ALL_BRANCHES; do
55 CR_BRANCHED_FROM=$(git log -1 --format=medium "$BRANCH" | grep "^\s*Cr-Branc hed-From:.*master@{\#[0-9]\+}" | tail -1) 47 CR_BRANCHED_FROM=$(git log -1 --format=medium "$BRANCH" | grep "^\s*Cr-Branc hed-From:.*master@{\#[0-9]\+}" | tail -1)
(...skipping 59 matching lines...) Expand 10 before | Expand all | Expand 10 after
115 mkdir -p $ZIPS_DIR $REVS_DIR $META_DIR $HASH_DIR 107 mkdir -p $ZIPS_DIR $REVS_DIR $META_DIR $HASH_DIR
116 108
117 if echo "$BLINK_REVISIONS_BLACKLIST" | grep -w $REVISION; then 109 if echo "$BLINK_REVISIONS_BLACKLIST" | grep -w $REVISION; then
118 echo "Revision $REVISION is in the blacklist, skipping over" 110 echo "Revision $REVISION is in the blacklist, skipping over"
119 continue 111 continue
120 fi 112 fi
121 113
122 echo "Processing $REVISION" 114 echo "Processing $REVISION"
123 git reset --hard || exit $EXIT_BLINK_UPDATE 115 git reset --hard || exit $EXIT_BLINK_UPDATE
124 git clean -df || exit $EXIT_BLINK_UPDATE 116 git clean -df || exit $EXIT_BLINK_UPDATE
125 git checkout $REVISION || exit $EXIT_BLINK_UPDATE 117 git checkout -f $REVISION || exit $EXIT_BLINK_UPDATE
118 gclient sync -D -R || exit $EXIT_BLINK_UPDATE
126 119
127 # Exclude "trunk" to work around branches that accidentally have a second 120 echo "Running GN"
128 # copy of Blink sources inside it. See http://crbug.com/450975 121 if [ -d out/Default ]; then
129 pushd third_party/WebKit 122 rm -rf out/Default
130 DEVTOOLS_GYP=$(find . -type f -name devtools.gyp -not -path "*/trunk/*")
131 if [ -z "$DEVTOOLS_GYP" ]; then
132 exit $EXIT_DEVTOOLS_GYP_FILE
133 fi 123 fi
134 if [ -d ../../out ]; then 124 mkdir -p out/Default
135 rm -rf ../../out 125 echo "is_debug=false" > out/Default/args.gn
136 fi 126 gn gen out/Default || exit $EXIT_GYP_DEVTOOLS
137 DEVTOOLS_DIR=$(dirname "$DEVTOOLS_GYP")
138 #TODO: need to calculate depth and output paths based on DEVTOOLS_DIR nestin g level
139 GYP_GENERATORS=ninja ../../tools/gyp/gyp --toplevel-dir="$DEVTOOLS_DIR" --de pth=../../../.. --generator-output=../../../.. "$DEVTOOLS_GYP" || exit $EXIT_GYP _DEVTOOLS
140 popd
141 127
128 echo "Running ninja"
142 LASTCHANGE_FILE="build/util/LASTCHANGE" 129 LASTCHANGE_FILE="build/util/LASTCHANGE"
143 echo "LASTCHANGE=$REVISION" > $LASTCHANGE_FILE 130 echo "LASTCHANGE=$REVISION" > $LASTCHANGE_FILE
144 LASTCHANGE_BLINK_FILE="build/util/LASTCHANGE.blink" 131 LASTCHANGE_BLINK_FILE="build/util/LASTCHANGE.blink"
145 echo "LASTCHANGE=$REVISION" > $LASTCHANGE_BLINK_FILE 132 echo "LASTCHANGE=$REVISION" > $LASTCHANGE_BLINK_FILE
146 133
147 ninja -C out/Default devtools_frontend_resources || exit $EXIT_BUILD_FRONTEN D 134 ninja -C out/Default devtools_frontend_resources || exit $EXIT_BUILD_FRONTEN D
148 ZIP_FILE_NAME=devtools_frontend.zip 135 ZIP_FILE_NAME=devtools_frontend.zip
149 ZIP_FILE=$(pwd)/out/$ZIP_FILE_NAME 136 ZIP_FILE=$(pwd)/out/$ZIP_FILE_NAME
150 137
151 pushd out/Default/resources/inspector 138 pushd out/Default/resources/inspector
139
140 echo "Creating manifest"
152 # Create an AppCache manifest and patch devtools.html and / or inspector.htm l to point to it 141 # Create an AppCache manifest and patch devtools.html and / or inspector.htm l to point to it
153 MANIFEST_FILE_NAME=$REVISION.manifest 142 MANIFEST_FILE_NAME=$REVISION.manifest
154 FALLBACK_ENTRIES= 143 FALLBACK_ENTRIES=
155 for DEVTOOLS_MAIN_HTML in devtools.html inspector.html; do 144 for DEVTOOLS_MAIN_HTML in devtools.html inspector.html; do
156 if [ ! -f "$DEVTOOLS_MAIN_HTML" ]; then 145 if [ ! -f "$DEVTOOLS_MAIN_HTML" ]; then
157 continue 146 continue
158 fi 147 fi
159 sed -i -e 's/^<html>/<html manifest="'$MANIFEST_FILE_NAME'">/' $DEVTOOLS _MAIN_HTML 148 sed -i -e 's/^<html>/<html manifest="'$MANIFEST_FILE_NAME'">/' $DEVTOOLS _MAIN_HTML
160 FALLBACK_ENTRIES="$FALLBACK_ENTRIES $DEVTOOLS_MAIN_HTML" 149 FALLBACK_ENTRIES="$FALLBACK_ENTRIES $DEVTOOLS_MAIN_HTML"
161 done 150 done
162 if [ -z "$FALLBACK_ENTRIES" ]; then 151 if [ -z "$FALLBACK_ENTRIES" ]; then
163 exit $EXIT_MANIFEST_CREATION 152 exit $EXIT_MANIFEST_CREATION
164 fi 153 fi
165 154
166 cat <<EOF > $MANIFEST_FILE_NAME 155 cat <<EOF > $MANIFEST_FILE_NAME
167 CACHE MANIFEST 156 CACHE MANIFEST
168 FALLBACK: 157 FALLBACK:
169 EOF 158 EOF
170 for FALLBACK_ENTRY in $FALLBACK_ENTRIES; do 159 for FALLBACK_ENTRY in $FALLBACK_ENTRIES; do
171 echo "$FALLBACK_ENTRY $FALLBACK_ENTRY" >> $MANIFEST_FILE_NAME 160 echo "$FALLBACK_ENTRY $FALLBACK_ENTRY" >> $MANIFEST_FILE_NAME
172 done 161 done
173 echo "CACHE:" >> $MANIFEST_FILE_NAME 162 echo "CACHE:" >> $MANIFEST_FILE_NAME
174 find -type f -not -name $MANIFEST_FILE_NAME -print | sed -e 's#^\./##' >> $M ANIFEST_FILE_NAME 163 find -type f -not -name $MANIFEST_FILE_NAME -print | sed -e 's#^\./##' >> $M ANIFEST_FILE_NAME
175 164
165 echo "Creating a zip file"
176 zip -9r $ZIP_FILE * || exit $EXIT_ZIP_FRONTEND 166 zip -9r $ZIP_FILE * || exit $EXIT_ZIP_FRONTEND
177 167
168 echo "Creating meta and hash files"
178 # Copy each file to hash/<sha1>, write <sha1>:<path> to meta file. 169 # Copy each file to hash/<sha1>, write <sha1>:<path> to meta file.
179 META_FILE_NAME="$META_DIR/@$REVISION" 170 META_FILE_NAME="$META_DIR/@$REVISION"
180 for FILE_NAME in $(find -type f); do 171 for FILE_NAME in $(find -type f); do
181 FILE_SHA1=$(sha1sum $FILE_NAME | awk '{print $1}') 172 FILE_SHA1=$(sha1sum $FILE_NAME | awk '{print $1}')
182 cp $FILE_NAME "$HASH_DIR/$FILE_SHA1" 173 cp $FILE_NAME "$HASH_DIR/$FILE_SHA1"
183 echo "$FILE_SHA1:${FILE_NAME##./}" >> $META_FILE_NAME 174 echo "$FILE_SHA1:${FILE_NAME##./}" >> $META_FILE_NAME
184 done; 175 done;
185 176
186 popd 177 popd
187 178
179 echo "Creating revs file"
188 ZIP_SHA1=$(sha1sum $ZIP_FILE | awk '{print $1}') 180 ZIP_SHA1=$(sha1sum $ZIP_FILE | awk '{print $1}')
189 mv $ZIP_FILE "$ZIPS_DIR/$ZIP_SHA1.zip" 181 mv $ZIP_FILE "$ZIPS_DIR/$ZIP_SHA1.zip"
190 echo "$ZIP_SHA1" > "$REVS_DIR/@$REVISION" 182 echo "$ZIP_SHA1" > "$REVS_DIR/@$REVISION"
191 183
184 echo "Uploading to storage for revision $REVISION"
192 # Comment out the line below for testing. 185 # Comment out the line below for testing.
193 gsutil -m cp -R $LOCAL_STORAGE_DIR/* $GS_PATH || exit $EXIT_CS_UPLOAD 186 gsutil -m cp -n -R $LOCAL_STORAGE_DIR/* $GS_PATH || exit $EXIT_CS_UPLOAD
194 done 187 done
OLDNEW
« no previous file with comments | « no previous file | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698