Skip to content

test publish.yml

test publish.yml #37

Workflow file for this run

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