Skip to content

Commit

Permalink
Fix python release build. (protocolbuffers#5636)
Browse files Browse the repository at this point in the history
* Fix python release build.
* Separate config.sh by platform
* Use KOKORO_JOR_NAME to determine the BUILD_COMMIT.
* Use -std=c++14 on MacOS so -latomic can be used.
  • Loading branch information
Hao Nguyen authored Jan 26, 2019
1 parent d135f07 commit fac8e34
Show file tree
Hide file tree
Showing 4 changed files with 65 additions and 3 deletions.
8 changes: 7 additions & 1 deletion kokoro/release/python/linux/build_artifacts.sh
Original file line number Diff line number Diff line change
Expand Up @@ -7,11 +7,17 @@ pushd $(dirname $0)/../../../..

export REPO_DIR=protobuf
export BUILD_VERSION=`grep -i "version" python/google/protobuf/__init__.py | grep -o "'.*'" | tr -d "'"`
export BUILD_COMMIT=v$BUILD_VERSION
if [ -z $KOKORO_JOB_NAME ]; then
export BUILD_COMMIT=master
else
export BUILD_COMMIT=`echo "$KOKORO_JOB_NAME" | cut -d '/' -f 3`
fi
export PLAT=x86_64
export UNICODE_WIDTH=32
export MACOSX_DEPLOYMENT_TARGET=10.9

rm -rf artifacts/
rm -rf multibuild/
mkdir artifacts
export ARTIFACT_DIR=$(pwd)/artifacts

Expand Down
2 changes: 2 additions & 0 deletions kokoro/release/python/linux/config.sh
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,8 @@ function pre_build {
# Runs in the root directory of this repository.
pushd protobuf

yum install -y devtoolset-2-libatomic-devel

# Build protoc
./autogen.sh
./configure
Expand Down
10 changes: 8 additions & 2 deletions kokoro/release/python/macos/build_artifacts.sh
Original file line number Diff line number Diff line change
Expand Up @@ -7,17 +7,23 @@ pushd $(dirname $0)/../../../..

export REPO_DIR=protobuf
export BUILD_VERSION=`grep -i "version" python/google/protobuf/__init__.py | grep -o "'.*'" | tr -d "'"`
export BUILD_COMMIT=v$BUILD_VERSION
if [ -z $KOKORO_JOB_NAME ]; then
export BUILD_COMMIT=master
else
export BUILD_COMMIT=`echo "$KOKORO_JOB_NAME" | cut -d '/' -f 3`
fi
export PLAT=x86_64
export UNICODE_WIDTH=32
export MACOSX_DEPLOYMENT_TARGET=10.9
export TRAVIS_OS_NAME="osx"

rm -rf artifacts/
rm -rf multibuild/
mkdir artifacts
export ARTIFACT_DIR=$(pwd)/artifacts

git clone https://github.com/matthew-brett/multibuild.git
cp kokoro/release/python/linux/config.sh config.sh
cp kokoro/release/python/macos/config.sh config.sh

OLD_PATH=$PATH

Expand Down
48 changes: 48 additions & 0 deletions kokoro/release/python/macos/config.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,48 @@
# Define custom utilities
# Test for OSX with [ -n "$IS_OSX" ]

function pre_build {
# Any stuff that you need to do before you start building the wheels
# Runs in the root directory of this repository.
pushd protobuf

# Build protoc
./autogen.sh
./configure

CXXFLAGS="-std=c++14 -fPIC -g -O2" ./configure
make -j8

# Generate python dependencies.
pushd python
python setup.py build_py
popd

popd
}

function bdist_wheel_cmd {
# Builds wheel with bdist_wheel, puts into wheelhouse
#
# It may sometimes be useful to use bdist_wheel for the wheel building
# process. For example, versioneer has problems with versions which are
# fixed with bdist_wheel:
# https://github.com/warner/python-versioneer/issues/121
local abs_wheelhouse=$1

# Modify build version
pwd
ls
python setup.py bdist_wheel --cpp_implementation --compile_static_extension
cp dist/*.whl $abs_wheelhouse
}

function build_wheel {
build_wheel_cmd "bdist_wheel_cmd" $@
}

function run_tests {
# Runs tests on installed distribution from an empty directory
python --version
python -c "from google.protobuf.pyext import _message;"
}

0 comments on commit fac8e34

Please sign in to comment.