Skip to content

Commit d30c58e

Browse files
EtiennePerotgvisor-bot
authored andcommitted
Add (probably broken) BuildKite pipeline for refreshing PGO profiles.
This pipeline is intended to run regularly and check if the PGO profiles need to be refreshed. If they do, it creates a new commit and pushes it. This will likely not work because the BuildKite agent lacks credentials to make commits like this, but I would like to submit this anyway and see what error it gets first. The PGO pipeline is non-blocking and manually triggered only, so this will not impact other commits from submission. PiperOrigin-RevId: 759264527
1 parent 4b636c9 commit d30c58e

File tree

1 file changed

+38
-0
lines changed

1 file changed

+38
-0
lines changed

.buildkite/pgo.yaml

Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,38 @@
1+
agents:
2+
queue: release
3+
_templates:
4+
common: &common
5+
timeout_in_minutes: 600
6+
retry:
7+
automatic:
8+
- exit_status: -1
9+
limit: 10
10+
- exit_status: "*"
11+
limit: 2
12+
13+
notify:
14+
- email: "[email protected]" # TODO(b/323401901): Make this not go to /dev/null
15+
if: build.state == "failed"
16+
17+
env:
18+
# Force a clean checkout every time to avoid reuse of files between runs.
19+
BUILDKITE_CLEAN_CHECKOUT: true
20+
21+
steps:
22+
- <<: *common
23+
label: ":arrows_counterclockwise: Refresh PGO profiles (x86_64 Systrap)"
24+
if: build.branch == "master" && build.tag == null
25+
commands:
26+
- make ARCH=x86_64 benchmark-refresh-pgo BENCHMARKS_PLATFORMS=systrap
27+
- '
28+
if [[ "$(git status --porcelain | wc -l)" -gt 0 ]]; then
29+
git pull --rebase=true https://github.com/google/gvisor master &&
30+
git add runsc/profiles &&
31+
git commit -m "Update runsc profiles for PGO (profile-guided optimizations)." &&
32+
git push [email protected]:google/gvisor.git "pgo-update-$(date +"%Y%m%d-%H:%M:%S")";
33+
else
34+
echo "No changes to runsc profiles." >&2;
35+
fi
36+
'
37+
agents:
38+
arch: "amd64"

0 commit comments

Comments
 (0)