test publish.yml #33
Workflow file for this run
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Publish | |
on: | |
# 当master分支有push时,触发action | |
push: | |
tags: | |
- 'v*' # 以 'v' 开头的标签触发工作流程 | |
jobs: | |
publish: | |
name: Publish Pypi and Create Release | |
if: github.repository == 'xaoyaoo/PyWxDump' # 仅在指定仓库的 tag 触发工作流程 | |
# 此作业在 Linux 上运行 | |
runs-on: windows-latest | |
steps: | |
- name: Checkout repository # 检出仓库 | |
uses: actions/checkout@v2 # 使用 GitHub 官方的 checkout action | |
- run: | | |
git fetch --prune --unshallow | |
- name: Set up Python # 设置 Python 环境 | |
uses: actions/setup-python@v2 # 使用 GitHub 官方的 setup-python action | |
with: | |
python-version: 3.8 # 指定 Python 版本 (3.8) | |
- name: Install dependencies # 安装依赖 | |
run: | | |
python -m pip install --upgrade pip | |
pip install build | |
python -m pip install --upgrade twine | |
pip install pyinstaller | |
- name: Build package | |
run: | | |
python -m build | |
python tests/build_exe.py | |
- name: Get package path | |
run: | | |
package_path=$(python -c "import site; print(site.getsitepackages()[1])") | |
version_list_path="$package_path/pywxdump/version_list.json" | |
# Execute packaging command | |
cmd="pyinstaller --onefile --clean --add-data \"$version_list_path;pywxdump\" --distpath=dist --workpath=build --specpath=build --name=pywxdump dist/tmp.py" | |
echo $cmd | |
eval $cmd || exit 1 | |
- name: Check package path | |
run: | | |
if [ -z "$package_path" ]; then | |
echo "未找到安装包路径" | |
exit 1 | |
fi | |
- name: test | |
run: | | |
ls -l dist | |
ls -l tests | |
# - name: Publish package with Twine # 使用 Twine 发布到 PyPI | |
# run: | | |
# twine upload dist/*.whl dist/*.tar.gz | |
# env: | |
# TWINE_USERNAME: __token__ | |
# TWINE_PASSWORD: ${{ secrets.PYPI_TOKEN }} | |
# | |
# - name: Create Release | |
# id: create_release | |
# uses: softprops/action-gh-release@v1 | |
# env: | |
# GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
# with: | |
# tag_name: ${{ github.ref }} | |
# release_name: Release ${{ github.ref }} | |
# body: | | |
# [Auto Release] Update PyWxDump | |
# draft: false | |
# prerelease: false | |
# files: | | |
# dist/*.exe | |
# dist/*.whl |