Skip to content

chore: security update 전용 그룹 추가 - #38

Merged
eigger merged 1 commit into
masterfrom
chore/dependabot-security-group
Sep 3, 2026
Merged

chore: security update 전용 그룹 추가#38
eigger merged 1 commit into
masterfrom
chore/dependabot-security-group

Conversation

@eigger

@eigger eigger commented Sep 3, 2026

Copy link
Copy Markdown
Owner

문제

security update는 dependabot.ymlignore 규칙을 따르지 않는다. GitHub 문서에 명시돼 있다 — "update-types only affects version updates, not security updates".

그래서 version-update:semver-major를 제외해뒀어도, 권고가 뜨면 메이저 단독 PR이 그대로 열린다. drop에서 실제로 이렇게 됐다.

변경

npm과 github-actions에 applies-to: security-updates 그룹을 추가한다. 권고가 여러 건이어도 PR 하나로 묶여 온다.

      security:
        applies-to: security-updates
        patterns:
          - "*"

기존 그룹에는 기본값이던 applies-to: version-updates를 명시했다. 한 파일에 두 종류의 그룹이 공존하게 되므로 어느 쪽인지 드러나는 편이 낫다.

docker는 디렉터리당 node 이미지 하나뿐이라 묶을 게 없어서 그대로 뒀다.

트레이드오프

배치로 묶이면 안전한 패치와 깨지는 메이저가 한 PR에 섞일 수 있다. 그 경우 메이저를 처리하기 전까지 배치 전체가 머지 불가가 된다. 지금처럼 메이저 PR이 따로 계속 재생성되는 것보다는 낫다고 보고 묶는 쪽을 택했다 — 어차피 "major는 한 브랜치에서 일괄"이 이 저장소의 정책이다.

섞여서 막히면 그때 exclude-patterns로 문제 패키지를 그룹에서 빼내면 된다.

검증

4개 저장소(stash·kibble·garage·drop) 설정을 YAML 파싱하고, 각 그룹의 키가 문서상 허용된 것(applies-to, patterns, exclude-patterns, dependency-type, update-types)인지, applies-to 값이 유효한지 확인했다.

🤖 Generated with Claude Code

security update는 ignore의 version-update:semver-major를 따르지 않는다.
GitHub 문서: "update-types only affects version updates, not security
updates". 그래서 권고가 뜰 때마다 메이저 단독 PR이 따로 열렸다 —
drop에서 fastify 4→5 단독 bump가 #11#18 → #20으로 세 번 재생성됐고,
플러그인 peer 때문에 셋 다 CI가 깨진 채로 머지 불가였다.

npm·github-actions에 applies-to: security-updates 그룹을 두어 배치로
받는다. 기존 그룹에는 기본값이던 applies-to: version-updates를 명시해
두 종류가 한 파일에 공존하는 걸 드러낸다.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
@eigger
eigger merged commit edde9c2 into master Sep 3, 2026
6 checks passed
@eigger
eigger deleted the chore/dependabot-security-group branch September 3, 2026 10:02
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.

1 participant