Bump version 0.0.7 -> 0.0.8 #9
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Build | |
# Based on https://github.com/tuananh/py-event-ruler/blob/0129d15e17d0023863a4d0e0e25e5256988b5c5b/.github/workflows/publish.yml | |
on: | |
push: | |
branches: | |
- develop | |
- multi-platform-cibuildwheel | |
workflow_dispatch: | |
# on: | |
# # release: | |
# # types: [created] | |
# push: | |
# tags: | |
# - '*' | |
jobs: | |
build_macos: | |
# if: false | |
name: MacOS ${{ matrix.os_version }} 3${{ matrix.python3_version }} ${{ matrix.arch_cibw_go[0] }} | |
strategy: | |
fail-fast: false | |
matrix: | |
os_version: [ 13 ] | |
python3_version: [ 11 ] | |
arch_cibw_go: | |
- [ "x86_64", "amd64" ] | |
- [ "arm64", "arm64" ] | |
runs-on: macos-${{ matrix.os_version }} | |
steps: | |
- uses: actions/checkout@v3 | |
- name: set up Go | |
uses: actions/setup-go@v3 | |
with: | |
go-version: "1.22.x" | |
- name: Setup project files | |
run: | | |
rm -rf poetry.lock pyproject.toml | |
cp setup_ci.py setup.py | |
- name: install gopy | |
run: go install github.com/go-python/gopy@v0.4.9 | |
- name: install goimports | |
run: go install golang.org/x/tools/cmd/goimports@latest | |
- name: install python 3.${{ matrix.python3_version }} | |
run: | | |
brew install --force --overwrite python@3.${{ matrix.python3_version }} | |
ln -s /usr/local/opt/python@3.${{ matrix.python3_version }}/bin/python3.${{ matrix.python3_version }} /usr/local/bin/python_for_build | |
/usr/local/bin/python_for_build --version | |
- name: install cibuildwheel and pybindgen | |
run: /usr/local/bin/python_for_build -m pip install cibuildwheel==2.19.2 pybindgen | |
- name: build wheels | |
run: /usr/local/bin/python_for_build -m cibuildwheel --output-dir wheelhouse | |
env: | |
CGO_ENABLED: 1 # build fails for arm if unset | |
CIBW_ARCHS: ${{ matrix.arch_cibw_go[0] }} | |
CIBW_REPAIR_WHEEL_COMMAND_MACOS: "" | |
PYTHON_BINARY_PATH: /usr/local/bin/python_for_build | |
CIBW_BUILD: "cp3${{ matrix.python3_version }}-*" | |
CIBW_ENVIRONMENT: > | |
PATH=$PATH:/usr/local/go/bin | |
GOARCH=${{ matrix.arch_cibw_go[1] }} | |
- name: Upload artifacts | |
uses: actions/upload-artifact@v4 | |
with: | |
name: wheels-macos${{ matrix.os_version }}-py3${{ matrix.python3_version }}-${{ matrix.arch_cibw_go[0] }} | |
path: ./wheelhouse/*.whl | |
build_linux_x86_64: | |
# if: false | |
name: Linux 311 x86_64 | |
runs-on: ubuntu-20.04 | |
steps: | |
- uses: actions/checkout@v3 | |
- name: Setup project files | |
run: | | |
rm -rf poetry.lock pyproject.toml | |
cp setup_ci.py setup.py | |
- name: Build wheels | |
uses: pypa/cibuildwheel@v2.19.2 | |
env: | |
CIBW_BUILD: "cp3*_x86_64" | |
CIBW_SKIP: "cp36-* cp37-* cp38-* cp39-* cp310-* *-musllinux_x86_64" | |
CIBW_ARCHS: "native" | |
CIBW_ENVIRONMENT: > | |
PATH=$PATH:/usr/local/go/bin | |
CIBW_BEFORE_ALL_LINUX: | | |
curl -o go.tar.gz https://dl.google.com/go/go1.22.5.linux-amd64.tar.gz | |
tar -C /usr/local -xzf go.tar.gz | |
go install github.com/go-python/gopy@v0.4.9 | |
go install golang.org/x/tools/cmd/goimports@latest | |
- name: Upload atifacts | |
uses: actions/upload-artifact@v4 | |
with: | |
name: wheels-linux-amd64 | |
path: ./wheelhouse/*.whl | |
- name: Upload artifacts | |
uses: actions/upload-artifact@v4 | |
with: | |
name: wheels-linux-arm | |
path: /tmp/output/*.whl | |
# build_windows: | |
# if: false # not working | |
# name: Windows 310,311 x86_64 | |
# runs-on: windows-2019 | |
# steps: | |
# - uses: actions/checkout@v3 | |
# - name: Setup project files | |
# run: | | |
# rm -rf poetry.lock pyproject.toml | |
# cp setup_ci.py setup.py | |
# - name: set up Go | |
# uses: actions/setup-go@v3 | |
# with: | |
# go-version: "1.22.x" | |
# - name: install gopy | |
# run: go install github.com/go-python/gopy@v0.4.9 | |
# - name: install goimports | |
# run: go install golang.org/x/tools/cmd/goimports@latest | |
# - name: Build wheels | |
# uses: pypa/cibuildwheel@v2.19.2 | |
# env: | |
# # CGO_ENABLED: 1 | |
# CIBW_BUILD: "cp3*" | |
# CIBW_SKIP: "cp36-* cp37-* cp38-* cp39-*" | |
# CIBW_ARCHS: "native" | |
# CIBW_ENVIRONMENT: > | |
# GOARCH=amd64 | |
# - name: Upload artifacts | |
# uses: actions/upload-artifact@v4 | |
# with: | |
# name: wheels-windows-amd64 | |
# path: ./wheelhouse/*.whl | |
publish_pypi: | |
if: startsWith(github.ref, 'refs/tags/') | |
name: Publish PyPI | |
needs: [ build_linux_x86_64, build_macos ] | |
runs-on: ubuntu-latest | |
environment: | |
name: pypi | |
url: https://pypi.org/p/ohpygossh | |
steps: | |
- uses: actions/download-artifact@v4 | |
- name: Collect all wheels | |
run: | | |
ls -R | |
mkdir dist | |
for f in $(find . -type f -name '*.whl'); do mv ${f} dist; done; | |
ls -R dist | |
- name: Publish package distributions to PyPI | |
uses: pypa/gh-action-pypi-publish@release/v1 | |
with: | |
packages-dir: ./dist | |
password: ${{ secrets.PYPI_API_TOKEN }} | |
print-hash: true |