diff --git a/docker-compose.test.yml b/docker-compose.test.yml new file mode 100644 index 0000000..9298d4c --- /dev/null +++ b/docker-compose.test.yml @@ -0,0 +1,11 @@ +version: '3.7' +services: + sut: + build: . + command: /root/test/test-command.sh + environment: + - STARTUP_COMMAND1=php --version + - STARTUP_COMMAND2=composer --version + - STARTUP_COMMAND3=chmod +x /root/test/test-command.sh + volumes: + - ./test:/root/test diff --git a/root/entrypoint.sh b/root/entrypoint.sh index caef640..1f36f48 100644 --- a/root/entrypoint.sh +++ b/root/entrypoint.sh @@ -5,6 +5,8 @@ set -e # make sure Laravel can write its own files mkdir -p /opt/app/storage/logs/ +mkdir -p /opt/app/bootstrap/cache + touch /opt/app/storage/logs/laravel.log touch /opt/app/storage/logs/worker.log chown www-data:www-data -R /opt/app/storage diff --git a/test/test-command.sh b/test/test-command.sh new file mode 100755 index 0000000..ba0744e --- /dev/null +++ b/test/test-command.sh @@ -0,0 +1,15 @@ +#!/usr/bin/env bash +set -e + +# clean the app folder +cd /opt/ +rm -rf app + +# create laravel project into app +composer create-project --prefer-dist laravel/laravel app + +# start services in the background +runsvdir /etc/service & + +# check if the services are available +wait-for-it.sh --host=localhost --port=8080