ulogger-server/.travis.yml
2021-04-22 19:47:52 +02:00

80 lines
3.2 KiB
YAML

language: php
os: linux
dist: xenial
php:
- 7.4
env:
jobs:
- DB_DSN="mysql:host=127.0.0.1;port=8081;dbname=ulogger;charset=utf8"
- DB_DSN="pgsql:host=127.0.0.1;port=8081;dbname=ulogger"
- DB_DSN="sqlite:/tmp/data/sqlite/ulogger.db"
global:
- DB_USER=ulogger
- DB_PASS=secret2
- ULOGGER_URL="http://127.0.0.1:8080"
- secure: "fajUnR8y0+EkMLHTpDpqEsNc2UWSNQchy9Vw6bP+AVEdLnU2tdc9ZTrWfHx+vQdvo6xd/eY6TJm4cWtesG8inFhZHSzPYeeWX8xDto+fPohjTBJggvkGmhO6xYidjwTL2niKsHOVPh0ja55eCzp/DYWX/jVUNWTFsFiLwOlrZrhhoZs3JNldiPOUAgroR5SvlW1TZ1MgWO0ZLXpjpRhG3w42pRM75pzGpfwnjeA6BYCO8j/NXCiuCo9YTTGR/zM5yfYuTIxviIVcRw2Y6SQrh/nzQw3bCB7y9PvtDt/eNAzJVO8GQOQeN7cgY4kU/NMMlIxwL1nUDyaZj1+KxZj3BsG/pPxJblAE28yDdFlpTeolHuFDZpOXvbD8EnUYjk+NXUDe73tYPZT/iiojMBJ4ja+SCnq8VYvATjOHiAqDmlrrEWWwBC+i2laFSVBMJROvg+Ga85vmyV6/nvSd0fRJzrGLyeyGqSBwbGk2lS8HXPcDc5Bfn6v9sP0Sks7xXvW9A6zc262GRcSZqlvmUpbp7VteJigFNv3t3vjJRNlspvpzpPqHGKDJ3UCgt2i7+ve8zqFfevDUiDBKkMEPhIQdXPtqhzHMq4GXMDpGwq9DWcR0m/ZQISfS2K1ONnpv+4ShkGaFFk7o435GcIkitMAxRvpcA4m92l0POuqAbrXPaUU="
services:
- docker
before_install:
- echo -n | openssl s_client -connect scan.coverity.com:443 | sed -ne '/-BEGIN CERTIFICATE-/,/-END CERTIFICATE-/p' | sudo tee -a /etc/ssl/certs/ca-
- |
case "$DB_DSN" in
mysql*)
docker build -t ulogger --build-arg DB_DRIVER=mysql .
docker run -d --name ulogger -p 8080:80 -p 8081:3306 --expose 3306 -e ULOGGER_ENABLE_SETUP=1 ulogger
;;
pgsql*)
docker build -t ulogger --build-arg DB_DRIVER=pgsql .
docker run -d --name ulogger -p 8080:80 -p 8081:5432 --expose 5432 -e ULOGGER_ENABLE_SETUP=1 ulogger
;;
sqlite*)
sudo apt-get update -qq
sudo apt-get install sqlite3
rm -rf /tmp/data
mkdir -p /tmp/data/sqlite /tmp/data/uploads
sqlite3 -init scripts/ulogger.sqlite /tmp/data/sqlite/ulogger.db .exit
sudo chown -R travis:travis /tmp/data
sudo chmod -R 777 /tmp/data
docker build -t ulogger --build-arg DB_DRIVER=sqlite .
docker run -d --name ulogger -p 8080:80 -v /tmp/data:/data -e ULOGGER_ENABLE_SETUP=1 ulogger
;;
esac
- composer install
- nvm install 12
- npm install
- until netstat -atn 2>/dev/null | grep '8080.*LISTEN'; do sleep 1; done
after_success:
- |
if [ ! -z "$TRANSIFEX_PASSWORD" ]; then
pip install --user virtualenv
virtualenv ~/env
source ~/env/bin/activate
pip install transifex-client
echo -e "[https://www.transifex.com]\nhostname = https://www.transifex.com\nusername = api\npassword = ${TRANSIFEX_PASSWORD}\n" > ~/.transifexrc
tx push -s --no-interactive
fi
after_failure:
- docker logs ulogger
script:
- XDEBUG_MODE=coverage ./vendor/bin/phpunit -c .tests/phpunit.xml
- npm test
- npm run lint:js
- npm run lint:css
addons:
coverity_scan:
project:
name: "bfabiszewski/ulogger-server"
description: "Build submitted via Travis CI"
notification_email: scan.coverity@fabiszewski.net
build_command_prepend: ""
build_command: "--no-command --fs-capture-search ./ --fs-capture-search-exclude-regex vendor/ --fs-capture-search-exclude-regex .tests/ --fs-capture-search-exclude-regex config.php --fs-capture-search-exclude-regex .docker/"
branch_pattern: master