RSpec의 실행 결과를 알기 쉽게 하는 GitHub Action을 만들었다

소개



CI/CD의 서비스로서 최근에는 GitHub Actions를 이용하고 있습니다만, CircleCI와 비교했을 때에 RSpec이 실패했을 때의 실행 결과를 알기 어려운 것이 불만이었습니다.
그런 스트레스를 해소하기 위해 사내 해커슨으로 만든 이하의 GitHub Action을 소개합니다.

RSpec Report · Actions · GitHub Marketplace · GitHub

무엇을 할 수 있습니까?



PR 이벤트의 경우 실패 결과가 주석 처리됩니다.
또한 댓글을 달면 비슷한 내용이 메일에서도 통지되므로 실패한 테스트 내용이 GitHub에 액세스하지 않아도 파악할 수 있습니다.



PR 이벤트가 아닌 경우 Checks API를 통해 알림을 받습니다.



사용법



test.yml
name: Build
on:
  pull_request:

jobs:
  rspec:
    steps:
      # RSpec実行の為の事前準備は省略しています

      - name: Test
        run: bundle exec rspec -f j -o tmp/rspec_results.json -f p

      - name: RSpec Report
        uses: SonicGarden/rspec-report-action@v1
        with:
          token: ${{ secrets.GITHUB_TOKEN }}
          json-path: tmp/rspec_results.json
        if: always()

기타



포인트


  • JSON 형식으로 출력 된 RSpec의 실행 결과를 구문 분석하고 주석 처리
  • rspec 명령의 -f j -o tmp/rspec_results.json 옵션은 필수입니다 (대상은 선택 사항입니다.)

  • 테스트가 모두 통과되면 코멘트가 삭제됩니다
  • 반복해서 같은 코멘트가 투고되지 않습니다
  • 테스트의 병렬 실행에도 대응하고 있습니다
  • 이 경우 타이틀이 다음과 같이 독특하도록 조정하십시오

  • with:
      token: ${{ secrets.GITHUB_TOKEN }}
      json-path: tmp/rspec_results.json
      title: "# :cold_sweat: RSpec failure ${{ matrix.ci_node_index }}"
    

    리포지토리



    GitHub - SonicGarden/rspec-report-action: A GitHub Action that report RSpec failure.

    좋으면 사용해보십시오.

    좋은 웹페이지 즐겨찾기