1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65
|
#!/usr/bin/env bash
#
# @license Apache-2.0
#
# Copyright (c) 2017 The Stdlib Authors.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
# Build script to run at the end of the Travis CI build [lifecycle][1].
#
# [1]: https://docs.travis-ci.com/user/customizing-the-build#The-Build-Lifecycle
# VARIABLES #
# Get the build result (`0` if success; `1` if failure):
result="${TRAVIS_TEST_RESULT}"
# Define a file containing log output:
log_file='/var/log/travis-ci.log'
# Define the number of lines of logged output to print:
tail_num_lines=5000
# FUNCTIONS #
# Defines an error handler.
on_error() {
echo 'ERROR: An error was encountered during execution.' >&2
exit 1
}
# Tails a log file.
#
# $1 - log file to tail
# $2 - number of lines to tail
tail_output() {
echo "Printing the last $2 lines of log output..." >&2
tail -"$2" "$1"
}
# Main execution sequence.
main() {
# Only tail the log file if the build failed...
if [[ "${result}" = "1" ]]; then
tail_output "${log_file}" "${tail_num_lines}"
fi
}
# Set an error handler:
trap 'on_error' ERR
# Run main:
main
|