2P by neo 2023-09-24 | favorite | 댓글 1개
  • 저자는 2019년부터 GitHub Actions의 일일 사용자이며, 재사용 가능한 워크플로우, OpenID 연결, 작업 요약, GitHub Mobile로의 통합과 같은 새로운 기능을 감사하게 생각한다.
  • 그러나 저자는 GitHub Actions에서 디버깅 과정이 시간이 많이 소요되고 여러 컨텍스트 전환을 포함한다는 점에 대해 불만을 표현한다.
  • 저자는 대화식 디버깅 셸과 분명히 유효하지 않은 워크플로우를 가진 커밋을 거부하는 저장소 설정과 같은 개선을 제안한다.
  • 저자는 또한 GitHub Actions의 보안 문제, 예를 들어 잠재적으로 취약한 워크플로우를 작성하는 것이 쉽고 포크와 비포크 SHA 참조 간의 구분이 없다는 점을 강조한다.
  • 저자는 불안전한 워크플로우의 푸시 시간 거부, 워크플로우에 대한 런타임 검사, 더 제한적인 기본 토큰 범위 등과 같은 해결책을 제안한다.
  • 저자는 GitHub Actions에서 타입 강제의 부재를 비판하며, 이로 인해 유지 관리 및 보안 문제가 발생한다.
  • 저자는 액션 및 워크플로우 작성자가 어디에서나 type:을 사용하도록 허용하고, 더 엄격한 타입 검사를 실시하며, type: object와 type: array 타입을 도입하는 것을 제안한다.
  • 저자는 또한 GitHub에서 더 많은 공식 액션을 요구하며, 가장 큰 제3자 액션과 협력하여 더 많은 의사 공식 액션을 요구한다.
  • 저자는 GitHub 엔지니어들이 이러한 문제를 공유하고 해결하길 바란다.
Hacker News 의견
  • 기사는 두 가지 유형의 GitHub Actions 워크플로우에 대해 논의하고 있습니다: GitHub Actions로 프로그래밍하고 설정하는 것. 전자는 복잡하고 이해하기 어려운 워크플로우를 초래할 수 있으며, 후자는 더 간단하고 관리하기 쉬운 워크플로우를 만듭니다.
  • 사용자들은 Microsoft가 제공하는 디버깅 도구의 부족에 대해 불만을 표현하며, 이로 인해 번거로운 커밋-푸시-디버그 루프가 발생한다고 지적합니다. 그들은 디버깅을 쉽게 하기 위해 YAML 복잡성을 스크립트로 밀어넣는 것을 제안합니다.
  • 일부 사용자들은 디버깅 문제를 해결하고 로컬 머신을 포함한 어디에서나 실행할 수 있는 이동 가능한 파이프라인을 만들기 위해 Act와 Garden 같은 도구를 사용하는 것을 권장합니다.
  • 사용자들은 GitHub Actions의 병렬화 부족, 컨테이너 기반 작업의 불량 처리, 캐시 크기 제한 등을 비판하며, 동일한 VM에서 단계를 병렬로 실행할 수 없는 능력 부족에 대해 불만을 표현합니다.
  • 사용자들은 GitHub Actions의 보안 문제를 지적하며, 포크와 비포크 SHA 참조를 구분할 수 없는 능력 부족이 포크가 보안 설정을 우회할 수 있게 할 수 있다고 말합니다.
  • 일부 사용자들은 pre-commit.ci를 사용하여 커밋 전에 코드 검사와 수정을 하는 것을 권장하며, 이것이 빠르게 작동하고 많은 디버깅 문제를 해결한다고 말합니다.
  • 사용자들은 현재의 actions/upload-artifact를 사용하지 않고도 액션 실행에 HTML 보고서를 첨부할 수 있는 기능을 원하며, 작업 요약에 HTML 보고서에 대한 링크를 놓을 "attach-report" 액션을 제안합니다.
  • 사용자들은 자신들의 로컬 머신에서 모든 CI 워크플로우를 실행할 수 있게 해주는 Earthly와 같은 프로젝트를 지지하며, CI가 하는 대부분의 일은 스크립트나 다른 비CI 도구로 추상화되어야 한다는 데 동의합니다.