Github Actions에서 Pipenv + Pytest를 자동으로 테스트했습니다.

개요



전회 "Travis CI에서 Pipenv + Pytest를 자동으로 테스트했습니다." 에서 Travis CI를 사용한 자동 테스트를 실시했지만, Github Actions 를 사용할 수 있게 되었으므로, 이쪽에서도 시험해 보았다.
실제로 시도한 리포지토리는 다음과 같습니다.
htps : // 기주 b. 코 m / 도아라에서

Github Actions



Github의 CI/CD 도구. 현재는 아직 베타판이지만, 곧 표준 서포트된다. 베타 버전에 참여 요청 보내기 가능. 제 경우에는 신청하고 며칠 후에 다녔습니다.
신청이 통과하면 아래와 같은 Actions 탭이 표시된다.


Workflow 만들기



기본적으로, yaml 파일에 「처리가 시작되는 트리거」와 「실행하는 처리 내용」을 기술하는 것으로, Workflow를 작성할 수 있다. 처음부터 템플릿이 준비되어 있으므로, 그것을 베이스에 쓰면 거기까지 곤란하지 않을 것이다.



마지막으로 만든 yaml 파일은 다음과 같습니다. 본 리포지토리에서는 Push를 트리거에 Pipenv와 라이브러리를 인스톨 하고, Pipfile에 쓰여져 있는 Pytest 실행용의 커멘드를 두드릴 뿐. 그 밖에 어떤 일을 할 수 있을까 신경이 쓰이는 분은 GitHub Actions 워크플로 구문 를 체크.
name: Run pytest

on: [push]

jobs:
  build:

    runs-on: ubuntu-latest

    steps:
    - uses: actions/checkout@v1
    - name: Set up Python 3.7
      uses: actions/setup-python@v1
      with:
        python-version: 3.7
    - name: Install pipenv and dependencies
      run: |
        python -m pip install --upgrade pip
        pip install pipenv --upgrade-strategy=only-if-needed
        pipenv install --dev
    - name: Run test
      run: |
        pipenv run tests

Workflow 실행 상태 확인



작성 후, Actions 탭에 가면 Workflow의 동작 상황을 확인할 수 있다. 왜 트래비스 CI의 상황도 나타났습니다.


배지를 만드는 방법



Travis CI와 마찬가지로 Github Actions도 상황을 확인하기 위한 배지를 만들고 Readme에 붙일 수 있다. 다음은 배지 URL입니다.
https://github.com/<OWNER>/<REPOSITORY>/workflows/<WORKFLOW_NAME>/badge.svg

요약



매우 알기 쉽고, 특히 막히지 않고 실행할 수 있었다. 표준 지원이 되면 일부러 다른 CI 서비스를 사용할 필요가 없어지므로 아마도 Github Actions가 주류가 될 것이다.

좋은 웹페이지 즐겨찾기