forked from protocolbuffers/protobuf
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
upport kokoro/release/python from 3.6.x branch
- Loading branch information
1 parent
2e7563f
commit 7200550
Showing
8 changed files
with
279 additions
and
0 deletions.
There are no files selected for viewing
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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,45 @@ | ||
#!/bin/bash | ||
|
||
set -ex | ||
|
||
# change to repo root | ||
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 | ||
export PLAT=x86_64 | ||
export UNICODE_WIDTH=32 | ||
export MACOSX_DEPLOYMENT_TARGET=10.9 | ||
|
||
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 | ||
|
||
build_artifact_version() { | ||
MB_PYTHON_VERSION=$1 | ||
|
||
# Clean up env | ||
rm -rf venv | ||
sudo rm -rf protobuf | ||
git clone https://github.com/google/protobuf.git | ||
|
||
source multibuild/common_utils.sh | ||
source multibuild/travis_steps.sh | ||
before_install | ||
|
||
clean_code $REPO_DIR $BUILD_COMMIT | ||
sed -i '/Wno-sign-compare/a \ \ \ \ \ \ \ \ extra_compile_args.append("-std=c++11")' $REPO_DIR/python/setup.py | ||
cat $REPO_DIR/python/setup.py | ||
|
||
build_wheel $REPO_DIR/python $PLAT | ||
|
||
mv wheelhouse/* $ARTIFACT_DIR | ||
} | ||
|
||
build_artifact_version 2.7 | ||
build_artifact_version 3.4 | ||
build_artifact_version 3.5 | ||
build_artifact_version 3.6 |
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
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="-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;" | ||
} |
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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,8 @@ | ||
# Configuration for Linux release builds | ||
build_file: "protobuf/kokoro/release/python/linux/build_artifacts.sh" | ||
|
||
action { | ||
define_artifacts { | ||
regex: "github/protobuf/artifacts/**" | ||
} | ||
} |
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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,47 @@ | ||
#!/bin/bash | ||
|
||
set -ex | ||
|
||
# change to repo root | ||
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 | ||
export PLAT=x86_64 | ||
export UNICODE_WIDTH=32 | ||
export MACOSX_DEPLOYMENT_TARGET=10.9 | ||
export TRAVIS_OS_NAME="osx" | ||
|
||
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 | ||
|
||
OLD_PATH=$PATH | ||
|
||
build_artifact_version() { | ||
MB_PYTHON_VERSION=$1 | ||
|
||
# Clean up env | ||
rm -rf venv | ||
sudo rm -rf protobuf | ||
git clone https://github.com/google/protobuf.git | ||
export PATH=$OLD_PATH | ||
|
||
source multibuild/common_utils.sh | ||
source multibuild/travis_steps.sh | ||
before_install | ||
|
||
clean_code $REPO_DIR $BUILD_COMMIT | ||
|
||
build_wheel $REPO_DIR/python $PLAT | ||
|
||
mv wheelhouse/* $ARTIFACT_DIR | ||
} | ||
|
||
build_artifact_version 2.7 | ||
build_artifact_version 3.4 | ||
build_artifact_version 3.5 | ||
build_artifact_version 3.6 |
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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,8 @@ | ||
# Configuration for Mac OSX release builds | ||
build_file: "protobuf/kokoro/release/python/macos/build_artifacts.sh" | ||
|
||
action { | ||
define_artifacts { | ||
regex: "github/protobuf/artifacts/**" | ||
} | ||
} |
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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,53 @@ | ||
REM Move scripts to root | ||
cd github\protobuf | ||
copy kokoro\release\python\windows\build_single_artifact.bat build_single_artifact.bat | ||
|
||
REM Set environment variables | ||
set REPO_DIR=protobuf | ||
set PACKAGE_NAME=protobuf | ||
set BUILD_DLL=OFF | ||
set UNICODE=ON | ||
set PB_TEST_DEP="six==1.9" | ||
set OTHER_TEST_DEP="setuptools==38.5.1" | ||
set OLD_PATH=C:\Program Files (x86)\MSBuild\14.0\bin\;%PATH% | ||
for /f "tokens=*" %%i in ( 'grep -i "version" python/google/protobuf/__init__.py ^| grep -o "'.*'"' ) do set BUILD_VERSION=%%i | ||
set BUILD_COMMIT=v%BUILD_VERSION:'=% | ||
|
||
REM Fetch multibuild | ||
git clone https://github.com/matthew-brett/multibuild.git | ||
|
||
REM Install zlib | ||
mkdir zlib | ||
curl -L -o zlib.zip http://www.winimage.com/zLibDll/zlib123dll.zip | ||
curl -L -o zlib-src.zip http://www.winimage.com/zLibDll/zlib123.zip | ||
7z x zlib.zip -ozlib | ||
7z x zlib-src.zip -ozlib\include | ||
SET ZLIB_ROOT=%cd%\zlib | ||
del /Q zlib.zip | ||
del /Q zlib-src.zip | ||
|
||
REM Create directory for artifacts | ||
SET ARTIFACT_DIR=%cd%\artifacts | ||
mkdir %ARTIFACT_DIR% | ||
|
||
REM Build wheel | ||
|
||
SET PYTHON=C:\python35_32bit | ||
SET PYTHON_VERSION=3.5 | ||
SET PYTHON_ARCH=32 | ||
CALL build_single_artifact.bat | ||
|
||
SET PYTHON=C:\python35 | ||
SET PYTHON_VERSION=3.5 | ||
SET PYTHON_ARCH=64 | ||
CALL build_single_artifact.bat | ||
|
||
SET PYTHON=C:\python36_32bit | ||
SET PYTHON_VERSION=3.6 | ||
SET PYTHON_ARCH=32 | ||
CALL build_single_artifact.bat | ||
|
||
SET PYTHON=C:\python36 | ||
SET PYTHON_VERSION=3.6 | ||
SET PYTHON_ARCH=64 | ||
CALL build_single_artifact.bat |
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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,62 @@ | ||
setlocal | ||
|
||
if %PYTHON%==C:\python35_32bit set generator=Visual Studio 14 | ||
if %PYTHON%==C:\python35_32bit set vcplatform=Win32 | ||
|
||
if %PYTHON%==C:\python35 set generator=Visual Studio 14 Win64 | ||
if %PYTHON%==C:\python35 set vcplatform=x64 | ||
|
||
if %PYTHON%==C:\python36_32bit set generator=Visual Studio 14 | ||
if %PYTHON%==C:\python36_32bit set vcplatform=Win32 | ||
|
||
if %PYTHON%==C:\python36 set generator=Visual Studio 14 Win64 | ||
if %PYTHON%==C:\python36 set vcplatform=x64 | ||
|
||
REM Prepend newly installed Python to the PATH of this build (this cannot be | ||
REM done from inside the powershell script as it would require to restart | ||
REM the parent CMD process). | ||
SET PATH=%PYTHON%;%PYTHON%\Scripts;%OLD_PATH% | ||
python -m pip install -U pip | ||
pip install wheel | ||
|
||
REM Check that we have the expected version and architecture for Python | ||
python --version | ||
python -c "import struct; print(struct.calcsize('P') * 8)" | ||
|
||
rmdir /s/q protobuf | ||
git clone https://github.com/google/protobuf.git | ||
|
||
REM Checkout release commit | ||
cd %REPO_DIR% | ||
git checkout %BUILD_COMMIT% | ||
|
||
REM ====================== | ||
REM Build Protobuf Library | ||
REM ====================== | ||
|
||
mkdir src\.libs | ||
|
||
mkdir vcprojects | ||
pushd vcprojects | ||
cmake -G "%generator%" -Dprotobuf_BUILD_SHARED_LIBS=%BUILD_DLL% -Dprotobuf_UNICODE=%UNICODE% -Dprotobuf_BUILD_TESTS=OFF ../cmake | ||
msbuild protobuf.sln /p:Platform=%vcplatform% /p:Configuration=Release | ||
dir /s /b | ||
popd | ||
copy vcprojects\Release\libprotobuf.lib src\.libs\libprotobuf.a | ||
copy vcprojects\Release\libprotobuf-lite.lib src\.libs\libprotobuf-lite.a | ||
SET PATH=%cd%\vcprojects\Release;%PATH% | ||
dir vcprojects\Release | ||
|
||
REM ====================== | ||
REM Build python library | ||
REM ====================== | ||
|
||
cd python | ||
|
||
REM sed -i 's/\ extra_compile_args\ =\ \[\]/\ extra_compile_args\ =\ \[\'\/MT\'\]/g' setup.py | ||
|
||
python setup.py bdist_wheel --cpp_implementation --compile_static_extension | ||
dir dist | ||
copy dist\* %ARTIFACT_DIR% | ||
dir %ARTIFACT_DIR% | ||
cd ..\.. |
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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,8 @@ | ||
# Configuration for Windows protoc release builds | ||
build_file: "protobuf/kokoro/release/python/windows/build_artifacts.bat" | ||
|
||
action { | ||
define_artifacts { | ||
regex: "github/protobuf/artifacts/**" | ||
} | ||
} |