diff --git a/.github/workflows/run-tests.yml b/.github/workflows/run-tests.yml new file mode 100644 index 00000000..bbc1690a --- /dev/null +++ b/.github/workflows/run-tests.yml @@ -0,0 +1,19 @@ +name: Run 2.0.x PHPUnit tests +on: + push: + branches: + - '2.0.x' + +jobs: + build: + name: Run PHPUnit tests + runs-on: ubuntu-latest + steps: + - name: Create docker-compose.yml + run: curl https://raw.githubusercontent.com/mstenta/farmOS/2.0.x/docker/docker-compose.development.yml -o docker-compose.yml + - name: Start containers + run: sudo docker-compose up -d + - name: Wait 10 seconds + run: sleep 10 + - name: Run tests + run: sudo docker exec -i -u www-data farmos_www_1 vendor/bin/phpunit --verbose --debug --group farm diff --git a/docker/dev/Dockerfile b/docker/dev/Dockerfile index bbf33c8e..d3a62852 100644 --- a/docker/dev/Dockerfile +++ b/docker/dev/Dockerfile @@ -19,6 +19,16 @@ USER www-data # Generate an empty project from farmos/project. RUN composer create-project --stability=dev farmos/project . +# Configure PHPUnit. +RUN cp web/core/phpunit.xml.dist phpunit.xml \ + && sed -i 's|bootstrap="tests/bootstrap.php"|bootstrap="web/core/tests/bootstrap.php"|g' phpunit.xml \ + && sed -i 's|name="SIMPLETEST_BASE_URL" value=""|name="SIMPLETEST_BASE_URL" value="http://localhost"|g' phpunit.xml \ + && sed -i 's|name="SIMPLETEST_DB" value=""|name="SIMPLETEST_DB" value="pgsql://farm:farm@db/farm"|g' phpunit.xml \ + && sed -i 's|name="BROWSERTEST_OUTPUT_DIRECTORY" value=""|name="BROWSERTEST_OUTPUT_DIRECTORY" value="/var/www/html/web/sites/simpletest/browser_output"|g' phpunit.xml \ + && sed -i 's|\./|\./web/core/|g' phpunit.xml \ + && sed -i 's|\.\./web/core/|\./web/|g' phpunit.xml \ + && mkdir -p /var/www/farmOS/web/sites/simpletest/browser_output + # Switch back to the /var/www/html directory as the root user. WORKDIR /var/www/html USER root diff --git a/tests/src/Functional/FarmTest.php b/tests/src/Functional/FarmTest.php new file mode 100644 index 00000000..35cdfc9b --- /dev/null +++ b/tests/src/Functional/FarmTest.php @@ -0,0 +1,28 @@ +assertSame($this->profile, $this->container->getParameter('install_profile')); + } + +}