Add support for project-specific requests in files pipeline

We add the new parameter `project` to the `retrieve` method. This project enum is passed down the files pipeline to change behaviour of individual pipes if required:

1) The `LocalBucketProvider` continues to store extracted files on the local bucket, but uses a different subfolder for devtools-internal files.

2) The `ChromeUnsignedProvider` keeps serving files from the devtools-frontend.zip artifact. Files from the existing devtools-frontend project are still limited to the same subdirectory in the zip artifact. Files from the new devtools-internal project are served from `devtools-frontend/gen/third_party/devtools-frontend-internal/front_end/`. This is already deployed to the staging environment [1].

3) `/serve_file/@<string:revision>/<path:filename>` uses the files pipeline with the project `devtools-frontend` to behave identical as of today. `/serve_internal_file/@<string:revision>/<path:filename>` uses the files pipeline with the project `devtools-internal` which tries to find the assets in the internal-specific subdirectory of the artifact.

Furthermore, this CL includes a few more minor changes:

4) isort was previously used with a python2 style guide which grouped imports from the same module together. Local modules are now imported via single lines, adding a few changes to and empty lines around the import section of most files.

5) We renamed `ChromeSignedProvider` to `ChromeUnsignedProvider` since we keep serving the artifact from the unsigned bucket. Eventually, bcid compliance can be reached by validating the artifacts gpg signature instead of downloading files from chrome-signed (what was assumed in the past).

6) Till now, we have served the build artifact for mac64. devtools assets are platform-agnostic, and can be served from any platform to all platforms. We change this to linux64 since it's more often available for patch versions.

[1] https://chrome-devtools-frontend-stg.appspot.com/serve_internal_file/@caf39ff9f78d22ecca7c13b2b86c0b3fc857380d/entrypoints/devtools_app/devtools_app.js

Bug: 1353757
Change-Id: Ie19027cbadf4b6564202d2065bf1ff767af3857d
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/tools/chrome-devtools-frontend/+/3836433
Reviewed-by: Liviu Rau <[email protected]>
Commit-Queue: Alexander Schulze <[email protected]>
14 files changed
tree: a59ff526079ef7ee37d8c9115f189636f22d81d2
  1. gae_py3/
  2. .gitignore
  3. codereview.settings
  4. OWNERS
  5. README.md
  6. WATCHLISTS
  7. whitespace.txt
README.md

This repo contains:

  • the infra for serving the devtools frontend from Google's app engine (gae_py3)

See this README and go/devtools-hosting-app for details.

go/devtools-uploader references to a deprecated version of this app.