name: Upload Wheels on: release: types: [created] workflow_dispatch: jobs: build_wheels: name: Build wheels with ${{ matrix.config.cibw_build }} runs-on: ${{ matrix.config.os }} if: github.repository == 'llvm/circt' strategy: matrix: config: - os: ubuntu-20.04 cibw_build: cp37-manylinux_x86_64 - os: ubuntu-20.04 cibw_build: cp310-manylinux_x86_64 steps: - name: Get CIRCT uses: actions/checkout@v3 with: fetch-depth: 2 submodules: "true" - name: Unshallow CIRCT run: | git fetch --unshallow --tags --no-recurse-submodules - name: Setup Python uses: actions/setup-python@v3 - name: Install cibuildwheel run: python -m pip install cibuildwheel==2.12.0 - name: Build wheels run: python -m cibuildwheel --output-dir wheelhouse ./lib/Bindings/Python env: CIBW_BUILD: ${{ matrix.config.cibw_build }} CIBW_MANYLINUX_X86_64_IMAGE: manylinux2014 CIBW_BUILD_FRONTEND: build SETUPTOOLS_SCM_DEBUG: True - name: Upload wheels (Non-Tag) uses: actions/upload-artifact@v3 if: github.ref_type != 'tag' with: path: ./wheelhouse/*.whl retention-days: 7 - name: Upload wheels (Tag) uses: pypa/gh-action-pypi-publish@release/v1 if: github.ref_type == 'tag' with: password: ${{ secrets.PYPI_CIRCT_API_TOKEN }} packages-dir: wheelhouse/ verify-metadata: false