Unverified Commit 4071b6f6 authored by Robert's avatar Robert Committed by GitHub

Merge pull request #4516 from mikeholler/travis

Add support for Python lib continuous deployment.
parents 142401f5 77996422
......@@ -4,6 +4,30 @@ env:
- GCC_VERSION="4.9"
matrix:
include:
- language: python
python: "2.7"
install:
- "pip install wheel twine"
script:
- "cd python/"
- 'VERSION="$TRAVIS_TAG" python setup.py sdist bdist_wheel'
- "cd ../"
deploy:
# Checkpointed release builds.
- provider: script
script: .travis/deploy-python.sh
skip_cleanup: true
on:
tags: true
# all_branches must be set with tags: true. See below post:
# https://stackoverflow.com/a/27775257/1076585
all_branches: true
# Produce a new build for the cutting edge when master changes.
- provider: script
script: .travis/deploy-python.sh
skip_cleanup: true
on:
branch: master
- language: cpp
os:
- linux
......
#!/bin/bash
DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
PROD_REPOSITORY="https://upload.pypi.org/legacy/"
TEST_REPOSITORY="https://test.pypi.org/legacy/"
twine upload \
--username "$PYPI_USERNAME" \
--password "$PYPI_PASSWORD" \
--repository-url "$PROD_REPOSITORY" \
"$DIR/../python/dist/"*
/dist/
/*.egg-info/
......@@ -12,11 +12,38 @@
# See the License for the specific language governing permissions and
# limitations under the License.
import os
from datetime import datetime
from setuptools import setup
def version():
version = os.getenv('VERSION', None)
if version:
# Most git tags are prefixed with 'v' (example: v1.2.3) this is
# never desirable for artifact repositories, so we strip the
# leading 'v' if it's present.
return version[1:] if version.startswith('v') else version
else:
# Default version is an ISO8601 compiliant datetime. PyPI doesn't allow
# the colon ':' character in its versions, and time is required to allow
# for multiple publications to master in one day. This datetime string
# uses the "basic" ISO8601 format for both its date and time components
# to avoid issues with the colon character (ISO requires that date and
# time components of a date-time string must be uniformly basic or
# extended, which is why the date component does not have dashes.
#
# Publications using datetime versions should only be made from master
# to represent the HEAD moving forward.
version = datetime.utcnow().strftime('%Y%m%d%H%M%S')
print("VERSION environment variable not set, using datetime instead: {}"
.format(version))
return version
setup(
name='flatbuffers',
version='2015.05.14.0',
version=version(),
license='Apache 2.0',
author='FlatBuffers Contributors',
author_email='me@rwinslow.com',
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment