xref: /aosp_15_r20/external/perfetto/infra/ui.perfetto.dev/README.md (revision 6dbdd20afdafa5e3ca9b8809fa73465d530080dc)
1*6dbdd20aSAndroid Build Coastguard Worker# ui.perfetto.dev Cloud scripts
2*6dbdd20aSAndroid Build Coastguard Worker
3*6dbdd20aSAndroid Build Coastguard WorkerSee [go/perfetto-ui-autopush](http://go/perfetto-ui-autopush) for docs on how
4*6dbdd20aSAndroid Build Coastguard Workerthis works end-to-end.
5*6dbdd20aSAndroid Build Coastguard Worker
6*6dbdd20aSAndroid Build Coastguard Worker## /appengine : GAE <> GCS proxy
7*6dbdd20aSAndroid Build Coastguard Worker
8*6dbdd20aSAndroid Build Coastguard WorkerThe Google AppEngine instance that responds to ui.perfetto.dev.
9*6dbdd20aSAndroid Build Coastguard WorkerIt simply passes through the requests to the bucket gs://ui.perfetto.dev .
10*6dbdd20aSAndroid Build Coastguard WorkerThis should NOT be re-deployed when uploading a new version of the ui,
11*6dbdd20aSAndroid Build Coastguard Workeras the actual UI artifacts live in GCS.
12*6dbdd20aSAndroid Build Coastguard Worker
13*6dbdd20aSAndroid Build Coastguard WorkerWe are using AppEngine for historical reasons, at some point this should
14*6dbdd20aSAndroid Build Coastguard Workerbe migrated to a Type 7 Google Cloud Load Balancer, which supports
15*6dbdd20aSAndroid Build Coastguard Workerdirect backing by a GCS bucket. The only blocker for that is figuring out
16*6dbdd20aSAndroid Build Coastguard Workera seamless migration strategy for the SSL certificate.
17*6dbdd20aSAndroid Build Coastguard Worker
18*6dbdd20aSAndroid Build Coastguard Worker## /builder : Docker container for Google Cloud Build
19*6dbdd20aSAndroid Build Coastguard Worker
20*6dbdd20aSAndroid Build Coastguard WorkerContains the Dockerfile to generate the container image which is used by
21*6dbdd20aSAndroid Build Coastguard WorkerGoogle Cloud Build when auto-triggering new ui builds.
22*6dbdd20aSAndroid Build Coastguard WorkerCloud Build invokes the equivalent of:
23*6dbdd20aSAndroid Build Coastguard Worker
24*6dbdd20aSAndroid Build Coastguard Worker```bash
25*6dbdd20aSAndroid Build Coastguard Workerdocker run europe-docker.pkg.dev/perfetto-ui/builder/perfetto-ui-builder \
26*6dbdd20aSAndroid Build Coastguard Worker    /ui_builder_entrypoint.sh
27*6dbdd20aSAndroid Build Coastguard Worker```
28*6dbdd20aSAndroid Build Coastguard Worker
29*6dbdd20aSAndroid Build Coastguard WorkerNOTE: the `ui_builder_entrypoint.sh` script is bundled in the docker container.
30*6dbdd20aSAndroid Build Coastguard WorkerThe container needs to be re-built and re-pushed if the script changes.
31*6dbdd20aSAndroid Build Coastguard Worker
32*6dbdd20aSAndroid Build Coastguard WorkerTo update the container:
33*6dbdd20aSAndroid Build Coastguard Worker
34*6dbdd20aSAndroid Build Coastguard WorkerPrerequisite:
35*6dbdd20aSAndroid Build Coastguard WorkerInstall the Google Cloud SDK from https://dl.google.com/dl/cloudsdk/release/google-cloud-sdk.tar.gz
36*6dbdd20aSAndroid Build Coastguard Worker
37*6dbdd20aSAndroid Build Coastguard Worker
38*6dbdd20aSAndroid Build Coastguard Worker```bash
39*6dbdd20aSAndroid Build Coastguard Worker# Obtain a temporary token to impersonate the service account as per
40*6dbdd20aSAndroid Build Coastguard Worker# https://cloud.google.com/artifact-registry/docs/docker/authentication
41*6dbdd20aSAndroid Build Coastguard Worker# You need to be a member of perfetto-cloud-infra.prod to do this.
42*6dbdd20aSAndroid Build Coastguard Workergcloud auth print-access-token \
43*6dbdd20aSAndroid Build Coastguard Worker    --impersonate-service-account [email protected] | docker login \
44*6dbdd20aSAndroid Build Coastguard Worker    -u oauth2accesstoken \
45*6dbdd20aSAndroid Build Coastguard Worker    --password-stdin https://europe-docker.pkg.dev
46*6dbdd20aSAndroid Build Coastguard Worker
47*6dbdd20aSAndroid Build Coastguard Workerdocker build -t europe-docker.pkg.dev/perfetto-ui/builder/perfetto-ui-builder infra/ui.perfetto.dev/builder
48*6dbdd20aSAndroid Build Coastguard Workerdocker push europe-docker.pkg.dev/perfetto-ui/builder/perfetto-ui-builder
49*6dbdd20aSAndroid Build Coastguard Worker```
50