CI/CD — Red→Green 사이클 + 자동 push 프로세스 #6
Reference in New Issue
Block a user
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
사용자 피드백 #6: 관리 원칙 정립 필요, Red→Green 완료되면 Git에 자동 업로드 프로세스 구축 (ruff, pytest 등을 적극 활용).
적용 결과
.gitea/workflows/ci.yml(commite9cc6bf, 86줄) — push/PR마다 ruff + py_compile + pytest..pre-commit-config.yaml— local commit 게이트 (ruff fix + 위생).CONTRIBUTING.md— Red→Green→Push 사이클 명시.잔여 — 자동 push
현재는 사람 손
git push. 다음 라운드 후보:pre-pushhook에서 ruff+pytest pass 시 자동 push (한 번 더 사람 확인)옵션 C 권장 — main 보호는 Gitea Repo Settings → Branch Protection.
Closed — 기본 CI 게이트 완성 (commit
e9cc6bf)..gitea/workflows/ci.yml86줄 — push/PR마다 ruff + py_compile + pytest 매트릭스..pre-commit-config.yaml55줄 — local commit 게이트.CONTRIBUTING.md— Red→Green→Push 사이클 명시.자동 push 정책은 별도 결정 사항 (옵션 C 권장: feature 브랜치 자동 + main은 PR). 사용자가 정책 확정 후 별도 이슈로 추적하는 게 깔끔. 본 이슈는 "기본 게이트" 범위로 close.
CI uv setup 실패 — 진단 + fix (commit
fc96300)이전 #6 close 직후부터 8개 push 동안 7개 CI run 이 모두
failure였음. 사용자 보고로 발견.원인
astral-sh/setup-uv@v3의enable-cache: true옵션이 cache key 산출용**/uv.lock검색 → 미발견 시 hard fail. 우리 repo 에uv.lock부재.추가 발견 (uv lock 시도 시 노출)
[tool.uv] no-progress = false— uv 0.11+ deprecated, parse error.dependencieshard pin 충돌:scipy==1.13.1vs[py313]scipy>=1.14,pyproj==3.6.1vspyproj>=3.7,<4.pyproj>=3.7가 Py3.11+ wheel 만 —requires-python = ">=3.9"와 충돌.적용
uv.lock생성 (438 KB, 89 packages 해결).pyproject.toml: hard pin → range pin (>=),requires-python>=3.11, deprecated 옵션 제거..gitea/workflows/ci.yml:cache-dependency-glob: "uv.lock", install step 단순화,shell: bash명시.결과
Run #8 (
fc96300) → ✅ success. 이전 7 runs 모두 failure → fix 후 첫 Green.본 이슈는 close 유지. 기본 CI 게이트는 이제 정상. 자동 push 정책 (옵션 A/B/C) 은 여전히 별도 결정.