Index: tools/roll_webgl_conformance.py |
diff --git a/tools/roll_webgl_conformance.py b/tools/roll_webgl_conformance.py |
index 25afe071337d3f35a4559d0d6ac92c2349876703..7f0bd95e1ab1ec9159a7c791adff6b12bc616fdd 100755 |
--- a/tools/roll_webgl_conformance.py |
+++ b/tools/roll_webgl_conformance.py |
@@ -52,6 +52,8 @@ TRYJOB_STATUS_SLEEP_SECONDS = 30 |
# Use a shell for subcommands on Windows to get a PATH search. |
IS_WIN = sys.platform.startswith('win') |
WEBGL_PATH = os.path.join('third_party', 'webgl', 'src') |
+WEBGL_REVISION_TEXT_FILE = os.path.join( |
+ 'content', 'test', 'gpu', 'gpu_tests', 'webgl_conformance_revision.txt') |
CommitInfo = collections.namedtuple('CommitInfo', ['git_commit', |
'git_repo_url']) |
@@ -102,11 +104,12 @@ def _GenerateCLDescriptionCommand(webgl_current, webgl_new, bugs): |
bug_str += str(bug) + ',' |
return bug_str.rstrip(',') |
- if webgl_current.git_commit != webgl_new.git_commit: |
- change_str = GetChangeString(webgl_current.git_commit, |
- webgl_new.git_commit) |
- changelog_url = GetChangeLogURL(webgl_current.git_repo_url, |
- change_str) |
+ change_str = GetChangeString(webgl_current.git_commit, |
+ webgl_new.git_commit) |
+ changelog_url = GetChangeLogURL(webgl_current.git_repo_url, |
+ change_str) |
+ if webgl_current.git_commit == webgl_new.git_commit: |
+ print 'WARNING: WebGL repository is unchanged; proceeding with no-op roll' |
def GetExtraTrybotString(): |
s = '' |
@@ -273,6 +276,7 @@ class AutoRoller(object): |
self._RunCommand(['git', 'config', 'core.autocrlf', 'true']) |
self._UpdateDep(deps_filename, WEBGL_PATH, webgl_latest) |
+ self._UpdateWebGLRevTextFile(WEBGL_REVISION_TEXT_FILE, webgl_latest) |
if self._IsTreeClean(): |
logging.debug('Tree is clean - no changes detected.') |
@@ -322,6 +326,19 @@ class AutoRoller(object): |
commit_info.git_commit, '') |
os.chdir(cwd) |
+ def _UpdateWebGLRevTextFile(self, txt_filename, commit_info): |
+ # Rolling the WebGL conformance tests must cause at least all of |
+ # the WebGL tests to run. There are already exclusions in |
+ # trybot_analyze_config.json which force all tests to run if |
+ # changes under src/content/test/gpu are made. (This rule |
+ # typically only takes effect on the GPU bots.) To make sure this |
+ # happens all the time, update an autogenerated text file in this |
+ # directory. |
+ with open(txt_filename, 'w') as fh: |
+ print >> fh, '# AUTOGENERATED FILE - DO NOT EDIT' |
+ print >> fh, '# SEE roll_webgl_conformance.py' |
+ print >> fh, 'Current webgl revision %s' % commit_info.git_commit |
+ |
def _DeleteRollBranch(self): |
self._RunCommand(['git', 'checkout', 'master']) |
self._RunCommand(['git', 'branch', '-D', ROLL_BRANCH_NAME]) |