New issue
Advanced search Search tips
Note: Color blocks (like or ) mean that a user may not be available. Tooltip shows the reason.

Issue 871283 link

Starred by 4 users

Issue metadata

Status: Fixed
Owner:
Closed: Aug 10
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Linux , Windows , Chrome , Mac
Pri: 1
Type: Bug



Sign in to add a comment

https://download-chromium.appspot.com: Latest Snapshot is very old

Project Member Reported by meh...@chromium.org, Aug 6

Issue description

What 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.


 
Bildschirmfoto 2018-08-06 um 18.19.09.png
278 KB View Download
Looks like https://commondatastorage.googleapis.com/chromium-browser-snapshots/index.html?prefix=Mac/ is also not updating and has stopped at build 579555.
+ screenshot
Bildschirmfoto 2018-08-06 um 18.44.44.png
137 KB View Download
Cc: efoo@chromium.org
Components: Infra
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.
Components: -Infra Infra>Client>Chrome
Labels: -Infra
Cc: dpranke@chromium.org martiniss@chromium.org
> 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.
Labels: DevX-Troopers Foundation-Troopers
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?
I think maybe DevRel owns it?
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?
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.
Owner: martiniss@chromium.org
Status: Assigned (was: Untriaged)
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?
Cc: thakis@chromium.org
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.
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.
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.
Cc: crouleau@chromium.org
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.
Cc: johnchen@chromium.org
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.
Cc: pras...@chromium.org
+bisect-builds.py owner
Project Member

Comment 18 by bugdroid1@chromium.org, 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

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.
Status: Fixed (was: Assigned)
All the builds should be backfilled in their original buckets, and new build should be uploading to the correct buckets. 
Thank you! https://download-chromium.appspot.com/ and bisect-builds.py both work correctly.
Note that source code is hosted at https://github.com/beaufortfrancois/download-chromium

Sign in to add a comment