commit | a42fa34aea3051355c0a44e53ee94ab261f1e061 | [log] [tgz] |
---|---|---|
author | Alex Sun <sunpeng@google.com> | Fri Apr 26 23:06:43 2024 +0000 |
committer | SkCQ <skcq-be@skia-corp.google.com.iam.gserviceaccount.com> | Sat Apr 27 05:03:02 2024 +0000 |
tree | 1d24815b8fe5e1ac468c4a618f4c8aa03ccf97f4 | |
parent | 57b1569a232f54dce66b5cb9d174c249c78bde2e [diff] |
When the parent workflow was cancelled, cleanup steps to cancel the running swarming and buildbucket tasks Based on the Temporal cancellation document: https://docs.temporal.io/dev-guide/go/cancellation The Child workflow option "ParentClosePolicy: enums.PARENT_CLOSE_POLICY_REQUEST_CANCEL" will send cancellation to the child workflows when the parent workflow got cancelled. When the child workflow context got cancelled, ErrCanceled will be return, which will trigger the CleanupXXXActivity. Tested on dev environment, the child workflows can be cancelled, and the swarming/build tasks can be cancelled. Bug: b/336632955 Change-Id: I3146ea345c30b27396efaed65f9ccb68c5aeaaf2 Reviewed-on: https://skia-review.googlesource.com/c/buildbot/+/846996 Reviewed-by: Jeff Yoon <jeffyoon@google.com> Commit-Queue: Alex Sun <sunpeng@google.com>
This repo contains infrastructure code for Skia.
The infrastructure code is generally built to run on x86 linux. Running on other platforms may be possible but is not officially supported and success will vary depending on the command.
The main source code repository is a Git repository hosted at https://skia.googlesource.com/buildbot.git. It is possible to check out this repository directly with git clone
or via go get
.
Using git clone
allows you to work in whatever directory you want. You will still need to set GOPATH in order to build some apps (recommended to put this in a cache dir). E.g.:
$ cd ${WORKDIR} $ git clone https://skia.googlesource.com/buildbot.git $ export GOPATH=${HOME}/.cache/gopath/$(basename ${WORKDIR}) $ mkdir $GOPATH $ cd buildbot
Almost all applications are built with Bazel, and bazelisk is the recommended tool to ensure you have the right version of bazel installed:
go install github.com/bazelbuild/bazelisk@latest go install github.com/bazelbuild/buildtools/buildifier@latest go install github.com/kisielk/errcheck@latest go install golang.org/x/tools/cmd/goimports@latest go install github.com/mikefarah/yq/v4@latest go install go.chromium.org/luci/client/cmd/...@latest
export PATH=$PATH:$(go env GOPATH)/bin
sudo apt-get install jq
bazelisk build --config=mayberemote //...
bazelisk test --config=mayberemote //...
To update generated code run the following in any directory:
go generate ./...
Install Cloud SDK.
Use this command to run the presubmit tests:
./run_unittests --small