Page MenuHomePhorge

No OneTemporary

diff --git a/ci/Makefile b/ci/Makefile
index d47e713a..5a19745c 100644
--- a/ci/Makefile
+++ b/ci/Makefile
@@ -1,32 +1,38 @@
HOSTNAME=ci.local
PUBLIC_IP=127.0.0.1
OPENEXCHANGERATES_API_KEY=dummy
FIREBASE_API_KEY=dummy
PWD=$(shell pwd)
configure:
cd .. ; \
cp ci/env.local src/env.local ; \
sed -i 's/{{ host }}/${HOSTNAME}/g' src/env.local ; \
sed -i 's/{{ public_ip }}/${PUBLIC_IP}/g' src/env.local ; \
sed -i 's/{{ openexchangerates_api_key }}/${OPENEXCHANGERATES_API_KEY}/g' src/env.local ; \
sed -i 's/{{ firebase_api_key }}/${FIREBASE_API_KEY}/g' src/env.local ;
setup:
cd .. && bin/quickstart.sh --nodev
build:
cd .. && DOCKER_BUILDKIT=0 docker compose -f docker-compose.yml -f docker-compose.build.yml build swoole && DOCKER_BUILDKIT=0 docker compose -f docker-compose.yml -f docker-compose.build.yml build tests && cd ci
lint:
+ docker kill kolab-tests || : ; \
+ kolab rm kolab-tests || : ; \
docker run -v ${PWD}/../:/src/kolab.orig -t kolab-tests /lint.sh
test:
+ docker kill kolab-tests || : ; \
+ docker rm kolab-tests || : ; \
docker run --network=kolab_kolab -v ${PWD}/../src:/src/kolabsrc.orig -t kolab-tests /init.sh testsuite
shell:
+ docker kill kolab-tests || : ; \
+ docker rm kolab-tests || : ; \
docker run --network=kolab_kolab -v ${PWD}/../src:/src/kolabsrc.orig -ti kolab-tests /init.sh shell
-all: configure setup build lint test
+all: configure build setup lint test
diff --git a/docker/tests/Dockerfile b/docker/tests/Dockerfile
index b7d54d63..e63dfc6a 100644
--- a/docker/tests/Dockerfile
+++ b/docker/tests/Dockerfile
@@ -1,21 +1,24 @@
FROM apheleia/swoole:4.8.x
MAINTAINER Jeroen van Meeuwen <vanmeeuwen@apheleia-it.ch>
USER root
RUN dnf -y install findutils php-phpunit-PHPUnit chromium php-xdebug
RUN mkdir /src/ && chown 1001:100 /src/
RUN usermod -G wheel default
RUN echo '%wheel ALL=(ALL) NOPASSWD: ALL' >> /etc/sudoers
RUN chmod 777 /opt/app-root/src
USER default
EXPOSE 8000
+WORKDIR /src/
+
COPY init.sh /init.sh
COPY lint.sh /lint.sh
+COPY refresh.sh /refresh.sh
CMD [ "/init.sh" ]
diff --git a/docker/tests/lint.sh b/docker/tests/lint.sh
index f1591515..2227b3a8 100755
--- a/docker/tests/lint.sh
+++ b/docker/tests/lint.sh
@@ -1,21 +1,25 @@
#!/bin/bash
set -e
+rm -rf /src/kolab
sudo cp -a /src/kolab.orig /src/kolab
sudo chmod 777 -R /src/kolab
cd /src/kolab/src
sudo rm -rf vendor/ composer.lock
+# Not required for linting and requires db, so skip
+sed -i '/package:discover/c\""' composer.json
+sed -i '/vendor:publish/c\""' composer.json
php -dmemory_limit=-1 $(command -v composer) install
sudo rm -rf node_modules
mkdir node_modules
npm install
php -dmemory_limit=-1 \
vendor/bin/phpcs \
-s
php -dmemory_limit=-1 \
vendor/bin/phpstan \
analyse
npm run lint
diff --git a/docker/tests/refresh.sh b/docker/tests/refresh.sh
new file mode 100755
index 00000000..d1ea1699
--- /dev/null
+++ b/docker/tests/refresh.sh
@@ -0,0 +1,2 @@
+#!/bin/bash
+/bin/cp -rf /src/kolabsrc.orig/* /src/kolabsrc/
diff --git a/docker/webapp/init.sh b/docker/webapp/init.sh
index 466380ee..7c4c879a 100755
--- a/docker/webapp/init.sh
+++ b/docker/webapp/init.sh
@@ -1,38 +1,39 @@
#!/bin/bash
set -e
+rm -rf /src/kolabsrc
cp -a /src/kolabsrc.orig /src/kolabsrc
cd /src/kolabsrc
rm -rf vendor/ composer.lock .npm storage/framework
mkdir -p storage/framework/{sessions,views,cache}
php -dmemory_limit=-1 $(command -v composer) install
npm install
find bootstrap/cache/ -type f ! -name ".gitignore" -delete
./artisan key:generate
./artisan storage:link
./artisan clear-compiled
./artisan cache:clear
./artisan horizon:install
if [ ! -f storage/oauth-public.key -o ! -f storage/oauth-private.key ]; then
./artisan passport:keys --force
fi
cat >> .env << EOF
PASSPORT_PRIVATE_KEY="$(cat storage/oauth-private.key)"
PASSPORT_PUBLIC_KEY="$(cat storage/oauth-public.key)"
EOF
if [ ! -f 'resources/countries.php' ]; then
./artisan data:countries
fi
npm run dev
rm -rf database/database.sqlite
./artisan db:ping --wait
php -dmemory_limit=512M ./artisan migrate:refresh --seed
./artisan data:import || :
nohup ./artisan horizon >/dev/null 2>&1 &
./artisan octane:start --host=$(grep OCTANE_HTTP_HOST .env | tail -n1 | sed "s/OCTANE_HTTP_HOST=//")

File Metadata

Mime Type
text/x-diff
Expires
Mon, Aug 25, 5:19 PM (1 d, 6 h)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
257723
Default Alt Text
(4 KB)

Event Timeline