Skip to content

자동 전체 CI를 수동 검증 중심 운영으로 축소한다 #741

Closed

Description

@developer-1px

Goal Anchor

  • Outcome: 1인 개발과 agent의 로컬 검증을 기본으로 삼고, 같은 변경에 대한 자동 원격 전체 검증의 반복을 없앤다.
  • Done: 개발·PR은 변경 영향에 맞는 로컬 검증으로 인계한다. main push에는 Pages 빌드·배포를 유지한다. 태그 릴리스는 깨끗한 runner에서 기존 패키지 검증을 유지한다. 전체 CI와 장시간 collaboration soak는 workflow_dispatch로만 실행한다.
  • Don't: 제품 코드·테스트·계약·검증 명령을 삭제하거나 완화하지 않는다. 기존 미커밋 작업, 문서 PR #740과 그 가로 넘침 실패를 덮어쓰거나 통과로 취급하지 않는다. 별도 merge·배포·release·수동 전체 실행은 이번 위임에 포함하지 않는다.

사용자 합의

“어차피 나혼자 하는 프로젝트에 네가 검사 다 할텐데”에 따라 다음 운영안을 제안했고, 사용자가 “그렇게 하자”로 실행을 위임했다.

시점 검증과 실행
개발·PR agent가 변경 범위의 테스트·타입·빌드·브라우저 검증을 로컬에서 수행하고 실행/미실행/실패를 구분해 보고
main push Pages 빌드·배포와 기존 live 확인
릴리스 tag 기존 깨끗한 runner의 패키지 검증과 publication 보호 경계 유지
필요 시 전체 CI·장시간 soak를 수동 실행

테스트와 검사 CLI는 남긴다. CI workflow는 더 이상 변경 영향도 선택기나 조건 분기에 의존하지 않고 전체 검증을 직접 실행한다. 기존 선택기 CLI와 그 테스트는 명령 보존 범위에 남기며 자동 gate로 사용하지 않는다.

구현 범위

  • .github/workflows/ci.yml: PR/main 자동 trigger와 선택 Plan을 제거하고 수동 전체 검증으로 단순화.
  • .github/workflows/collaboration-soak.yml: 주간 schedule 제거, 수동 실행 유지.
  • Pages와 publish workflow의 자동 trigger, 검증·권한·환경 경계 보존.
  • 저장소 agent 지침과 개발 안내에 로컬 검증 책임 및 수동 실행 방법 반영.
  • 새로운 검사 framework나 복잡한 조건부 orchestration은 추가하지 않음.

검증 계획

  • workflow 구문과 GitHub Actions 의미 검사, trigger/job/command의 기존 대비 확인.
  • 기존 ci:plan:test, workspace 및 문서 검사 실행; 제품 테스트와 명령의 보존 확인.
  • Pages/publish workflow와 runtime 소스에 변경이 없는지 확인.
  • PR 생성 후 자동 CI가 새로 시작하지 않는지 확인. 수동 workflow의 실제 remote 실행은 별도 승인 없이 발동하지 않고 미실행으로 명시.

기준은 최신 main이며 원래 dirty checkout과 PR #740의 checkout/server는 보존한다.

