kubectl port-forward service/temporal --address 0.0.0.0 -n temporal 7233:7233
bazelisk run //pinpoint/go/workflows/worker -- --namespace perf-internal
sample/sample.go
bazelisk run //pinpoint/go/workflows/sample -- --namespace=perf-internal --bisect=true
You need to redo steps 3-5 if you want to run your latest local changes.
Breakglass Access
):grants add --wait_for_twosync --reason="b/XYZ -- justification" skia-infra-breakglass-policy:2h
./kube/attach.sh skia-infra-corp
./kube/attach.sh skia-infra-public
kubectl port-forward service/temporal --address 0.0.0.0 -n temporal 7233:7233
sample/sample.go
bazelisk run //pinpoint/go/workflows/sample -- --namespace=perf-internal --taskQueue=perf.perf-chrome-public.bisect --[flag_for_workflow i.e. bisect]=true
Notes:
skia-infra-public
so connecting to the worker is unnecessary.Temporal workflows uses event history replay to ensure that any changes to a workflow will not break any existing running workflow (called non-determinism error). Proper versioning is required to avoid non-determinism errors and replay unit tests confirm versioning is successful without deploying the change to production or running the workflow in real time.
Here is how to download the event history from a temporal workflow:
On a given temporal workflow page, you can download the event history by clicking the Download
button to the right of the Event History
header. Disable Decode Event History
.
This method is the fastest way to get the event history. This method may break if there is a version incompatibility between the temporal UI and the server. If this occurs, either upgrade temporal until they are both compatible or try the command line method.
bazelisk run //temporal:temporal-cli -- workflow show -w <workflow-id> -n <namespace> -o json > <filename>
You should see the event history in <filename>
.
Please ask the team to add you to https://chrome-infra-auth.appspot.com/auth/groups/project-chromeperf-admins.
The catapult post request failed with status code 500
Only applies to running the bisect workflow on the local dev environment.
type example struct { key string } param := example{ key: "value" } workflow.ExecuteActivity(ctx, FooActivity, param)
param
will be empty.