diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..3b056fd --- /dev/null +++ b/Dockerfile @@ -0,0 +1,27 @@ +FROM php:7.4-alpine3.13 + +RUN mkdir /app + +WORKDIR /app + +# Install Git, NPM & needed libraries +RUN apk update \ + && apk add bash git nodejs npm gettext subversion mysql mysql-client zip \ + && rm -f /var/cache/apk/* + +RUN docker-php-ext-install mysqli + +# Install Composer +RUN EXPECTED_CHECKSUM=$(curl -s https://composer.github.io/installer.sig) \ + && curl https://getcomposer.org/installer -o composer-setup.php \ + && ACTUAL_CHECKSUM="$(php -r "echo hash_file('sha384', 'composer-setup.php');")" \ + && if [ "$EXPECTED_CHECKSUM" != "$ACTUAL_CHECKSUM" ]; then >&2 echo 'ERROR: Invalid installer checksum'; rm composer-setup.php; exit 1; fi \ + && php composer-setup.php --quiet \ + && php -r "unlink('composer-setup.php');" \ + && mv composer.phar /usr/local/bin/composer + +RUN curl -O https://raw.githubusercontent.com/wp-cli/builds/gh-pages/phar/wp-cli.phar && \ + chmod +x wp-cli.phar && \ + mv wp-cli.phar /usr/local/bin/wp + +RUN chmod +x -R ./ diff --git a/composer.json b/composer.json index 522d8da..cdb5a32 100644 --- a/composer.json +++ b/composer.json @@ -32,10 +32,10 @@ "installer-name": "activitypub" }, "scripts": { - "test": [ - "composer install", - "bin/install-wp-tests.sh wordpress wordpress wordpress", - "vendor/bin/phpunit" - ] + "test": [ + "composer install", + "bin/install-wp-tests.sh activitypub-test root activitypub-test test-db latest true", + "vendor/bin/phpunit" + ] } } diff --git a/docker-compose-test.yml b/docker-compose-test.yml new file mode 100644 index 0000000..a293823 --- /dev/null +++ b/docker-compose-test.yml @@ -0,0 +1,17 @@ +version: '2' +services: + test-db: + image: mysql:5.7 + environment: + MYSQL_DATABASE: activitypub-test + MYSQL_ROOT_PASSWORD: activitypub-test + + test-php: + build: + context: . + dockerfile: Dockerfile + links: + - test-db + volumes: + - .:/app + command: ["composer", "run-script", "test"] diff --git a/phpunit.xml.dist b/phpunit.xml.dist index 44f0fdb..d51b296 100644 --- a/phpunit.xml.dist +++ b/phpunit.xml.dist @@ -7,7 +7,7 @@ convertWarningsToExceptions="true" > - + ./tests/