- 이슈: github.com/psf/black/issues/2079

오늘 아침에 워크플로 수정하다가 확인하니까 워크플로에서 psf/black@stable을 가져오지 못한걸 발견했습니다.

혹시 모르시는 분을 위해 잠깐 설명하자면 black은 파이썬 린트 라이브러리중에 가장 많이 쓰이는 라이브러리 중 하나입니다

 

stderr:
    error: pathspec 'stable' did not match any file(s) known to git

pre-commit에서 black stable버전을 사용하고 있고, github actions workflow에서는 pre-commit을 서버사이드에서 돌리는 구조였는데, stable을 찾을 수 없다는 에러가 나옵니다.

문제는 원래 black에 stable 브랜치가 있었는데, 모종의 이유로 없어진 것으로 보입니다. 안쓰는 브랜치 지우다가 실수로 지워버렸다든가..

때문에, 깃허브에서 black@stable을 사용하는 모든 CI가 깨졌습니다. 보통 파이썬 린트를 black으로 하기 때문에.... 파이썬 레포 상당수의 CI가 깨졌을겁니다.

 

# .pre-commit-config.yaml
repos:
  - repo: https://github.com/psf/black
    rev: 20.8b1  # change this
    hooks:
      - id: black
        language_version: python3
# .github/workflows/black.yaml
name: Lint

on: [push, pull_request]

jobs:
  lint:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v2
      - uses: actions/setup-python@v2
      - uses: psf/black@20.8b1  # change this

일단 당장의 해결방법은 stable에서 20.8b1(현재 최신 릴리즈)로 바꾸는 겁니다.

뭐.. 곧 고쳐지겠죠?

 

+ 2021. 04. 20.

일단 black collaborator가 남긴 코멘트 요약을 좀 해보면, black은 원래 stable 태그가 있었습니다. 이 태그는 stable 릴리즈 커밋을 딴 건데, 문제는 git tag는 변동되지 않는 것을 전제로 만들어졌기 때문에 움직이기가 힘들다고 하네요.

어쨌거나 그런 이유로 stable 태그를 없애고, 대신 stable 브랜치를 만들었고, 그러던 와중 stable 브랜치가 지워진 겁니다

지금은 다시 20.8b1 릴리즈 시점으로 stable 브랜치가 만들어졌기 때문에 @stable로 정상 동작은 하지만, 저사람 개인적인 생각으로는 stable이 태그든 브랜치든 별로 좋지 않은 아이디어인 것 같다는군요. 명시적 버저닝을 하는게 더 좋다고 여기나봅니다.

반응형

'일상 > Note' 카테고리의 다른 글

뱅크샐러드 개발문화 링크  (0) 2021.07.20
16번째 헌혈  (0) 2021.04.17
2021 라인 신입 공채  (0) 2021.03.25
Unique 조건 걸기 전에 중복이 있는지 미리 체크하자  (0) 2021.02.25
개발환경 세팅 완료  (0) 2021.01.20