저는 이것이 실제라고 믿지 않아서 조사해 보았습니다. 진짜입니다. 보기보다 훨씬 심각합니다. @ziglang과 @theo가 GH Actions가 안타깝고 방치된 플랫폼이라고 주장하는 것을 확실히 뒷받침합니다. 소프트웨어 고고학에 대해 좀 더 자세히 알아보세요...🧵
`safe_sleep`은 2022년에 추가되었습니다. `sleep`의 사용을 대체했습니다. 하지만 `sleep`은 POSIX 표준 명령입니다. GitHub Actions는 이미 POSIX가 아닌 명령도 많이 존재한다고 가정하고 있으므로, 이 스크립트는 이상한 선택입니다. https://t.co/imeOrBVdEc
이 기능은 누구나 처음 보면 쉽게 알 수 있듯이 항상 CPU를 100% 사용하고, 작업이 올바른 초에 시간을 확인하지 않는 한 영원히 실행된다는 점이 구현되어 있습니다. https://t.co/dQPcUhYYsn
누군가 2024년에 플랫폼에 독립적인 방식으로 CPU 문제를 해결했습니다. 하지만 아무도 PR을 검토하거나 의견을 밝히지 않았습니다. https://t.co/ymPDlJLcF7
4월에 "Sleep Forever" 버그를 지적하는 이슈가 제기되었습니다. GH 측에서는 아무도 이에 대해 언급하지 않았고, 이 이슈는 여전히 미해결 상태입니다. https://t.co/ET43AKGzKy
한편, 2024년에 이 문제를 해결하기 위한 PR이 생성되었습니다(CPU 킬러 루프는 여전히 남아 있지만요). 한 달 후 자동으로 닫혔습니다. 마침내 올해 8월에 누군가가 다시 열어서 통합했습니다. (하지만 여전히 문제는 해결되지 않았습니다.) https://t.co/Qq2K2ORbsh
따라서 실제로 합리적인 sleep 구현을 사용하는 PR은 병합되지 않은 채로 남아 있으며, 스크립트는 오늘날에도 끔찍하지만 어느 정도 작동하는 상태로 남아 있습니다. (또한 IIUC 기업은 CPU 시간당 비용을 지불합니다. 그래서 이 작은 스크립트는 GitHub에 큰 이익을 가져다줄 것으로 보입니다...)
이 모든 광기는 개발자 포럼에서 당혹감과 공포가 뒤섞인 채로 한동안 논의되어 왔습니다. https://t.co/wXF3Xh7li8
이것이 단 하나의 고립된 사건이라고 할 수도 있겠지만, 제대로 기능하는 조직이라면 이처럼 엄청난 일련의 끔찍한 일들이 어떻게 일어날 수 있을지 이해할 수 없습니다.
GitHub 창립자들이 자기 자식이 소홀히 다루어지는 걸 보고 얼마나 기뻐할지는 상상도 할 수 없어요. 😢
@ThePrimeagen도 같은 생각을 하고 있는 것 같네요...
