Skip to content

Use windows-2019 image #60

Use windows-2019 image

Use windows-2019 image #60

Workflow file for this run

name: Build and upload to PyPI
on:
push:
pull_request:
release:
types:
- published
jobs:
build_wheels:
name: Build wheels for cp${{ matrix.python }}-${{ matrix.platform_id }}-${{ matrix.manylinux_image }}
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
include:
# Windows
- os: windows-2019
python: 37
bitness: 64
platform_id: win_amd64
- os: windows-2019
python: 38
bitness: 64
platform_id: win_amd64
- os: windows-2019
python: 39
bitness: 64
platform_id: win_amd64
- os: windows-2019
python: 310
bitness: 64
platform_id: win_amd64
# Linux
- os: ubuntu-latest
python: 37
bitness: 64
platform_id: manylinux_x86_64
manylinux_image: manylinux2014
- os: ubuntu-latest
python: 38
bitness: 64
platform_id: manylinux_x86_64
manylinux_image: manylinux2014
- os: ubuntu-latest
python: 39
bitness: 64
platform_id: manylinux_x86_64
manylinux_image: manylinux2014
- os: ubuntu-latest
python: 310
bitness: 64
platform_id: manylinux_x86_64
manylinux_image: manylinux2014
# MacOS x86_64
- os: macos-latest
bitness: 64
python: 37
platform_id: macosx_x86_64
- os: macos-latest
bitness: 64
python: 38
platform_id: macosx_x86_64
- os: macos-latest
bitness: 64
python: 39
platform_id: macosx_x86_64
- os: macos-latest
bitness: 64
python: 310
platform_id: macosx_x86_64
steps:
- uses: actions/checkout@v4
- name: Get history and tags for SCM versioning to work
run: |
git fetch --prune --unshallow
git fetch --depth=1 origin +refs/tags/*:refs/tags/*
- uses: actions/setup-python@v5
name: Install Python
with:
python-version: '3.9'
- name: Prepare for Windows
if: runner.os == 'Windows'
run: |
Invoke-WebRequest -OutFile kytea-win-x64.zip https://github.com/chezou/kytea/releases/download/0.4.7-3/kytea-win-x64.zip &&
7z x kytea-win-x64.zip -okytea &&
cp -r kytea\include include &&
cp kytea\lib\libkytea.lib lib\kytea\
- name: Build wheels
uses: pypa/[email protected]
env:
CIBW_BUILD: cp${{ matrix.python }}-${{ matrix.platform_id }}
CIBW_ARCHS: all
CIBW_BEFORE_ALL_LINUX: >
yum install -y wget &&
wget http://www.phontron.com/kytea/download/kytea-0.4.7.tar.gz &&
tar zxf kytea-0.4.7.tar.gz &&
pushd kytea-0.4.7 &&
autoreconf -i &&
./configure && make && make install &&
ldconfig &&
popd &&
rm -r kytea-0.4.7 &&
swig -Wall -c++ -python -shadow -I/usr/local/include lib/kytea/mykytea.i
CIBW_BEFORE_ALL_MACOS: >
brew install autoconf automake libtool &&
wget http://www.phontron.com/kytea/download/kytea-0.4.7.tar.gz &&
tar zxf kytea-0.4.7.tar.gz &&
pushd kytea-0.4.7 &&
autoreconf -i &&
./configure && make && make install &&
popd &&
rm -r kytea-0.4.7 &&
swig -Wall -c++ -python -shadow -I/usr/local/include lib/kytea/mykytea.i
- uses: actions/upload-artifact@v4
with:
path: ./wheelhouse/*.whl
build_sdist:
name: Build source distribution
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Get history and tags for SCM versioning to work
run: |
git fetch --prune --unshallow
git fetch --depth=1 origin +refs/tags/*:refs/tags/*
- uses: actions/setup-python@v5
name: Install Python
with:
python-version: '3.9'
- name: Build sdist
run: pip install setuptools_scm && python setup.py sdist
- uses: actions/upload-artifact@v4
with:
path: dist/*.tar.gz
upload_pypi:
needs: [build_wheels, build_sdist]
runs-on: ubuntu-latest
if: github.event_name == 'release' && github.event.action == 'published'
steps:
- uses: actions/download-artifact@v4
with:
name: artifact
path: dist
- uses: pypa/gh-action-pypi-publish@release/v1
with:
user: __token__
password: ${{ secrets.pypi_password }}