update workflow #100
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
# This workflow will install Python dependencies, run tests and lint with a variety of Python versions | |
# For more information see: https://docs.github.com/en/actions/automating-builds-and-tests/building-and-testing-python | |
name: Python package | |
on: | |
push: | |
tags: | |
- '*released' | |
workflow_dispatch: | |
jobs: | |
update-version: | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout repository | |
uses: actions/checkout@v4 | |
- name: Set up Python | |
uses: actions/setup-python@v5 | |
with: | |
python-version: "3.10" | |
- name: Update version.py | |
run: | | |
python update_version.py | |
- name: Verify version.py | |
run: | | |
ls -l magic_pdf/libs/version.py | |
cat magic_pdf/libs/version.py | |
- name: Commit changes | |
run: | | |
git config --local user.email "[email protected]" | |
git config --local user.name "myhloli" | |
git add magic_pdf/libs/version.py | |
if git diff-index --quiet HEAD; then | |
echo "No changes to commit" | |
else | |
git commit -m "Update version.py with new version" | |
fi | |
id: commit_changes | |
- name: Push changes | |
if: steps.commit_changes.outcome == 'success' | |
env: | |
GITHUB_TOKEN: ${{ secrets.RELEASE_TOKEN }} | |
run: | | |
git push origin master | |
# git remote set-url origin https://myhloli:${{ secrets.RELEASE_TOKEN }}@github.com/magicpdf/Magic-PDF.git | |
# git checkout -b update-version-branch || git checkout update-version-branch | |
# git push --set-upstream origin update-version-branch | |
# id: push_changes | |
# - name: Create Pull Request | |
# if: steps.push_changes.outcome == 'success' | |
# id: create_pull_request | |
# uses: peter-evans/create-pull-request@v5 | |
# with: | |
# token: ${{ secrets.RELEASE_TOKEN }} | |
# commit-message: Update version.py with new version | |
# branch: update-version-branch | |
# title: 'Update version.py' | |
# body: 'This PR updates the version.py file with the latest version.' | |
# base: master | |
# labels: 'automated PR' | |
# | |
# - name: Merge Pull Request | |
# if: steps.create_pull_request.outputs.pull-request-number | |
# uses: actions/github-script@v6 | |
# with: | |
# github-token: ${{ secrets.RELEASE_TOKEN }} | |
# script: | | |
# const pullRequestNumber = parseInt('${{ steps.create_pull_request.outputs.pull-request-number }}'); | |
# await github.pulls.merge({ | |
# owner: context.repo.owner, | |
# repo: context.repo.repo, | |
# pull_number: pullRequestNumber, | |
# merge_method: 'merge' | |
# }); | |
build: | |
needs: [ update-version ] | |
runs-on: ubuntu-latest | |
strategy: | |
fail-fast: false | |
matrix: | |
python-version: ["3.10"] | |
steps: | |
- name: Checkout code | |
uses: actions/checkout@v4 | |
with: | |
fetch-depth: 0 | |
- name: Set up Python ${{ matrix.python-version }} | |
uses: actions/setup-python@v5 | |
with: | |
python-version: ${{ matrix.python-version }} | |
- name: Install dependencies | |
run: | | |
python -m pip install --upgrade pip | |
if [ -f requirements.txt ]; then pip install -r requirements.txt; fi | |
- name: Install wheel | |
run: | | |
python -m pip install wheel | |
- name: Build wheel | |
run: | | |
python setup.py bdist_wheel | |
- name: Upload artifact | |
uses: actions/upload-artifact@v4 | |
with: | |
name: wheel-file | |
path: dist/*.whl | |
retention-days: 30 | |
release: | |
needs: [ build ] | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout code | |
uses: actions/checkout@v4 | |
- name: Download artifact | |
uses: actions/download-artifact@v4 | |
with: | |
name: wheel-file | |
path: dist | |
- name: Create and Upload Release | |
id: create_release | |
uses: softprops/action-gh-release@4634c16e79c963813287e889244c50009e7f0981 | |
with: | |
files: './dist/*.whl' | |
env: | |
GITHUB_TOKEN: ${{ secrets.RELEASE_TOKEN }} | |
# - name: Publish to PyPI | |
# uses: pypa/gh-action-pypi-publish@release/v1 | |
# with: | |
# user: __token__ | |
# password: ${{ secrets.PYPI_TOKEN }} |