Github Actions 使ったらめちゃくちゃ楽になった
Python Packageのリリース (Pypi)
https://github.com/tys-hiroshi/backlogprocessing を例に挙げると、
今まで、setup.cfg ファイルのversion
パラメータを修正し、
以下のコマンドをUbuntuで叩いていた。
pipenv shell
pipenv install --dev twine
python3 setup.py sdist --formats=zip
twine upload dist/*
GithubからCloneしてこないといけないし、Releaseできる環境が常にあるわけではないので、
それなりにしんどい作業だった。
.github/workflows/[名前は何でも良いよ].yml
を作成し、以下のように記載すると、PypiへReleaseできる。
PYPI_API_TOKEN は Pypiで発行したAPI TokenをGithubのSecretsに登録すること!
name: Upload pypi package release
on:
# Trigger the workflow on push or pull request,
# but only for the master branch
push:
branches:
- master
release:
types:
- created
jobs:
deploy:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Set up Python
uses: actions/setup-python@v2
with:
python-version: '3.x'
- name: Install dependencies
run: |
python -m pip install --upgrade pip
pip install pipenv
pip install wheel
- name: Build
run: |
python3 setup.py sdist --formats=zip
- name: Publish a Python distribution to PyPI
if: startsWith(github.event.ref, 'refs/tags') || github.event_name == 'release'
uses: pypa/gh-action-pypi-publish@master
with:
user: __token__
password: ${{ secrets.PYPI_API_TOKEN }}
Thank you for Reference: