mirror of
https://github.com/google/flatbuffers.git
synced 2026-06-28 14:40:01 +00:00
Merge pull request #4516 from mikeholler/travis
Add support for Python lib continuous deployment.
This commit is contained in:
24
.travis.yml
24
.travis.yml
@@ -4,6 +4,30 @@ env:
|
|||||||
- GCC_VERSION="4.9"
|
- GCC_VERSION="4.9"
|
||||||
matrix:
|
matrix:
|
||||||
include:
|
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
|
- language: cpp
|
||||||
os:
|
os:
|
||||||
- linux
|
- linux
|
||||||
|
|||||||
12
.travis/deploy-python.sh
Executable file
12
.travis/deploy-python.sh
Executable file
@@ -0,0 +1,12 @@
|
|||||||
|
#!/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/"*
|
||||||
|
|
||||||
2
python/.gitignore
vendored
Normal file
2
python/.gitignore
vendored
Normal file
@@ -0,0 +1,2 @@
|
|||||||
|
/dist/
|
||||||
|
/*.egg-info/
|
||||||
@@ -12,11 +12,38 @@
|
|||||||
# See the License for the specific language governing permissions and
|
# See the License for the specific language governing permissions and
|
||||||
# limitations under the License.
|
# limitations under the License.
|
||||||
|
|
||||||
|
import os
|
||||||
|
from datetime import datetime
|
||||||
from setuptools import setup
|
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(
|
setup(
|
||||||
name='flatbuffers',
|
name='flatbuffers',
|
||||||
version='2015.05.14.0',
|
version=version(),
|
||||||
license='Apache 2.0',
|
license='Apache 2.0',
|
||||||
author='FlatBuffers Contributors',
|
author='FlatBuffers Contributors',
|
||||||
author_email='me@rwinslow.com',
|
author_email='me@rwinslow.com',
|
||||||
|
|||||||
Reference in New Issue
Block a user