오픈소스에 기여하다 보면, 자신이 맡은 이슈나 작업한 PR이 Merge된 이후에도 릴리즈 전에 최종 테스트를 통해 확인하는 책임감이 필요합니다.
즉, 내 코드가 실제 릴리즈 버전에서 정상 작동하는지, 혹은 다른 변경 사항 때문에 문제가 없는지 직접 검증해야 합니다.
Apache Airflow에서는 릴리즈 후보가 나오면 GitHub에 다음과 같은 이슈가 생성됩니다.
Status of testing Apache Airflow <VERSION>rc<X>
처음에는 어떻게 테스트해야 할지 막막할 수 있지만, 아래 단계를 따라가면 쉽게 테스트 할 수 있습니다.
1. 기본 설치를 이용한 테스트
설치 명령어
uv pip install -U apache-airflow==<VERSION>rc<X> --pre
<VERSION>
에는 릴리즈 버전을, <X>
에는 RC 번호를 입력합니다.
- 예:
uv pip install -U apache-airflow==3.0.3rc1 --pre
제약 조건 적용
pip install apache-airflow==<VERSION>rc<X> \
--constraint "https://raw.githubusercontent.com/apache/airflow/constraints-<VERSION>/constraints-3.10.txt"
이렇게 설치를 하면, 아래의 명령어로 어느 경로에 설치가 되어있는지 확인할 수 있습니다.
uv pip show apache-airflow
2. Breeze를 이용한 테스트
Airflow에서 제공하는 Breeze 환경을 활용하면 더 손쉽게 테스트할 수 있습니다.
기본 실행
breeze start-airflow --use-airflow-version <VERSION>rc<X> --python 3.10 --backend postgres
웹 UI 접속
Breeze로 실행시켰다면 http://localhost:28080
으로 들어가 줍니다.
UI가 정상적으로 뜬다면, 자신이 추가한 기능이나 수정 사항을 직접 테스트하면 됩니다.
Provider까지 함께 테스트
만약 provider도 테스트한다면, 아래와 같이 넣어줄 수도 있습니다.
breeze start-airflow --use-airflow-version <VERSION>rc<X> --python 3.10 --backend postgres \
--executor CeleryExecutor --airflow-extras "celery,google,amazon"
테스트 완료후 댓글 달기
자신이 추가한 기능에 대해서 테스트를 완료했다면, Status of testing Apache Airflow <VERSION>rc<X>
이슈에 댓글을 남겨 주세요.
- 정상 작동 시: “문제 없음”이라고 간단히 피드백합니다.
- 문제가 있을 시: 어떤 기능에서 문제가 발생했는지, 재현 방법과 예상되는 원인을 함께 작성해 주면 릴리즈 안정화에 큰 도움이 됩니다.
마치며
오픈소스 기여의 중요한 덕목 중 하나는 “끝까지 책임지는 것” 입니다.
PR이 머지된 이후에도 릴리즈 후보에서 직접 검증하는 습관을 들이면, 안정적인 릴리즈에 기여하고 프로젝트의 품질 향상에도 큰 도움이 됩니다.