mirror of
https://github.com/google/flatbuffers.git
synced 2026-06-04 12:43:24 +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"
|
||||
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
|
||||
|
||||
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
|
||||
# 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',
|
||||
|
||||
Reference in New Issue
Block a user