Pigweed Oncall Workflows
This skill provides operational workflows and runbooks for the Pigweed oncall rotation. It is designed to be manually triggered via slash commands to prevent unnecessary auto-loading.
Invoking this Skill
Trigger this skill and its subskills explicitly using slash commands in the prompt:
/oncall: Access the general oncall workflow, overview, and task router./oncall roll-cipdor/roll-cipd: Trigger the CIPD client update subskill (b/315378787), which rolls the pin, creates apw_env_setup: Roll cipdcommit, and submits it./oncall presubmit: Run presubmit verification on your branch or stack.
Oncall Responsibilities & Subskills
| Subskill / Command | Description | Runbook / Tool |
|---|---|---|
/roll-cipd |
Update pinned CIPD version, create pw_env_setup: Roll cipd commit, and submit to Gerrit (b/315378787) |
roll_cipd.md / roll_cipd.py |
/oncall presubmit |
Run presubmit checks across commit stacks | Run Presubmit Checks |
/oncall review |
Review incoming and ongoing Git/Gerrit patches | Code Review |
Subskill: Roll CIPD Client (b/315378787)
CIPD (Chrome Infra Package Deployer) is used by Pigweed to install and manage prebuilt toolchains and binaries. Updating the CIPD client pin is a recurring oncall maintenance task tracked under b/315378787.
Triggers
- Explicit user slash commands:
/roll-cipdor/oncall roll-cipd. - Explicit user prompt during oncall rotation specifically requesting CIPD pin roll.
Guards
- Do not auto-load on general tool, environment, or setup tasks unless explicitly requested.
- Do not use the mutable
latestref in.cipd_version(it causes selfupdate validation failures). - Always ensure all platform digests in
.cipd_version.digestsare generated and verified.
Execution Workflow
Option 1: Automated Roll, Commit & Push (Recommended)
Run the oncall helper script:
# Roll and commit
python3 .agents/skills/oncall/scripts/roll_cipd.py --commit
# Roll, commit, and submit to Gerrit
python3 .agents/skills/oncall/scripts/roll_cipd.py --commit --push
Option 2: Manual Roll, Commit & Push
- Determine candidate
git_revisiontags:python3 pw_env_setup/py/pw_env_setup/cipd_setup/wrapper.py describe \ infra/tools/cipd/linux-amd64 -version latest - Roll version and update digests:
python3 pw_env_setup/py/pw_env_setup/cipd_setup/wrapper.py selfupdate-roll \ -version-file pw_env_setup/py/pw_env_setup/cipd_setup/.cipd_version \ -version git_revision:<HASH> - Check and verify:
python3 pw_env_setup/py/pw_env_setup/cipd_setup/wrapper.py selfupdate-roll \ -version-file pw_env_setup/py/pw_env_setup/cipd_setup/.cipd_version \ -check - Verify client functionality:
python3 pw_env_setup/py/pw_env_setup/cipd_setup/wrapper.py -version - Commit changes:
git add pw_env_setup/py/pw_env_setup/cipd_setup/.cipd_version \ pw_env_setup/py/pw_env_setup/cipd_setup/.cipd_version.digests git commit -m "$(cat <<'EOF' pw_env_setup: Roll cipd
Rolls CIPD client version to .
Bug: 315378787 EOF )"
6. Submit to Gerrit:
```bash
git push origin HEAD:refs/for/main%ready
For full details and troubleshooting, see the roll_cipd.md runbook.