저번에 시작했던 ezpkl
패키지 만들기.
문미에 간단하게 해야 할 일을 적어두었는데,
코드는 초안으로 완성해서 기본 함수인 save_pkl
, load_pkl
두 개의 함수를 사용할 수 있게 되었다. (만관잘부🐶)
README는 makereadme닷컴을 통해 간단하게 한국어로 작성했다.
타 언어를 추가하는 것도 해야 할 일에 추가하는 것으로.
참고한 요 글에서는 API-KEY를 github에 등록해 사용했지만 위 내용을 발견한 나는 다른 방법을 사용해보기로 했다.
.github/workflows
경로에 publish.yml
파일을 작성해준다.
(-> workflow라고 오타냈다가 한참 왜 안 되나 고전했음😭)
v1.0.0
이면 1.0.0
을 추출 할 수 있도록 함.name: Publish Python 🐍 distributions 📦 to PyPI
on:
push:
tags:
- '*'
jobs:
pypi-publish:
name: upload release to PyPI
runs-on: ubuntu-latest
# Specifying a GitHub environment is optional, but strongly encouraged
environment: release
permissions:
# IMPORTANT: this permission is mandatory for trusted publishing
id-token: write
steps:
- uses: actions/checkout@v3
# retrieve your distributions here
- name: Set up Python
uses: actions/setup-python@v3
with:
python-version: '3.x'
- name: Install dependencies
run: |
python -m pip install --upgrade pip
python -m pip install setuptools wheel twine
- name: Extract tag name
id: tag
run: echo ::set-output name=TAG_NAME::${GITHUB_REF#refs/tags/}
- name: Update version in setup.py
run: |
VERSION=${{ steps.tag.outputs.TAG_NAME }}
VERSION=${VERSION#v}
sed -i "s/{{VERSION_PLACEHOLDER}}/$VERSION/g" setup.py
- name: Build and publish
run: |
python setup.py sdist bdist_wheel
- name: Publish package distributions to PyPI
uses: pypa/gh-action-pypi-publish@release/v1
tags에서 추출한 버전을 패키지를 배포할 때 넣어줄 것이기 때문에 setup.py에 version을 위와 같이 수정해준다.
publish 하기위한 모든 파일을 작성했다면 publisher를 패키지에 추가해주기만 하면 된다.
마찬가지로 공식문서에 매우 친절히 나와 있다.
왼쪽 메뉴에 있는 Publishing을 눌러서 몇번 내리다보면 publisher를 등록할 수 있는 양식이 있다.
요구하는 대로 채워주고 나면 아래처럼 초록색이 띵동 뜨면서 퍼블리셔 추가 완료 XD
등록된 publisher도 확인할 수 있음!
아래의 명령어로 태그를 등록 및 푸쉬해주면 파일에 작성된대로 트리거가 발동하면서 패키징 및 배포가 완료된다!
git tag v1.0.0 # add tag
git push origin v1.0.0 # push tag
대충 이런 단계들을 거침.