오픈소스 컨트리뷰션을 하던 와중, 멘토님께 갑작스러운 연락이 왔다.

올것이 왔구나..
들어가서 확인해보니 예상치 못한 에러 한개와, 예상하고 있던 에러 한개가 생성된 모습을 확인할 수 있었다.

예상치 못한 에러는 설치한 패키지 중 Python 버전이 3.9 버전 이상이어야 되는 패키지들이 다수 있다는 내용이었으며
예상한 에러는 typecode-libmagic과 관련된 에러였다.
먼저 예상치 못한 에러를 해결하기 위해 팀원분들께 해당 내용을 공유하고, 왜 발생하였는지 원인을 찾기 시작하였다.
수많은 test-release 및 연관된 패키지들을 찾아본 결과, FOSSLight_source_scanner 패키지를 2.0.0 버전에서 2.1.0 버전으로 업데이트한 뒤로 생긴 에러라는 것을 확인하였다.
기존 해당 PR을 올렸을 때는 source scanner의 버전이 2.0.0으로, release를 문제없이 성공시킬 수 있었다.
source scanner 버전을 2.1.0으로 업그레이드 하였을 때

의존성 패키지인 scancode-toolkit을 32.2.0 버전으로 업그레이드하였는데, 이때 scancode-toolkit은 python 3.8버전을 지원하지만, 해당 패키지 산하에 있는 의존성 패키지들의 대다수가 파이썬 3.9버전 이상에서만 지원되고 있었다.
이때 python 버전을 3.9로 고쳤지만, 3.10에서만 지원하는 패키지들도 있어 3.10 버전으로 수정하였더니 해당 에러는 해결이 되었다.
예상하고 있었던 에러인 typecode-libmagic 관련 에러는
fosslight_source 패키지 requirements.txt 마지막 줄에 있는
typecode-libmagic;sys_platform!="darwin"
코드로 인해 발생하는 에러이다.
해당 코드는 시스템 플랫폼이 darwin, 즉 애플이 개발한 운영체제가 아니면 해당 패키지를 설치하라! 라는 뜻이 담겨져 있다.
지금 github release 액션을 통해 얻고자 하는 것은 docker hub에 Dockerfile을 배포하는 것인데, 이때 docker image를 빌드할 때 쓰이는 시스템 플랫폼은 linux이다.
docker와 macos는 시스템 플랫폼은 다르지만 운영체제는 Unix계열로 동일하다.
따라서 현재 typecode-libmagic 패키지를 darwin 플랫폼에서 설치할 수 없고, docker linux 플랫폼에서도 설치할 수 없다는 것을 깨닫고, Unix 운영체제에서 설치 불가능하다는 것으로 결론을 내렸다.
해당 사항을 멘토님께 말씀드리고, 해당 패키지 대신 따로 차용하고 있는 python-magic이 있기 때문에 해당 패키지를 별도로 설치하고, 해당 에러가 있어도 || true 값으로 넘어가게끔 설계를 하였다.
해당 내용을 토대로 새로운 PR을 생성하였다.

https://github.com/fosslight/fosslight_scanner/pull/131
Merge가 된후 github release action에서 succeed가 뜨길 간절히 기도하는 중이다.
꼬리에 꼬리를 무는 PR이 총 6개인데 벌써부터 난관이 봉착하다니.. 갈길이 멀다!