mirror of
https://github.com/GSA/notifications-api.git
synced 2026-05-06 09:08:24 -04:00
Merge pull request #46 from alphagov/update_version_file_with_travis_details
version file has been updated to include a travis commit and time of …
This commit is contained in:
@@ -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
|
||||
|
||||
@@ -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():
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -1 +1,2 @@
|
||||
__version__ = '0.1.1'
|
||||
__build__ = ""
|
||||
__time__ = ""
|
||||
|
||||
@@ -1,55 +0,0 @@
|
||||
#!/bin/bash
|
||||
|
||||
function pretty() {
|
||||
local blue="\033[34m"
|
||||
local reset="\033[0m"
|
||||
while read line; do
|
||||
echo -e "${blue}[publishing]${reset} ${line}"
|
||||
done
|
||||
}
|
||||
|
||||
function warn() {
|
||||
local orange="\033[33m"
|
||||
local reset="\033[0m"
|
||||
while read line; do
|
||||
echo -e "${orange}[warning]${reset} ${line}"
|
||||
done
|
||||
}
|
||||
|
||||
function get_sha(){
|
||||
REF=$(git log -n 1 -- VERSION --name-only)
|
||||
SHA=$(echo $REF | awk '{ print $2 }')
|
||||
|
||||
echo "checking out ${SHA}" | pretty
|
||||
|
||||
git checkout $SHA
|
||||
}
|
||||
|
||||
function get_version(){
|
||||
VERSION=$(python setup.py --version)
|
||||
echo "latest version is ${VERSION}" | pretty
|
||||
}
|
||||
|
||||
function push_tag_or_die(){
|
||||
TAG_EXISTS=$(git tag | grep -G "^${VERSION}$")
|
||||
if [ "$TAG_EXISTS" ]; then
|
||||
echo "Tag already exists, exiting" | warn
|
||||
exit 0
|
||||
else
|
||||
push_tag $VERSION
|
||||
fi
|
||||
}
|
||||
|
||||
function push_tag(){
|
||||
git tag -a $VERSION -m "Version tag for ${VERSION}"
|
||||
echo "Pushing tags to github ${VERSION} to Github" | pretty
|
||||
git push origin --tags
|
||||
}
|
||||
|
||||
function main(){
|
||||
get_sha
|
||||
get_version
|
||||
push_tag_or_die
|
||||
}
|
||||
|
||||
main
|
||||
6
scripts/update_version_file.sh
Executable file
6
scripts/update_version_file.sh
Executable file
@@ -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
|
||||
Reference in New Issue
Block a user