Python2가 사라진 GitHub Action 오류 해결하기

Yaminyam·2022년 6월 9일
1

42World

목록 보기
1/2

서론

42World Back-end팀 정기 회의 중 프러덕트 코드의 수정없는 Github Action workflow 변경만이 된 PR에서 CI Test가 실패하는 이슈가 발생했다

원인을 살펴봤더니


프러덕트 코드의 문제가 아닌 CI Test workflow를 동작시키기 위해 필요한 actions-yarn docker를 실행하는 중에 문제가 발생했다 python2가 존재하지 않아 에러가 발생하는 것 이었다

해결하기

이 문제가 왜 발생하는지 알아보기위해 Borales/actions-yarn 레포지토리를 방문했고 해당 PR을 발견 할 수 있었다

alpine linux 3.16 버전이 배포되면서 이번에 php7과 python2가 기본 포함 패키지에서 삭제된것 이었다
alpine linux 3.16 버전은 5월 23일에 배포되었지만 해당 이슈가 어제 발생한 이유는 Docker Hub의 node 공식 이미지가 어제 배포되었기 때문이다

그래서 node:lts-alpine 이미지를 이용하여 빌드를 하고있던 actions-yarn 에서 python2를 이용하고 있었던 것이 오류가 났던것이다

하지만 프러덕트 코드의 변경없이 빌드만 python3버전으로 진행하도록 하면 되었기 때문에 개발자가 바로 python3버전 변경된 새로운 3.0.0 버전을 배포하였다
굉장히 빠른 처리로 42World 의 문제도 바로 해결 할 수 있었다

마치며

그런데 yarn 명령어를 조작하는데 굳이 다른 패키지에 의존을 해야하나? 라는 의문이 있었고 특별히 이 패키지에서 하는 역할이 있는지 알아보았다

이 프로젝트는 Github Actions 베타버전에 도커로만 환경을 다룰 수 있을 때 필요했던 패키지라고 한다
그래서 대신 setup-node를 사용하는것이 더 좋은 방법임을 제시하고있다
추후 아예 의존하는 패키지없이 yarn을 관리하거나 setup-node를 활용하는 방안으로 변경해야 할 필요성이 생겼다

0개의 댓글