diff --git a/.travis.yml b/.travis.yml index ef0a945a5..3d426d753 100644 --- a/.travis.yml +++ b/.travis.yml @@ -90,6 +90,7 @@ script: - cd ./build - if [ "${COVERITY_SCAN_BRANCH}" != 1 ]; then ${ANALYZE} make -j3; fi - if [ "${COVERITY_SCAN_BRANCH}" != 1 ] && [ "${TRAVIS_OS_NAME}" = "osx" ]; then make package; fi + - if [ "${COVERITY_SCAN_BRANCH}" != 1 ] && [ "${TRAVIS_OS_NAME}" = "osx" ]; then ../CI/check_package.osx.sh; fi - if [ "${COVERITY_SCAN_BRANCH}" != 1 ] && [ "${TRAVIS_OS_NAME}" = "linux" ]; then ./openmw_test_suite; fi - if [ "${COVERITY_SCAN_BRANCH}" != 1 ] && [ "${TRAVIS_OS_NAME}" = "linux" ]; then cd .. && ./CI/check_tabs.sh; fi - cd "${TRAVIS_BUILD_DIR}" diff --git a/CI/check_package.osx.sh b/CI/check_package.osx.sh new file mode 100755 index 000000000..f5da5c273 --- /dev/null +++ b/CI/check_package.osx.sh @@ -0,0 +1,15 @@ +#!/usr/bin/env bash + +hdiutil attach ./*.dmg -mountpoint "${TRAVIS_BUILD_DIR}/openmw-package" > /dev/null || echo "hdutil has failed" + +EXPECTED_PACKAGE_FILES=('Applications' 'OpenMW-CS.app' 'OpenMW.app') +PACKAGE_FILES=$(ls "${TRAVIS_BUILD_DIR}/openmw-package" | LC_ALL=C sort) + +DIFF=$(diff <(printf "%s\n" "${EXPECTED_PACKAGE_FILES[@]}") <(printf "%s\n" "${PACKAGE_FILES[@]}")) +DIFF_STATUS=$? + +if [[ $DIFF_STATUS -ne 0 ]]; then + echo "The package should only contain an Applications symlink and two applications, see the following diff for details." >&2 + echo "$DIFF" >&2 + exit 1 +fi