github action CI 무한로딩 에러

권태형·2023년 7월 20일
0

bnb Back-Server Project

목록 보기
25/31

일단 내가 학습한 내용을 가지고 아주 간단하게 CI 테스트를 위한 workflow yaml파일을 만들어 보았다.

name: CI

on:
  push:
    branches: [ "master", "dev"  ] // "master", "dev" 브렌치로 푸시를 하거나
  pull_request:
    branches: [ "master", "dev" ] // "master", "dev" 브렌치로 PR를 날리면 아래의 job을 실행한다.

jobs:
   CI: //CI라는 이름으로

    runs-on: ubuntu-18.04  // ubuntu-18.04의 동작환경을 가지고

    steps:
    - uses: actions/checkout@v3
    
    - name: set-up node.js 18.x  // node 18버전을 미리 설치하고
      uses: actions/setup-node@v3
      with:
        node-version: 18.x
        cache: 'npm'
        
    - name: clean install node package    // package.lockjson에 명시된 모듈의 의존성을 위한 파일을 설치하고
      run: npm ci
      
    - name: run test  // 테스트를 진행한다.
      run: npm test

위의 간단한 CI로직의 동작이 예상치 못한 상황을 나타내었다. unit 테스트의 케이스가 150개 가량되긴하지만, 그래도 10분이나 걸릴 이유가 없다. 무엇인가 잘 못된 것이었다.

어떤게 문제일까? 이렇게 까지 간단한 내용인데도 불구 하고 동작이 불확실한이유에 대해서 구글을 뒤적였는데 답은 금새 찾을 수 있었다.

github action의 이슈 중에 ubuntu-18.04환경에 대한 제공을 23년 4월3일경까지 제공하고 중단하였다. 따라서 파일작성에 문법에 대한 문제는 없지만 이제는 제공하지 않는 ubuntu-18.04환경으로 action을 사용하려고 하였기 때문에 문제가 발생하였다.

그럼 나는 왜 ubuntu-18.04환경으로 동작시키려 했을까?

내 믿을 수 없는 기억력이 위와 같은 휴먼에러를 발생시켰다. 나는 내 AWS EC2가 ubuntu-18.04버전이라고 생각하고 있었다. 뭐가 문제지? 라는 생각에 다시 EC2의 버전을 확인하러 가보았는데..


AMI 이름만 보아도 아.. 20.04버전이구나.. 내가 왜 18.04버전으로 CI를 작성하려 했지? 예전에 어떤 강의에서 18.04버전으로 EC2인스턴스를 생성했던 기억이 있는데, 이 기억을 착각했었나 보다.. 어이가 없었다.

ubuntu-20.04로 변경하고 다시 pr을 날려보니 아래와 같이 정상 동작하는 것을 확인할 수 있었다.

profile
22년 12월 개발을 시작한 신입 개발자 ‘권태형’입니다. 포스팅 하나하나 내가 다시보기 위해 쓰는 것이지만, 다른 분들에게도 도움이 되었으면 좋겠습니다. 💯컬러폰트가 잘 안보이실 경우 🌙다크모드를 이용해주세요.😀 지적과 참견은 언제나 환영합니다. 많은 댓글 부탁드립니다.

0개의 댓글