mozilla-releng / mozilla-releng/scriptworker-scripts
[meta] revisit scopes
Nobody has claimed this yet.
- Dominant language
- Python
- Stars
- 16
- Forks
- 38
- Avg merge
- 1d 7h
- Merged PRs (30d)
- 14
Description
Tl;dr, let's limit our usage of scopes to the restricted set, and determine non-restricted behavior/format/action based on task.payload.
Details:
Our usage of scopes came from the original funsize signingworker, which used scopes to determine the type of cert (dep/nightly/release), as well as the signing format (gpg/authenticode/dmg etc). With CoT, we restricted the cert scope, allowing for dep but restricting nightly and release to certain trees. Over time, we found that using scopes for formats was unwieldy, without seeing any benefit. We moved to specifying format in the task payload, and only setting the cert scope.
Let's continue this pattern throughout the scripts. Restricted scope types (e.g., balrog server, signing cert level, beetmover bucket) should continue to be scopes, and we should continue restricting them in scriptworker.constants.DEFAULT_CONFIG.cot_restricted_scopes. Any other scopes, we should deprecate, and move those settings into the task payload.
(To clarify: in the current proposal, all of cert:dep-signing, cert:nightly-signing, and cert:release-signing would each be scopes, even though only the latter 2 are restricted. We're just talking about removing the format scopes, for signing.)
Let's resolve this issue once all scripts follow this pattern.
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Audit scope handling throughout the scripts, starting with scriptworker.constants.DEFAULT_CONFIG.cot_restricted_scopes and the task.payload data described in the issue. Compare signing and other script behavior with the restricted-scope pattern. Done means restricted settings remain scopes while other settings are represented in task.payload and the issue's scope usage is resolved across all scripts.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- python
- Domain
- tooling
- Issue type
- Refactor
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100