Build swig and decoder on manylinux_2_24
This commit is contained in:
parent
42ebbf9120
commit
c69735e3b6
|
@ -71,6 +71,10 @@ jobs:
|
||||||
swig_Linux:
|
swig_Linux:
|
||||||
name: "Lin|Build SWIG"
|
name: "Lin|Build SWIG"
|
||||||
runs-on: ubuntu-20.04
|
runs-on: ubuntu-20.04
|
||||||
|
container:
|
||||||
|
image: quay.io/pypa/manylinux_2_24_x86_64:2021-07-25-cfe8a6c
|
||||||
|
volumes:
|
||||||
|
- ${{ github.workspace }}:${{ github.workspace }}
|
||||||
env:
|
env:
|
||||||
swig_hash: "90cdbee6a69d13b39d734083b9f91069533b0d7b"
|
swig_hash: "90cdbee6a69d13b39d734083b9f91069533b0d7b"
|
||||||
steps:
|
steps:
|
||||||
|
@ -84,10 +88,7 @@ jobs:
|
||||||
id: swig-build-cache
|
id: swig-build-cache
|
||||||
with:
|
with:
|
||||||
path: build-static/
|
path: build-static/
|
||||||
key: swig-2-${{ runner.os }}-${{ env.swig_hash }}
|
key: swig-4-${{ runner.os }}-${{ env.swig_hash }}
|
||||||
- run: |
|
|
||||||
sudo apt-get install -y --no-install-recommends autoconf automake bison build-essential
|
|
||||||
if: steps.swig-build-cache.outputs.cache-hit != 'true'
|
|
||||||
- run: |
|
- run: |
|
||||||
curl -sSL https://ftp.pcre.org/pub/pcre/pcre-8.43.tar.gz > pcre-8.43.tar.gz
|
curl -sSL https://ftp.pcre.org/pub/pcre/pcre-8.43.tar.gz > pcre-8.43.tar.gz
|
||||||
if: steps.swig-build-cache.outputs.cache-hit != 'true'
|
if: steps.swig-build-cache.outputs.cache-hit != 'true'
|
||||||
|
@ -114,6 +115,10 @@ jobs:
|
||||||
name: "Lin|Build CTC decoder Python package"
|
name: "Lin|Build CTC decoder Python package"
|
||||||
needs: [ swig_Linux ]
|
needs: [ swig_Linux ]
|
||||||
runs-on: ubuntu-20.04
|
runs-on: ubuntu-20.04
|
||||||
|
container:
|
||||||
|
image: quay.io/pypa/manylinux_2_24_x86_64:2021-07-25-cfe8a6c
|
||||||
|
volumes:
|
||||||
|
- ${{ github.workspace }}:${{ github.workspace }}
|
||||||
strategy:
|
strategy:
|
||||||
matrix:
|
matrix:
|
||||||
python-version: [3.6, 3.7, 3.8, 3.9]
|
python-version: [3.6, 3.7, 3.8, 3.9]
|
||||||
|
@ -121,12 +126,6 @@ jobs:
|
||||||
- uses: actions/checkout@v2
|
- uses: actions/checkout@v2
|
||||||
with:
|
with:
|
||||||
fetch-depth: 0
|
fetch-depth: 0
|
||||||
- uses: actions/setup-python@v2
|
|
||||||
with:
|
|
||||||
python-version: ${{ matrix.python-version }}
|
|
||||||
- run: |
|
|
||||||
python --version
|
|
||||||
pip --version
|
|
||||||
- uses: actions/download-artifact@v2
|
- uses: actions/download-artifact@v2
|
||||||
with:
|
with:
|
||||||
name: "swig_Linux"
|
name: "swig_Linux"
|
||||||
|
@ -142,17 +141,27 @@ jobs:
|
||||||
pyver: ${{ matrix.python-version }}
|
pyver: ${{ matrix.python-version }}
|
||||||
- name: Make decoder package
|
- name: Make decoder package
|
||||||
run: |
|
run: |
|
||||||
|
# Setup venv
|
||||||
|
/opt/_internal/cpython-${{ matrix.python-version }}*/bin/python -m venv /tmp/venv-${{ matrix.python-version }}
|
||||||
|
source /tmp/venv-${{ matrix.python-version }}/bin/activate
|
||||||
|
|
||||||
|
# Check versions
|
||||||
|
python --version
|
||||||
|
pip --version
|
||||||
|
|
||||||
|
# Build decoder package
|
||||||
NUMPY_BUILD_VERSION="${{ steps.get_numpy.outputs.build_version }}" \
|
NUMPY_BUILD_VERSION="${{ steps.get_numpy.outputs.build_version }}" \
|
||||||
NUMPY_DEP_VERSION="${{ steps.get_numpy.outputs.dep_version }}" \
|
NUMPY_DEP_VERSION="${{ steps.get_numpy.outputs.dep_version }}" \
|
||||||
make -C native_client/ctcdecode/ \
|
make -C native_client/ctcdecode/ \
|
||||||
NUM_PROCESSES=$(nproc) \
|
NUM_PROCESSES=$(nproc) \
|
||||||
bindings
|
bindings
|
||||||
|
- name: Auditwheel repair
|
||||||
|
run: |
|
||||||
|
auditwheel repair native_client/ctcdecode/dist/*.whl
|
||||||
- uses: actions/upload-artifact@v2
|
- uses: actions/upload-artifact@v2
|
||||||
with:
|
with:
|
||||||
name: "coqui_stt_ctcdecoder-Linux-${{ matrix.python-version }}.whl"
|
name: "coqui_stt_ctcdecoder-Linux-${{ matrix.python-version }}.whl"
|
||||||
path: ${{ github.workspace }}/native_client/ctcdecode/dist/*.whl
|
path: ${{ github.workspace }}/wheelhouse/*.whl
|
||||||
- run: |
|
|
||||||
make -C native_client/ctcdecode clean-keep-third-party
|
|
||||||
train-test-model-Linux:
|
train-test-model-Linux:
|
||||||
name: "Lin|Train a test model"
|
name: "Lin|Train a test model"
|
||||||
needs: [ "build-ctc-decoder-Linux" ]
|
needs: [ "build-ctc-decoder-Linux" ]
|
||||||
|
@ -175,7 +184,7 @@ jobs:
|
||||||
python --version
|
python --version
|
||||||
pip --version
|
pip --version
|
||||||
- run: |
|
- run: |
|
||||||
pip install --upgrade pip==19.3.1 setuptools==45.0.0 wheel==0.33.6
|
pip install --upgrade pip setuptools wheel
|
||||||
- run: |
|
- run: |
|
||||||
pip install coqui_stt_ctcdecoder-*-cp36-cp36m-*_x86_64.whl
|
pip install coqui_stt_ctcdecoder-*-cp36-cp36m-*_x86_64.whl
|
||||||
DS_NODECODER=y pip install --upgrade .
|
DS_NODECODER=y pip install --upgrade .
|
||||||
|
|
|
@ -45,14 +45,14 @@ workspace_status.cc:
|
||||||
# Enforce PATH here because swig calls from build_ext looses track of some
|
# Enforce PATH here because swig calls from build_ext looses track of some
|
||||||
# variables over several runs
|
# variables over several runs
|
||||||
bindings: clean-keep-third-party workspace_status.cc $(DS_SWIG_DEP)
|
bindings: clean-keep-third-party workspace_status.cc $(DS_SWIG_DEP)
|
||||||
python -m pip install --quiet $(PYTHON_PACKAGES) wheel==0.33.6 setuptools==45.0.0
|
python -m pip install --quiet $(PYTHON_PACKAGES) wheel setuptools
|
||||||
DISTUTILS_USE_SDK=1 PATH=$(DS_SWIG_BIN_PATH):$(TOOLCHAIN_DIR):$$PATH SWIG_LIB="$(SWIG_LIB)" AS=$(AS) CC=$(CC) CXX=$(CXX) LD=$(LD) LIBEXE=$(LIBEXE) CFLAGS="$(CFLAGS) $(CXXFLAGS)" LDFLAGS="$(LDFLAGS_NEEDED)" $(PYTHON_PATH) $(NUMPY_INCLUDE) python ./setup.py build_ext --num_processes $(NUM_PROCESSES) $(PYTHON_PLATFORM_NAME) $(SETUP_FLAGS)
|
DISTUTILS_USE_SDK=1 PATH=$(DS_SWIG_BIN_PATH):$(TOOLCHAIN_DIR):$$PATH SWIG_LIB="$(SWIG_LIB)" AS=$(AS) CC=$(CC) CXX=$(CXX) LD=$(LD) LIBEXE=$(LIBEXE) CFLAGS="$(CFLAGS) $(CXXFLAGS)" LDFLAGS="$(LDFLAGS_NEEDED)" $(PYTHON_PATH) $(NUMPY_INCLUDE) python ./setup.py build_ext --num_processes $(NUM_PROCESSES) $(PYTHON_PLATFORM_NAME) $(SETUP_FLAGS)
|
||||||
find temp_build -type f -name "*.o" -delete
|
find temp_build -type f -name "*.o" -delete
|
||||||
DISTUTILS_USE_SDK=1 AS=$(AS) CC=$(CC) CXX=$(CXX) LD=$(LD) LIBEXE=$(LIBEXE) CFLAGS="$(CFLAGS) $(CXXFLAGS)" LDFLAGS="$(LDFLAGS_NEEDED)" $(PYTHON_PATH) $(NUMPY_INCLUDE) python ./setup.py bdist_wheel $(PYTHON_PLATFORM_NAME) $(SETUP_FLAGS)
|
DISTUTILS_USE_SDK=1 AS=$(AS) CC=$(CC) CXX=$(CXX) LD=$(LD) LIBEXE=$(LIBEXE) CFLAGS="$(CFLAGS) $(CXXFLAGS)" LDFLAGS="$(LDFLAGS_NEEDED)" $(PYTHON_PATH) $(NUMPY_INCLUDE) python ./setup.py bdist_wheel $(PYTHON_PLATFORM_NAME) $(SETUP_FLAGS)
|
||||||
rm -rf temp_build
|
rm -rf temp_build
|
||||||
|
|
||||||
bindings-debug: clean-keep-third-party workspace_status.cc $(DS_SWIG_DEP)
|
bindings-debug: clean-keep-third-party workspace_status.cc $(DS_SWIG_DEP)
|
||||||
python -m pip install --quiet $(PYTHON_PACKAGES) wheel==0.33.6 setuptools==45.0.0
|
python -m pip install --quiet $(PYTHON_PACKAGES) wheel setuptools
|
||||||
DISTUTILS_USE_SDK=1 PATH=$(DS_SWIG_BIN_PATH):$(TOOLCHAIN_DIR):$$PATH SWIG_LIB="$(SWIG_LIB)" AS=$(AS) CC=$(CC) CXX=$(CXX) LD=$(LD) LIBEXE=$(LIBEXE) CFLAGS="$(CFLAGS) $(CXXFLAGS) -DDEBUG" LDFLAGS="$(LDFLAGS_NEEDED)" $(PYTHON_PATH) $(NUMPY_INCLUDE) python ./setup.py build_ext --debug --num_processes $(NUM_PROCESSES) $(PYTHON_PLATFORM_NAME) $(SETUP_FLAGS)
|
DISTUTILS_USE_SDK=1 PATH=$(DS_SWIG_BIN_PATH):$(TOOLCHAIN_DIR):$$PATH SWIG_LIB="$(SWIG_LIB)" AS=$(AS) CC=$(CC) CXX=$(CXX) LD=$(LD) LIBEXE=$(LIBEXE) CFLAGS="$(CFLAGS) $(CXXFLAGS) -DDEBUG" LDFLAGS="$(LDFLAGS_NEEDED)" $(PYTHON_PATH) $(NUMPY_INCLUDE) python ./setup.py build_ext --debug --num_processes $(NUM_PROCESSES) $(PYTHON_PLATFORM_NAME) $(SETUP_FLAGS)
|
||||||
$(GENERATE_DEBUG_SYMS)
|
$(GENERATE_DEBUG_SYMS)
|
||||||
find temp_build -type f -name "*.o" -delete
|
find temp_build -type f -name "*.o" -delete
|
||||||
|
|
|
@ -50,9 +50,6 @@ else
|
||||||
SOX_LDFLAGS := `pkg-config --libs sox`
|
SOX_LDFLAGS := `pkg-config --libs sox`
|
||||||
endif # OS others
|
endif # OS others
|
||||||
PYTHON_PACKAGES := numpy${NUMPY_BUILD_VERSION}
|
PYTHON_PACKAGES := numpy${NUMPY_BUILD_VERSION}
|
||||||
ifeq ($(OS),Linux)
|
|
||||||
PYTHON_PLATFORM_NAME ?= --plat-name manylinux1_x86_64
|
|
||||||
endif
|
|
||||||
endif
|
endif
|
||||||
|
|
||||||
ifeq ($(findstring _NT,$(OS)),_NT)
|
ifeq ($(findstring _NT,$(OS)),_NT)
|
||||||
|
@ -237,7 +234,7 @@ DS_SWIG_ENV := SWIG_LIB="$(SWIG_LIB)" PATH="$(DS_SWIG_BIN_PATH):${PATH}"
|
||||||
|
|
||||||
$(DS_SWIG_BIN_PATH)/swig:
|
$(DS_SWIG_BIN_PATH)/swig:
|
||||||
mkdir -p $(SWIG_ROOT)
|
mkdir -p $(SWIG_ROOT)
|
||||||
wget -O - "$(SWIG_DIST_URL)" | tar -C $(SWIG_ROOT) -zxf -
|
curl -sSL "$(SWIG_DIST_URL)" | tar -C $(SWIG_ROOT) -zxf -
|
||||||
ln -s $(DS_SWIG_BIN) $(DS_SWIG_BIN_PATH)/$(SWIG_BIN)
|
ln -s $(DS_SWIG_BIN) $(DS_SWIG_BIN_PATH)/$(SWIG_BIN)
|
||||||
|
|
||||||
ds-swig: $(DS_SWIG_BIN_PATH)/swig
|
ds-swig: $(DS_SWIG_BIN_PATH)/swig
|
||||||
|
|
|
@ -9,7 +9,7 @@ bindings-clean:
|
||||||
# Enforce PATH here because swig calls from build_ext looses track of some
|
# Enforce PATH here because swig calls from build_ext looses track of some
|
||||||
# variables over several runs
|
# variables over several runs
|
||||||
bindings-build: ds-swig
|
bindings-build: ds-swig
|
||||||
pip3 install --quiet $(PYTHON_PACKAGES) wheel==0.33.6 setuptools==45.0.0
|
pip3 install --quiet $(PYTHON_PACKAGES) wheel setuptools
|
||||||
DISTUTILS_USE_SDK=1 PATH=$(TOOLCHAIN_DIR):$(DS_SWIG_BIN_PATH):$$PATH SWIG_LIB="$(SWIG_LIB)" AS=$(AS) CC=$(CC) CXX=$(CXX) LD=$(LD) CFLAGS="$(CFLAGS)" LDFLAGS="$(LDFLAGS_NEEDED) $(RPATH_PYTHON)" MODEL_LDFLAGS="$(LDFLAGS_DIRS)" MODEL_LIBS="$(LIBS)" $(PYTHON_PATH) $(PYTHON_SYSCONFIGDATA) $(NUMPY_INCLUDE) python3 ./setup.py build_ext $(PYTHON_PLATFORM_NAME)
|
DISTUTILS_USE_SDK=1 PATH=$(TOOLCHAIN_DIR):$(DS_SWIG_BIN_PATH):$$PATH SWIG_LIB="$(SWIG_LIB)" AS=$(AS) CC=$(CC) CXX=$(CXX) LD=$(LD) CFLAGS="$(CFLAGS)" LDFLAGS="$(LDFLAGS_NEEDED) $(RPATH_PYTHON)" MODEL_LDFLAGS="$(LDFLAGS_DIRS)" MODEL_LIBS="$(LIBS)" $(PYTHON_PATH) $(PYTHON_SYSCONFIGDATA) $(NUMPY_INCLUDE) python3 ./setup.py build_ext $(PYTHON_PLATFORM_NAME)
|
||||||
|
|
||||||
MANIFEST.in: bindings-build
|
MANIFEST.in: bindings-build
|
||||||
|
|
Loading…
Reference in New Issue