name: Build, Test, and Upload Python Package 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: Prepare Python environment run: | python -m venv venv . ./venv/bin/activate pip install -U twine cibuildwheel - name: Build wheels run: python -m cibuildwheel --output-dir dist # to supply options, put them in 'env', like: env: CIBW_BEFORE_BUILD: ./build_wheel.sh - name: Publish to PyPI run: | python -m twine upload --repository pypi --username __token__ --password ${{ secrets.PYPI }} dist/* env: PYPI: ${{ secrets.PYPI }}