diff --git a/.github/workflows/python-package.yml b/.github/workflows/python-package.yml new file mode 100644 index 00000000..4da02771 --- /dev/null +++ b/.github/workflows/python-package.yml @@ -0,0 +1,77 @@ +# 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: + build: + + 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 }}