"git try" doesn't work |
|||||||
Issue descriptionexample: git try -b linux_angle_chromeos_rel_ng result: https://build.chromium.org/p/tryserver.chromium.angle/builders/linux_angle_chromeos_rel_ng/builds/31 stdio from "gclient runhooks" step: ________ running 'download_from_google_storage --no_resume --platform=linux* --no_auth --bucket chromium-clang-format -s buildtools/linux64/clang-format.sha1' in '/b/build/slave/linux_chromeos/build' Traceback (most recent call last): File "/b/depot_tools/download_from_google_storage.py", line 538, in <module> sys.exit(main(sys.argv)) File "/b/depot_tools/download_from_google_storage.py", line 534, in main options.extract) File "/b/depot_tools/download_from_google_storage.py", line 358, in download_from_google_storage ignore_errors, output, sha1_file, auto_platform) File "/b/depot_tools/download_from_google_storage.py", line 152, in enumerate_work_queue raise FileNotFoundError('%s not found.' % input_filename) __main__.FileNotFoundError: buildtools/linux64/clang-format.sha1 not found. Error: Command 'download_from_google_storage --no_resume --platform=linux* --no_auth --bucket chromium-clang-format -s buildtools/linux64/clang-format.sha1' returned non-zero exit status 1 in /b/build/slave/linux_chromeos/build step returned non-zero exit code: 2 @@@STEP_FAILURE@@@
,
May 31 2016
are you sure this isn't a flake? The CQ build for the same CL is green. If it is not a flake however, this likely means a bug in properties that "git try" sets vs what chromium trybot recipe expects.
,
May 31 2016
Yeah 100% sure it's not a flake. You can repro with every try job. The CQ is unaffected and works fine.
,
May 31 2016
I did a quick comparison, CQ run: https://build.chromium.org/p/tryserver.chromium.angle/builders/linux_angle_chromeos_rel_ng/builds/34 git-try run: https://build.chromium.org/p/tryserver.chromium.angle/builders/linux_angle_chromeos_rel_ng/builds/31 The notable differences are: - CQ has 'buildbucket' properties - CQ has the 'gerrit', 'master', 'patch_project', 'patch_storage' and 'subproject_tag' properties - CQ has 'project' as 'Build' while the git-try has 'project' as 'angle/angle Build' Andrii, thoughts on how to address this?
,
May 31 2016
,
May 31 2016
tl;dr This is a valid bug, but I won't be fixing it. First of for your analysis, only "Build" type (3rd column from URLs above) of properties is important here (afaiu), as the rest are derivatives set during the run of the recipe. Second, assuming you identify the missing/extra property that git try sets/not sets, and decide to fix git try, note this: CQ and git try use different mechanisms for build scheduling. CQ -> buildbucket -> buildbucket-poller @ tryserver master git try -> speicial smth on Gerrit issue -> gerrit-issue-poller @ tryserver master Third, git try is a very old system, which I think everybody at chrome-infra team would be happy to kill together with buildbot and Gerrit Poller. For Rietveld, we essentially support "git cl try" only for a while now. For Gerrit, git try is the only thing available. There is this bug http://crbug.com/375532 and I personally will ensure that http://crbug.com/599931 is fixed (but it's only for users of "git cl upload --squash"). Thus, to sum up I see these possibilities: 1. Fix git try (trychange.py in depot_tools), but I believe it's not worth the effort long term. 2. Wait for http://crbug.com/599931 and switch to using git cl upload --squash and git cl try. 3. Same as #2 but add support for --no-squash mode into git cl, so that one can use "git cl try" without auto-squashing. I believe this is highly non-trivial though. 4. Build your own tool to schedule builds using buildbucket (see depot_tools/buildbucket.py). Not recommended by me, but not very difficult, and will be future proof, but you'd need to maintain. See depot_tools/git_cl.py: def trigger_try_jobs(
,
May 31 2016
,
May 31 2016
For us, the use case is that git-try is the only way for us to test targeting a single bot or a bot that is not in the CQ pool. Is there a way to do this within the CQ system?
,
May 31 2016
I guess #2 is closest to what I want?
,
May 31 2016
I think #3 is what we want. ANGLE uses a Git workflow with uploading multiple patches without squash. This is our workflow. #3 is the only way we can support trybots that are not in the CQ, or trying an individual bot, so it would be nice to have.
,
May 31 2016
wrt to --squash and your workflows: please wait a bit for RFC/PSA (see also https://bugs.chromium.org/p/chromium/issues/detail?id=579176#c32). I expect to do so by EOW.
,
Aug 2 2016
git try has been finally killed recently (+agable@). |
|||||||
►
Sign in to add a comment |
|||||||
Comment 1 by jmad...@chromium.org
, May 30 2016Components: Internals>GPU>ANGLE