1
0
Fork 0
mirror of https://codeberg.org/icewind/haze.git synced 2026-06-03 17:14:08 +02:00
This commit is contained in:
Robin Appelman 2021-03-14 15:20:53 +01:00
commit a30d1c9d64
5 changed files with 0 additions and 273 deletions

View file

@ -1,23 +0,0 @@
#!/bin/bash
SQL=sqlite
PHP_VERSION=7
EXTRA_ARG=""
WORKDIR="/tmp/oc-docker"
echo "Starting servers"
CONTAINERS=`ncserver $SQL $PHP_VERSION $EXTRA_ARG | tail -2 | head -1`
IFS=',' read -a CONTAINERS <<< "$CONTAINERS"
echo "Composer install"
docker exec ${CONTAINERS[0]} composer install
docker exec ${CONTAINERS[0]} composer run $@
docker exec ${CONTAINERS[0]} git clean -fd lib/composer > /dev/null
docker exec ${CONTAINERS[0]} git checkout lib/composer > /dev/null
docker rm -f ${CONTAINERS[0]}
sudo rm -rf $WORKDIR/${CONTAINERS[0]}

View file

@ -1,24 +0,0 @@
#!/bin/bash
SQL=sqlite
PHP_VERSION=7
EXTRA_ARG=""
WORKDIR="/tmp/oc-docker"
echo "Starting servers"
CONTAINERS=`ncserver $SQL $PHP_VERSION $EXTRA_ARG | tail -2 | head -1`
IFS=',' read -a CONTAINERS <<< "$CONTAINERS"
echo "Composer install"
docker exec ${CONTAINERS[0]} composer install
echo "Format"
docker exec ${CONTAINERS[0]} composer run cs:fix $@
docker exec ${CONTAINERS[0]} git clean -fd lib/composer
docker exec ${CONTAINERS[0]} git checkout lib/composer
docker rm -f ${CONTAINERS[0]}
sudo rm -rf $WORKDIR/${CONTAINERS[0]}

View file

@ -1,32 +0,0 @@
#!/bin/bash
SQL=$1
PHP_VERSION=$2
shift
shift
echo "Starting servers"
CONTAINERS=`ncserver $SQL $PHP_VERSION | tail -2 | head -1`
IFS=',' read -a CONTAINERS <<< "$CONTAINERS"
echo "Waiting for things to settle"
if [ "$SQL" = "" ] || [ "$SQL" = "sqlite" ]; then
sleep 2 # less servers to wait for
elif [ "$SQL" = "oci" ]; then
sleep 30 # oracle is always a bit lazy
else
sleep 15
fi
echo "Installing"
docker exec ${CONTAINERS[0]} install admin admin
echo "Starting tests"
docker exec -t ${CONTAINERS[0]} integration $@
echo "Cleaning up"
docker kill ${CONTAINERS[0]} ${CONTAINERS[1]}
docker rm ${CONTAINERS[0]} ${CONTAINERS[1]}

View file

@ -1,132 +0,0 @@
#!/bin/bash
OC_SOURCE="/srv/http/owncloud"
WORKDIR="/tmp/oc-docker"
HOST_IP=$(ip -4 route get 8.8.8.8 | awk {'print $7'} | tr -d '\n')
DIR="$( cd "$( dirname $( dirname $( realpath "${BASH_SOURCE[0]}" ) ) )" && pwd )"
if [ -f "$DIR/.env" ]; then
export $(cat "$DIR/.env" | grep -v ^# | xargs)
fi
SQL=$1
PORT=`python -c 'import socket; s=socket.socket(); s.bind(("", 0)); print(s.getsockname()[1]); s.close()'`
NAME="oc-$PORT";
SQL_PASS=`< /dev/urandom tr -dc _A-Z-a-z-0-9 | head -c32;echo;`
mkdir -p "$WORKDIR/$NAME/data"
mkdir -p "$WORKDIR/$NAME/config"
mkdir -p "$WORKDIR/$NAME/data-autotest"
mkdir -p "$WORKDIR/$NAME/skeleton"
mkdir -p "$WORKDIR/$NAME/integration"
mkdir -p "$WORKDIR/$NAME/integration/output"
mkdir -p "$WORKDIR/$NAME/integration/work"
mkdir -p "$WORKDIR/$NAME/integration/vendor"
mkdir -p "$WORKDIR/$NAME/spreed/integration/vendor"
touch "$WORKDIR/$NAME/integration/composer.lock"
touch "$WORKDIR/$NAME/config/CAN_INSTALL"
touch "$WORKDIR/$NAME/phpunit-cache"
mkdir -p "$WORKDIR/composer/cache"
PHP_VERSION=$2
PHP_VERSION=${PHP_VERSION:-5}
if [ "$PHP_VERSION" != "5" ] && [ "$PHP_VERSION" != "7" ]; then
echo "invalid php version"
exit
fi;
# remove sql and php version from args
shift
shift
LINK=""
EXTRA_ENV="-e XDEBUG_CONFIG=client_host=$HOST_IP -e PHP_IDE_CONFIG=serverName=docker"
EXTRA_CONTAINERS=""
LINK_BLACKFIRE=""
for arg in "$@"
do
if [ "$arg" = "s3" ]; then
docker run -d --name "$NAME-s3" -e DEBUG=1 -e SERVICES=s3:4569 localstack/localstack:0.10.9
LINK="$LINK --link $NAME-s3:s3"
EXTRA_CONTAINERS="$EXTRA_CONTAINERS,$NAME-s3"
EXTRA_ENV="$EXTRA_ENV -e S3=1"
sleep 1
fi
if [ "$arg" = "swift" ] || [ "$arg" = "swiftv2" ]; then
docker run --name "$NAME-swift" -d icewind1991/dockswift:nextcloud-ci
LINK="$LINK --link $NAME-swift:swift --link $NAME-swift:keystone --link $NAME-swift:dockswift"
EXTRA_CONTAINERS="$EXTRA_CONTAINERS,$NAME-swift"
EXTRA_ENV="$EXTRA_ENV -e SWIFT=1"
fi
if [ "$arg" = "swiftv3" ]; then
docker run --name "$NAME-swift" -d icewind1991/dockswift:nextcloud-ci
LINK="$LINK --link $NAME-swift:swift --link $NAME-swift:keystone --link $NAME-swift:dockswift"
EXTRA_CONTAINERS="$EXTRA_CONTAINERS,$NAME-swift"
EXTRA_ENV="$EXTRA_ENV -e SWIFTV3=1"
fi
if [ "$arg" = "azure" ]; then
docker run --name "$NAME-azure" -d arafato/azurite
LINK="$LINK --link $NAME-azure:azure"
EXTRA_CONTAINERS="$EXTRA_CONTAINERS,$NAME-azure"
EXTRA_ENV="$EXTRA_ENV -e AZURE=1"
fi
if [ "$arg" = "blackfire" ]; then
BLACKFIRE_RUNNING=$(docker inspect --format="{{ .State.Running }}" blackfire 2> /dev/null)
BLACKFIRE_EXIT_CODE=$?
if [ -z "$BLACKFIRE_SERVER_TOKEN" ] && [ $BLACKFIRE_EXIT_CODE -eq 1 ]; then # we either need the blackfire config or already have an existing container
echo "Set \$BLACKFIRE_SERVER_TOKEN and \$BLACKFIRE_SERVER_ID to enable blackfire integration (https://blackfire.io/docs/integrations/docker)"
else
# ensure blackfire agent is running
if [ $BLACKFIRE_EXIT_CODE -eq 1 ]; then
docker run --name="blackfire" -d -e BLACKFIRE_SERVER_ID=$BLACKFIRE_SERVER_ID -e BLACKFIRE_SERVER_TOKEN=$BLACKFIRE_SERVER_TOKEN blackfire/blackfire
elif [ "$BLACKFIRE_RUNNING" == "false" ]; then
docker start blackfire
fi;
sleep 5
BLACKFIRE_RUNNING=$(docker inspect --format="{{ .State.Running }}" blackfire 2> /dev/null)
if [ "$BLACKFIRE_RUNNING" == "true" ]; then
LINK="$LINK --link blackfire:blackfire"
fi;
fi;
fi
if [ "$arg" = "ldap" ]; then
ADMIN_PORT=$((PORT + 1))
docker run --name $NAME-ldap -e LDAP_ADMIN_PASSWORD="admin" -v $DIR/configs/ldap:/container/service/slapd/assets/config/bootstrap/ldif/custom -d osixia/openldap:1.4.0 --copy-service
docker run --name $NAME-ldapadmin --link $NAME-ldap:ldap -p $ADMIN_PORT:443 -e PHPLDAPADMIN_LDAP_HOSTS=ldap -d osixia/phpldapadmin:0.9.0
LINK="$LINK --link $NAME-ldap:ldap"
EXTRA_CONTAINERS="$EXTRA_CONTAINERS,$NAME-ldap,$NAME-ldapadmin"
EXTRA_ENV="$EXTRA_ENV -e LDAP=1"
echo "ldapadmin: https://localhost:${ADMIN_PORT}/"
fi
done
WEBROOT="/var/www/html"
DATAROOT="$WORKDIR/$NAME"
VOLUMES="-v $OC_SOURCE:$WEBROOT -v $DATAROOT/data:$WEBROOT/data -v $DATAROOT/config:$WEBROOT/config -v $DATAROOT/data-autotest:$WEBROOT/data-autotest -v $DATAROOT/skeleton:$WEBROOT/core/skeleton/ -v $OC_SOURCE/core/skeleton/welcome.txt:$WEBROOT/core/skeleton/welcome.txt:ro -v $DATAROOT/integration/vendor:$WEBROOT/build/integration/vendor -v $DATAROOT/integration/work:$WEBROOT/build/integration/work -v $DATAROOT/integration/output:$WEBROOT/build/integration/output -v $DATAROOT/integration/composer.lock:$WEBROOT/build/integration/composer.lock -v $WORKDIR/composer/cache:/var/www/.composer/cache -v $DATAROOT/phpunit-cache:$WEBROOT/tests/.phpunit.result.cache -v $WORKDIR/$NAME/spreed/integration/vendor:/var/www/html/apps/spreed/tests/integration/vendor"
DOCKER_IMAGE="icewind1991/nextcloud-dev:$PHP_VERSION"
#DOCKER_IMAGE="nc"
VOLUMES="$VOLUMES -v /home/robin/Pictures:/Pictures"
if [ "$SQL" = "mysql" ]; then
docker run --name "$NAME-mysql" -e MYSQL_ROOT_PASSWORD=$SQL_PASS -e MYSQL_PASSWORD=owncloud -e MYSQL_USER=owncloud -e MYSQL_DATABASE=owncloud -d mariadb:10
docker run --name $NAME -d -p $PORT:80 --link "$NAME-mysql:mysql" $LINK $EXTRA_ENV -e SQL=mysql $VOLUMES $DOCKER_IMAGE
echo "$NAME,$NAME-mysql$EXTRA_CONTAINERS"
elif [ "$SQL" = "pgsql" ]; then
docker run --name "$NAME-pgsql" -e POSTGRES_PASSWORD=owncloud -e POSTGRES_USER=owncloud -e POSTGRES_DATABASE=owncloud -d postgres:latest
docker run --name $NAME -d -p $PORT:80 --link "$NAME-pgsql:pgsql" $LINK $EXTRA_ENV -e SQL=pgsql $VOLUMES $DOCKER_IMAGE
echo "$NAME,$NAME-pgsql$EXTRA_CONTAINERSl"
elif [ "$SQL" = "oci" ]; then
docker run --name "$NAME-oci" -d wnameless/oracle-xe-11g
docker run --name $NAME -d -p $PORT:80 --link "$NAME-oci:oci" $LINK $EXTRA_ENV -e SQL=oci $VOLUMES $DOCKER_IMAGE
echo "$NAME,$NAME-oci$EXTRA_CONTAINERS"
else
docker run --name $NAME -d -p $PORT:80 $LINK $EXTRA_ENV -e SQL=sqlite $VOLUMES $DOCKER_IMAGE
echo "$NAME$EXTRA_CONTAINERS"
fi
echo "Running on http://localhost:$PORT"

View file

@ -1,62 +0,0 @@
#!/bin/bash
SQL=$1
PHP_VERSION=$2
EXTRA=$3
EXTRA_ARG=""
WORKDIR="/tmp/oc-docker"
shift
shift
if [ "$EXTRA" = "s3" ] || [ "$EXTRA" = "swift" ] || [ "$EXTRA" = "swiftv2" ] || [ "$EXTRA" = "swiftv3" ] || [ "$EXTRA" = "azure" ]; then
shift
EXTRA_ARG=$EXTRA
fi
echo "Starting servers"
CONTAINERS=`ncserver $SQL $PHP_VERSION $EXTRA_ARG | tail -2 | head -1`
if [ -n "$EXTRA_ARG" ]; then
sleep 3;
fi
IFS=',' read -a CONTAINERS <<< "$CONTAINERS"
echo "Waiting for things to settle"
if [ "$SQL" = "" ] || [ "$SQL" = "sqlite" ]; then
sleep 2 # less servers to wait for
elif [ "$SQL" = "oci" ]; then
sleep 30 # oracle is always a bit lazy
else
sleep 15
fi
TEST_PATH=$1
if [[ "$TEST_PATH" =~ apps/([a-zA-Z_0-9]+)/? ]]; then
APP=${BASH_REMATCH[1]};
else
APP=""
fi
echo "Starting tests"
docker exec ${CONTAINERS[0]} install admin admin
if [[ "$TEST_PATH" =~ apps/files_([a-zA-Z_0-9]+)/ ]]; then
echo "Enabling app files_external"
docker exec ${CONTAINERS[0]} occ app:enable files_external --force
fi
if [ -n "$APP" ]; then
echo "Enabling app $APP"
docker exec ${CONTAINERS[0]} occ app:enable $APP --force
fi
docker exec ${CONTAINERS[0]} tests $@
echo "Cleaning up"
docker kill ${CONTAINERS[0]} ${CONTAINERS[1]}
docker rm ${CONTAINERS[0]} ${CONTAINERS[1]}
sudo rm -rf $WORKDIR/${CONTAINERS[0]}