https://download-chromium.appspot.com: Latest Snapshot is very old |
|||||||||||
Issue descriptionWhat steps will reproduce the problem? (1) Go to https://download-chromium.appspot.com What is the expected result? See latest Snapshot. What happens instead? A very old build which is 5 days old.
,
Aug 6
+ screenshot
,
Aug 8
This may be due to some recent waterfall changes. Using 64-bit Linux as an example, https://commondatastorage.googleapis.com/chromium-browser-snapshots/index.html?prefix=Linux_x64/579571/ is the last build in the Linux_x64 bucket. Subsequent builds are in the linux_rel bucket: https://commondatastorage.googleapis.com/chromium-browser-snapshots/index.html?prefix=linux_rel/ This breaks tools/bisect-builds.py, and possibly many other tools that only know to look in Linux_x64. Looking in Linux_x64, it has builds going back for many years.
,
Aug 8
,
Aug 8
> This may be due to some recent waterfall changes. Indeed, the main chromium builders were renamed in https://chromium-review.googlesource.com/c/chromium/tools/build/+/1153622. We'll likely need to find the sources for download-chromium.appspot.com and point it to the new GS location.
,
Aug 8
download-chromium project is not owned by ChOps troopers (I don't see it in my list), and this is the first time I hear about it. +Foundation-Troopers and DevX-Troopers - do any of you know who owns this app?
,
Aug 8
I think maybe DevRel owns it?
,
Aug 8
So why make all the tools that use chromium-browser-snapshots update themselves? Why not just add a map, e.g. linux_rel -> Linux_x64, so build artifacts get placed in the "right" spot?
,
Aug 9
I can fix a few of the tools in chromium/src that rely on the download locations. chromedriver has already fixed their code in https://crrev.com/c/1158709. I've found a few more places I could change it. I'm not sure who owns download-chromium.appspot.com. Not sure how to get in contact with them. I don't know if it's worth redirecting things right now. We could have the builders upload binaries to the old name going forward. It's already uploaded ~1 week of stuff to the new location, so that might still be bad enough. I'm more inclined to just leave things as is and update the tools. Technically, we can't do any sort of soft link AFAIK. Google storage doesn't allow you to do that. We could maybe retroactively move everything there? Not sure exactly.
,
Aug 9
After looking at bisect-builds.py, I realized it's not as simple. Turns out there are a few different places you can download builds from, and it appears they all assume the same naming convention. https://cs.chromium.org/chromium/src/tools/bisect-builds.py?q=Linux_x64&sq=package:chromium&dr=C&l=16 Not sure what to do here. Some options: 1. Roll back the change. 2. Modify bisect-builds.py to work with this. Will require a semi significant amount of code 3. Migrate other builders to the same naming scheme. Any other ideas?
,
Aug 9
,
Aug 9
4. Provide forwards from old url to new url: https://www.w3.org/Provider/Style/URI 5. Copy binaries from all old places to the new place and make bisect-builds.p read from there.
,
Aug 9
There's no easy way to do 4) given that we're pointing at a raw google cloud storage URL, not an app. If we don't know all of the tooling that might use this, probably the easiest and least painful way to fix this is to leave the builder names alone but change the upload command to remap new builder name back to old builder name (probably by adding a parameter somewhere in the bot config or the JSON files to specify a name to use instead). The old builder names do have the advantage that they are at least fairly self-descriptive.
,
Aug 9
https://chromium-review.googlesource.com/c/chromium/tools/build/+/1170034 should do what was suggested in #13. It seems fairly easy to deploy. Once this lands I can try to migrate the builds which got put in the new location. Not sure if that's feasible, it'll depend on how big all those builds are.
,
Aug 9
I'm going to try landing the CL in #14. cc-ing the author of the chromedriver CL. You can revert the CL if you want, or modify it, your choice.
,
Aug 10
Thanks for working on this! FYI I have been screaming into the void about this for a while. See this doc: https://docs.google.com/document/d/1GqAypZYUFtTbfFmdjVgP6iMedkNG9_REcA8Oqoi5f88/edit#heading=h.e0lpwigp982n and this bug: issue 842362 and this bug: issue 842376 There are *so many* tools that rely on our builds, so we need to be thoughtful when we rename things. +John actually wrote https://crrev.com/c/1158709. We can probably just revert that change once you fix this.
,
Aug 10
+bisect-builds.py owner
,
Aug 10
The following revision refers to this bug: https://chromium.googlesource.com/chromium/tools/build/+/5e00d2fb0d9f0416435afd1c61f3f1957c14b404 commit 5e00d2fb0d9f0416435afd1c61f3f1957c14b404 Author: Stephen Martinis <martiniss@chromium.org> Date: Fri Aug 10 19:57:24 2018 Change upload location for 'chromium' builders Several tools rely on the builds being in the same location, and it's hard to update all of them. This CL forces the 'chromium' builders to upload to the old locations in google storage, so that nothing breaks. Bug: 871283 Change-Id: I7fc31c058c9c80bd7f04988c8806b99c8703a237 Reviewed-on: https://chromium-review.googlesource.com/1170034 Commit-Queue: Stephen Martinis <martiniss@chromium.org> Reviewed-by: Dirk Pranke <dpranke@chromium.org> [modify] https://crrev.com/5e00d2fb0d9f0416435afd1c61f3f1957c14b404/scripts/slave/README.recipes.md [modify] https://crrev.com/5e00d2fb0d9f0416435afd1c61f3f1957c14b404/scripts/slave/recipe_modules/chromium_tests/chromium.py [modify] https://crrev.com/5e00d2fb0d9f0416435afd1c61f3f1957c14b404/scripts/slave/recipe_modules/chromium_tests/api.py [modify] https://crrev.com/5e00d2fb0d9f0416435afd1c61f3f1957c14b404/scripts/slave/recipe_modules/chromium_tests/tests/api/archive_build.expected/archive_build.json [modify] https://crrev.com/5e00d2fb0d9f0416435afd1c61f3f1957c14b404/scripts/slave/recipe_modules/chromium/api.py
,
Aug 10
The CL in #18 has landed. I'll monitor the bots to make sure everything works ok. It looks like i'll be able to backfill the builds which were put in the "new style" folders.
,
Aug 10
All the builds should be backfilled in their original buckets, and new build should be uploading to the correct buckets.
,
Aug 10
Thank you! https://download-chromium.appspot.com/ and bisect-builds.py both work correctly.
,
Aug 13
Note that source code is hosted at https://github.com/beaufortfrancois/download-chromium |
|||||||||||
►
Sign in to add a comment |
|||||||||||
Comment 1 by meh...@chromium.org
, Aug 6