Page Menu
Home
Phorge
Search
Configure Global Search
Log In
Files
F1841837
No One
Temporary
Actions
View File
Edit File
Delete File
View Transforms
Subscribe
Mute Notifications
Award Token
Flag For Later
Size
4 KB
Referenced Files
None
Subscribers
None
View Options
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
Details
Attached
Mime Type
text/x-diff
Expires
Mon, Aug 25, 5:19 PM (1 d, 51 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
257723
Default Alt Text
(4 KB)
Attached To
Mode
R2 kolab
Attached
Detach File
Event Timeline
Log In to Comment