Skip to content

Change Teams to CodeTeams - #5

Merged
alexevanczuk merged 5 commits into
mainfrom
ae-change-to-code-teams
Jun 14, 2022
Merged

Change Teams to CodeTeams#5
alexevanczuk merged 5 commits into
mainfrom
ae-change-to-code-teams

Conversation

@alexevanczuk

@alexevanczuk alexevanczuk commented Jun 14, 2022

Copy link
Copy Markdown
Contributor

Resolves #4.

This changes the major namespace of this gem to be CodeTeams rather than Teams. It also changes the name of the gem to code_teams. Once this lands, I will also rename the repository to code_teams accordingly.

This of course requires a major version bump since the user will need to use a different gem and use differenet API. I will include a "migration guide" in the release notes.

Draft release:
https://github.com/rubyatscale/bigrails-teams/releases/tag/untagged-05c09a7b2a91096d2985

@alexevanczuk
alexevanczuk requested review from ngan and shageman June 14, 2022 13:52
@alexevanczuk
alexevanczuk merged commit 410e0cd into main Jun 14, 2022
@alexevanczuk
alexevanczuk deleted the ae-change-to-code-teams branch June 14, 2022 17:39
dduugg added a commit that referenced this pull request Aug 17, 2026
Add explicit least-privilege `permissions:` blocks to the three
reusable-workflow callers that lacked one
(actions/missing-workflow-permissions, alerts #1, #3, #4). A caller's
permissions become the ceiling for the called workflow, so each grant
covers exactly what the shared-config workflow needs:

- cd.yml -> `contents: write`: shared-config's cd.yml checks out with
  persisted credentials and runs publish-rubygems-action, which does a
  raw `git push` of the release tag, then `gh release create`.
- stale.yml -> `issues: write` + `pull-requests: write`: actions/stale
  comments on and closes both stale issues and stale PRs.
- triage.yml -> `issues: write`: the callee runs
  `gh issue edit --add-label triage`; the callee's own job already
  declares `issues: write`, and the caller must not clamp below it.

ci.yml and codeql.yml already declare permissions and are untouched.

Fix the polynomial ReDoS in `Utils.underscore` (rb/polynomial-redos,
alert #5). The acronym-splitting step `/([A-Z]+)([A-Z][a-z])/` is
quadratic on long runs of uppercase letters that never reach the
required uppercase-lowercase pair, since `[A-Z]+` can start matching at
any offset within the run. Replacing it with the zero-width
`/(?<=[A-Z])(?=[A-Z][a-z])/` and an `_` replacement is linear: the
lookahead only matches immediately before the final uppercase of a run
that is followed by a lowercase letter, and the lookbehind requires at
least one preceding uppercase, which is exactly what `[A-Z]+` required.

Equivalence was checked exhaustively over all strings up to length 6
from the alphabet [A B a b 1 - : _], over 200k random mixed-case strings
up to length 24, and against the named cases now pinned in
spec/lib/code_teams/utils_spec.rb. The other gsub/tr steps are unchanged.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants