본문 바로가기
C.W.K.
Stream
Lesson 07 of 14 · published

오류가 나도 계속 진행하기

~8 min · continue-on-error, soft-fail

Level 0견습생
0 XP0/101 lessons0/10 achievements
0/120 XP to next level120 XP to go0% complete

단계를 작업 실패로 이어지지 않게 soft-fail 하기

보통은 단계가 실패하면 작업도 실패해. 근데 continue-on-error: true를 쓰면 단계(아니면 작업이나 매트릭스 셀)를 soft 상태로 표시할 수 있어. 이렇게 하면 묶여 있는 범위를 망가뜨리지 않고도 실패를 허용할 수 있지.

머리 쓰면서 써야 해. 잘못 쓰면 회귀 문제를 숨기게 돼.

적절한 쓰임새

  • 실험용 매트릭스 셀 — PR을 막지 않으려고 쓰는 Python 3.13-dev 셀.
  • 린트나 권고 검사 — 결과는 보여주되 아직 통과 조건으로는 안 쓸 때.
  • 정리 단계 — 최선을 다해 시도하되, 정리할 게 없다고 해서 작업을 실패시키지 말아야 할 때.
  • 불안정한 외부 서비스 커버리지 업로드 (Codecov가 유명해).

안티 패턴

  • 불안정한 테스트를 고치는 대신 continue-on-error로 덮어버리기.
  • 배포 단계에 쓰기.
  • 보안 검사(린트, 타입 검사, 스캔)에 쓰기.

Code

실험 매트릭스 셀 soft-fail·yaml
  test:
    runs-on: ubuntu-latest
    strategy:
      matrix:
        python: ['3.11', '3.12']
        include:
          - python: '3.13-dev'
            experimental: true
    continue-on-error: ${{ matrix.experimental == true }}
    steps:
      - uses: actions/checkout@v4
      - uses: actions/setup-python@v5
        with: { python-version: '${{ matrix.python }}' }
      - run: pytest -q

External links

Exercise

워크플로에서 continue-on-error를 찾아봐. 각각 결정해: 졸업(밑바탕 이슈가 고쳐짐) 아니면 단계를 완전히 삭제(더 이상 쓸모없음). soft-fail 연옥에 두지 마.

Progress

Progress is local-only — sign in to sync across devices.
이 페이지에서 버그를 발견하셨거나 피드백이 있으세요?문제 신고

댓글 0

🔔 답글 알림 (로그인 필요)
로그인댓글을 남기려면 로그인해 주세요.

아직 댓글이 없어요. 첫 댓글을 남겨보세요.