Skip to content

update workflow

update workflow #103

Workflow file for this run

# 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
with:
refs: master
fetch-depth: 0
- 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 HEAD: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 }}