diff --git a/.travis.yml b/.travis.yml index 687ad4a23..446eb43c4 100644 --- a/.travis.yml +++ b/.travis.yml @@ -40,6 +40,7 @@ deploy: region: eu-west-1 on: *2 before_deploy: +- ./scripts/update_version_file.sh - zip -r notifications-api * - mkdir -p dpl_cd_upload - mv notifications-api.zip dpl_cd_upload/notifications-api-$TRAVIS_BRANCH-$TRAVIS_BUILD_NUMBER-$TRAVIS_COMMIT.zip diff --git a/app/__init__.py b/app/__init__.py index 7b38a376e..5fefc46d4 100644 --- a/app/__init__.py +++ b/app/__init__.py @@ -121,13 +121,15 @@ def convert_to_number(value): def get_api_version(): - _version_re = re.compile(r'__version__\s+=\s+(.*)') - version = 'n/a' - dir_path = os.path.dirname(os.path.abspath(__file__)) - with open(os.path.join(dir_path, 'version.py'), 'rb') as f: - version = str(ast.literal_eval(_version_re.search( - f.read().decode('utf-8')).group(1))) - return version + build = 'n/a' + build_time = "n/a" + try: + from app import version + build = version.__build__ + build_time = version.__time__ + except: + pass + return build, build_time def get_db_version(): diff --git a/app/status/healthcheck.py b/app/status/healthcheck.py index b513bc600..b16619828 100644 --- a/app/status/healthcheck.py +++ b/app/status/healthcheck.py @@ -7,6 +7,8 @@ status = Blueprint('status', __name__) @status.route('/_status', methods=['GET', 'POST']) def show_status(): from app import (get_api_version, get_db_version) + build, build_time = get_api_version() return jsonify(status="ok", - api_version=get_api_version(), + api_build=build, + api_built_time=build_time, db_version=get_db_version()), 200 diff --git a/app/version.py b/app/version.py index df9144c54..49af4a53e 100644 --- a/app/version.py +++ b/app/version.py @@ -1 +1,2 @@ -__version__ = '0.1.1' +__build__ = "12345" +__time__ = "2016-01-01:10:10:10" diff --git a/scripts/update_version_file.sh b/scripts/update_version_file.sh new file mode 100755 index 000000000..27117f6dd --- /dev/null +++ b/scripts/update_version_file.sh @@ -0,0 +1,6 @@ +#!/bin/bash +# +# Update the version file of the project from the Travis build details +# +sed -i -e "s/__build__ =.*/__build__ = \"$TRAVIS_COMMIT\"/g" ./app/version.py +sed -i -e "s/__time__ =.*/__time__ = \"$('date +%Y-%m-%d:%H:%M:%S')\"/g" ./app/version.py \ No newline at end of file