LimeDriverBindings/.github/workflows/python-publish_sdist_manylinux.yml
2024-04-23 11:23:57 +02:00

70 lines
1.5 KiB
YAML

name: Build, Test, and Upload Python Package (sdist and manylinux)
on:
push:
tags:
- "v*.*.*"
workflow_dispatch:
permissions:
contents: read
jobs:
# test:
# uses: ./.github/workflows/ubuntu-python-package.yml # use the callable tests job to run tests
deploy:
runs-on: ubuntu-latest
# needs: [test]
steps:
- name: Update package list
run: |
sudo apt-get update
- name: Install git
run: |
sudo apt-get install -y git
- name: Checkout repository
uses: actions/checkout@v2
with:
submodules: 'recursive'
- name: Set up Python 3.10
uses: actions/setup-python@v2
with:
python-version: "3.10"
- name: Set up QEMU
uses: docker/setup-qemu-action@v3
- name: Prepare Python environment
run: |
python -m venv venv
. ./venv/bin/activate
pip install -U twine cibuildwheel build
- name : Build source dist
run: |
. ./venv/bin/activate
python -m build --sdist .
- name: Build wheels manylinux
run: |
. ./venv/bin/activate
python -m cibuildwheel --output-dir dist
env:
CIBW_BEFORE_BUILD: ./build_wheel.sh
CIBW_SKIP: "*-musllinux_*"
- name: Publish to PyPI
run: |
. ./venv/bin/activate
python -m twine upload --repository pypi --username __token__ --password ${{ secrets.PYPI }} dist/*
env:
PYPI: ${{ secrets.PYPI }}