Activity

  1. self-assigned this
    on Sep 9, 2026
  2. developer-1px commented on Sep 9, 2026

    @developer-1px
    OwnerAuthor

    구현·검증 완료

    • 전체 CI를 workflow_dispatch 전용으로 전환했다. Plan job, output 전달, affected-package/browser 조건 분기를 제거하고 Package / Site / External kit가 기존 전체 검증 명령을 직접 실행한다.
    • collaboration soak의 주간 cron만 제거했다. 수동 실행과 장시간 검증 명령은 유지한다.
    • Pages 및 publish workflow는 byte-for-byte 그대로다. 제품 코드·테스트·package scripts·lockfile도 변경하지 않았다.
    • README와 AGENTS에 로컬 검증 책임, 실패/미실행의 구분, 수동 실행 방법을 명시했다. 기존 선택기 CLI와 11개 정책 테스트는 명령 보존 범위에 남겼다.

    로컬 검증:

    • actionlint v1.7.12: 모든 workflow의 구문/표현식 검사 통과.
    • YAML 구조 검사: CI/soak의 manual-only trigger, read-only 권한, 전체 검증 명령 보존, Plan/조건 분기 부재 확인.
    • npm run ci:plan:test: 11개 통과.
    • npm run workspace:check: 30개 library 계약 통과.
    • npm run docs:evaluate: 통과.
    • git diff --check: 통과.

    총 4개 파일만 수정했다. PR #740 및 원래 dirty checkout은 변경하지 않았다. 원격 전체 CI, soak, 배포, release는 실행하지 않았고 이 검증을 통과로 표기하지 않는다.

  3. developer-1px commented on Sep 9, 2026

    @developer-1px
    OwnerAuthor

    PR 인계

    PR #742: #742

    원격 PR head와 로컬 검증 commit이 c805db27101bc9d1dce1e4a0522d7f9553e2b2f0로 일치하고 worktree는 clean이다. 이슈 #741의 종료 연결과 4개 변경 파일을 확인했다.

    PR 생성 후 check 목록과 해당 branch의 Actions run 목록은 모두 비어 있다. 이는 자동 전체 CI를 제거한 의도한 동작이며 “CI 통과”로 표시하지 않는다. 로컬 workflow/CLI/문서 검증 결과는 앞선 보고와 PR에 남겼다.

    merge, 원격 전체 CI·soak, release와 배포는 실행하지 않았다. main의 운영 변경은 이 PR이 병합된 후 적용된다.

  4. developer-1px commented on Sep 9, 2026

    @developer-1px
    OwnerAuthor

    병합 진행

    사용자의 명시적인 merge 요청에 따라 PR #742만 병합합니다. 기존 이슈의 PR 생성까지였던 위임 범위에 이번 병합 승인이 추가되었습니다. 문서 PR #740, 수동 전체 CI·soak 실행, 태그 릴리스는 대상이 아닙니다.

    • 최신 base: a36ab5ebabfc6903ebb7aa57ad8212efe5272d10
    • 병합 대상 head: c805db27101bc9d1dce1e4a0522d7f9553e2b2f0 — 로컬 검증 및 인계한 커밋과 일치
    • 충돌 없음(MERGEABLE / CLEAN), 차단 리뷰·필수 검사 없음
    • 원격 PR 검사 없음은 수동 실행 정책에 따른 상태이며, 통과로 보고하지 않습니다.
    • 4개 파일의 변경 범위와 diff 검사를 다시 확인했습니다. 제품 코드·테스트·검증 CLI 및 Pages·publish workflow는 변경하지 않았습니다.
  5. developer-1px commented on Sep 9, 2026

    @developer-1px
    OwnerAuthor

    병합 완료

    • PR #742를 squash 병합했습니다: dabbe80a39723f43a990481e58d37400c9387947.
    • 원격 main이 해당 커밋을 가리키며, 병합 결과의 파일 내용이 검증한 PR head와 일치함을 확인했습니다.
    • 이슈 #741은 자동으로 닫혔습니다.
    • 병합 커밋에서는 Pages 자동 빌드·배포만 시작된 것을 확인했습니다. 확인 시점에는 진행 중이며 배포 완료를 보고한 것은 아닙니다.
    • 전체 CI·collaboration soak는 수동 실행으로 전환되었고, 직접 실행하지 않았습니다. 릴리스 검증 workflow는 그대로 유지했습니다.
    • 문서 PR #740은 OPEN 상태 그대로이며 이번 병합에 포함하지 않았습니다. 기존 체크아웃의 미커밋 작업과 별도 작업 디렉터리는 건드리지 않았습니다.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

No labels
No labels

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions