This is a scheduled Ubuntu 20.04 retirement. Ubuntu 20.04 LTS runner will be removed on 2025-04-15. For more details, see https://github.com/actions/runner-images/issues/11101
runs-on: ubuntu-20.04
와 같이 명시하는 부분이 바로 러너를 지정하는 방식입니다.
예를 들어, 다음과 같은 워크플로를 살펴보겠습니다.jobs:
build:
runs-on: ubuntu-20.04
steps:
- uses: actions/checkout@v3
- name: Install dependencies
run: npm install
runs-on: ubuntu-20.04
는 이 잡(Job)이 Ubuntu 20.04 환경에서 실행되어야 함을 뜻합니다.ubuntu-20.04
러너는 GitHub Actions에서 완전히 제거될 예정ubuntu-20.04
를 사용하는 워크플로는 2025년 4월 15일 이후부터 다음과 같은 에러와 함께 실행이 중단될 수 있습니다.The workflow is using ubuntu-20.04, which is not available.
ubuntu-20.04
환경을 GitHub이 더 이상 실행해 줄 수 없다는 뜻입니다.
CI/CD 파이프라인이 멈추게 되면 자동 테스트, 배포, 린트 검사 등이 모두 중단될 수 있어 서비스 운영에 큰 영향을 줄 수 있습니다.ubuntu-22.04
가 기본 대체 버전으로 권장되고 있습니다.
워크플로 파일에서 runs-on
부분만 수정해 주면 됩니다. 예를 들어 다음과 같이 바꾸시면 됩니다.runs-on: ubuntu-20.04
runs-on: ubuntu-22.04
gh run list --json name,status,labels
ubuntu-20.04
에 의존하는 설정이나 패키지를 사용 중이라면, 바로 버전을 올리는 것이 다소 불안할 수 있습니다. 이럴 경우 다음과 같은 단계로 점검하시는 것을 추천드립니다:matrix
전략을 사용해 두 버전에서 동시에 테스트해보는 것도 좋은 방법입니다.strategy:
matrix:
os: [ubuntu-20.04, ubuntu-22.04]
ubuntu-20.04
는 2025년 4월 15일부로 공식 지원이 종료되며, 이후부터는 워크플로에서 사용하실 수 없습니다.
문제를 예방하기 위해서는 미리 워크플로 파일을 점검하고, runs-on: ubuntu-20.04
항목을 ubuntu-22.04
로 변경하여 테스트해보시는 것을 권장드립니다.
러너 환경이 바뀌더라도 동일한 결과가 나오도록 코드를 작성하는 습관은 장기적인 유지보수에도 큰 도움이 됩니다.