Build/Inspection/inspect.sh
2023-10-02 01:33:08 +00:00

83 lines
2.7 KiB
Bash
Executable File

#!/bin/bash
# Include config
. "${BUILD_PATH}/config.sh"
# Setup database
echo "#################################################"
echo "Setup database"
echo "#################################################"
mysql -e 'drop database if exists omt;' -u ${DB_USER} --password="${DB_PASSWORD}"
mysql -e 'create database omt;' -u ${DB_USER} --password="${DB_PASSWORD}"
# Build js
#. Js/build.sh
# Executing unit tests
echo "#################################################"
echo "PHP tests"
echo "#################################################"
. ${BUILD_PATH}/Inspection/Php/tests.sh
# Executing query inspections AFTER the unit test which also runs queries
# This requires MYSQL with query logging enabled
echo "#################################################"
echo "MYSQL queries"
echo "#################################################"
. ${BUILD_PATH}/Inspection/Sql/performance.sh
# Linting
echo "#################################################"
echo "Json and PHP linting"
echo "#################################################"
. ${BUILD_PATH}/Inspection/Php/linting.sh
. ${BUILD_PATH}/Inspection/Json/linting.sh
# Code style
echo "#################################################"
echo "PHP and JS coding style"
echo "#################################################"
. ${BUILD_PATH}/Inspection/Php/style.sh
. ${BUILD_PATH}/Inspection/Js/style.sh
# Custom html inspections
echo "#################################################"
echo "Custom html inspection"
echo "#################################################"
. ${BUILD_PATH}/Inspection/Html/tags.sh
. ${BUILD_PATH}/Inspection/Html/syntax.sh
. ${BUILD_PATH}/Inspection/Html/static_text.sh
# Custom php inspections
echo "#################################################"
echo "Custom php inspection"
echo "#################################################"
. ${BUILD_PATH}/Inspection/Php/security.sh
# Custom js inspections
echo "#################################################"
echo "Custom js inspection"
echo "#################################################"
. ${BUILD_PATH}/Inspection/Js/security.sh
# Stats & metrics
echo "#################################################"
echo "PHP stats"
echo "#################################################"
. ${BUILD_PATH}/Inspection/Php/stats.sh
# Build external test report
echo "#################################################"
echo "Test report"
echo "#################################################"
php ${TOOLS_PATH}/TestReportGenerator/src/index.php \
-b ${INSPECTION_PATH} \
-l ${BUILD_PATH}/Config/reportLang.php \
-s ${OUTPUT_PATH}/phpcs.xml \
-sj ${OUTPUT_PATH}/junit_eslint.xml \
-a ${OUTPUT_PATH}/phpstan.json \
-c ${OUTPUT_PATH}/coverage.xml \
-u ${OUTPUT_PATH}/junit_php.xml \
-d ${OUTPUT_PATH}/ReportExternal \
--version 1.0.0