|
| 1 | +# email-rotation |
| 2 | + |
1 | 3 | This directory implements an oncall rotation for security issues, essentially. |
2 | 4 |
|
| 5 | +The intent of the code here is to help ensure that newly-reported security |
| 6 | +issues are addressed promptly. When a new LLVM Security repo issue is filed, |
| 7 | +a bot will send an email to the LLVM security group mailing list highlighting |
| 8 | +the folks who are currently oncall, and who are expected to help push forward |
| 9 | +on said issue. |
| 10 | + |
| 11 | +## Rotation quick answers |
| 12 | + |
| 13 | +### How long is a rotation? |
| 14 | + |
| 15 | +2 weeks. |
| 16 | + |
| 17 | +### How do I swap with someone? |
| 18 | + |
| 19 | +Edit the `rotation.yaml` file to swap your github username with the person |
| 20 | +you'd like to swap with. The machine this runs on checks for updates daily. |
| 21 | + |
| 22 | +### How do I add myself to future rotations? |
| 23 | + |
| 24 | +Add a line to `rotation-members.yaml` with your github username. |
| 25 | + |
| 26 | +### How do I remove myself from future rotations? |
| 27 | + |
| 28 | +1. Remove your username from `rotation-members.yaml`. |
| 29 | +2. Edit `rotation.yaml` to remove _all_ rotations including and after your next |
| 30 | + rotation. (If your next rotation is not yet scheduled, you're done after |
| 31 | + step #1 is committed). |
| 32 | +3. Run `./extend_rotation.py --ensure-weeks=16` and commit the result. (If your |
| 33 | + next rotation is more than two months out, this is optional). |
| 34 | + |
| 35 | +### How is the emailing run? |
| 36 | + |
| 37 | +@gburgessiv runs it via cron every few hours. Ideally, it would run on |
| 38 | +something shared like Github Actions, but all GHA logs are public. Accidental |
| 39 | +disclosure through that is a concerning vector, and it's very low-effort to |
| 40 | +run locally. |
| 41 | + |
| 42 | +### How is the rotation determined? |
| 43 | + |
| 44 | +`./extend_rotation.py` is run ~monthly. It adds new rotations based on who in |
| 45 | +`rotation-members.yaml` participated in the rotation least recently. |
| 46 | + |
| 47 | +## Short descriptions of files |
| 48 | + |
3 | 49 | Relevant files (ignoring tests) are: |
4 | 50 |
|
5 | 51 | - `rotation-members.yaml`, which is the set of all members currently on the |
|
0 commit comments