tests #2208
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: tests | |
on: | |
push: | |
pull_request: | |
schedule: | |
- cron: '40 6 * * *' | |
jobs: | |
testsuite: | |
name: all tests | |
runs-on: ubuntu-20.04 | |
# strategy: | |
# matrix: | |
# php: [ '7.4', '8.0' ] | |
# minMax: [ 'composerInstallMin', 'composerInstallMax' ] | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v2 | |
- name: Add local env vars | |
run: echo "USER_ID=$(id -u)" >> .env; echo "GROUP_ID=$(id -g)" >> .env; echo "HOST_PWD=$(pwd)" >> .env; cat .env | |
- name: Copy docker compose file for CI | |
run: cp .project/docker/docker-compose.ci.yaml docker-compose.yaml | |
- name: Docker Compose | |
run: docker compose up -d | |
- name: Show me what's up | |
run: docker compose ps | |
- name: Show me what's defined | |
run: printenv | |
- name: Show me what's defined inside | |
run: docker compose exec local-php printenv | |
- name: Show me what's there | |
run: ls -la | |
- name: Show me what's docker | |
run: ls -la /var/run/docker.sock | |
- name: Composer Local | |
run: docker exec -u$(id -u) in2publish_core-local-php-1 composer install | |
- name: Composer Foreign | |
run: docker exec -u$(id -u) in2publish_core-foreign-php-1 composer install | |
- name: Wait for Database | |
run: while ! docker compose exec -T mysql mysql -uroot -proot local -e "SELECT 1;" &> /dev/null; do echo "Waiting for database ..."; sleep 3; done; | |
- name: TYPO3 Setup Local | |
run: docker exec -u$(id -u) in2publish_core-local-php-1 vendor/bin/typo3 install:setup --force | |
- name: TYPO3 Setup Foreign | |
run: docker exec -u$(id -u) in2publish_core-foreign-php-1 vendor/bin/typo3 install:setup --force | |
- name: Restore site configurations after setup | |
run: git checkout Build/local/config/sites/main/config.yaml && git checkout Build/foreign/config/sites/main/config.yaml | |
- name: Restore DB Local | |
run: docker exec -u$(id -u) in2publish_core-local-php-1 vendor/bin/mysql-loader import -Hmysql -uroot -proot -Dlocal -f/.project/data/dumps/local/ | |
- name: Restore DB Foreign | |
run: docker exec -u$(id -u) in2publish_core-local-php-1 vendor/bin/mysql-loader import -Hmysql -uroot -proot -Dforeign -f/.project/data/dumps/foreign/ | |
- name: Show me what's up 2 | |
run: docker compose ps | |
- name: Unit Tests | |
run: docker exec -u$(id -u) in2publish_core-local-php-1 vendor/bin/phpunit -c /app/phpunit.unit.xml --testdox | |
if: always() | |
- name: Functional Tests | |
run: docker exec -u$(id -u) in2publish_core-local-php-1 vendor/bin/phpunit -c /app/phpunit.functional.xml --testdox | |
if: always() | |
- name: Acceptance Tests | |
run: docker exec -u$(id -u) in2publish_core-local-php-1 vendor/bin/phpunit -c /app/phpunit.browser.xml --testdox | |
if: always() | |
- name: Show me what's up 3 | |
run: docker compose ps | |
if: always() | |
- name: Show me what's logged | |
run: docker compose logs | |
if: always() | |
- name: Shut down to finish video recording | |
run: docker compose down | |
if: always() | |
- name: Upload test artifacts | |
uses: actions/upload-artifact@v3 | |
if: always() | |
with: | |
name: test-artifacts | |
path: | | |
.project/artifacts | |
# - name: Composer validate | |
# run: Build/Scripts/runTests.sh -p ${{ matrix.php }} -s composerValidate | |
# - name: Lint PHP | |
# run: Build/Scripts/runTests.sh -p ${{ matrix.php }} -s lint | |
# - name: Unit tests | |
# run: Build/Scripts/runTests.sh -p ${{ matrix.php }} -s unit | |
# - name: Functional tests with mariadb | |
# run: Build/Scripts/runTests.sh -p ${{ matrix.php }} -d mariadb -s functional | |
# - name: Functional tests with mssql | |
# run: Build/Scripts/runTests.sh -p ${{ matrix.php }} -d mssql -s functional | |
# - name: Functional tests with postgres | |
# run: Build/Scripts/runTests.sh -p ${{ matrix.php }} -d postgres -s functional | |
# - name: Functional tests with sqlite | |
# run: Build/Scripts/runTests.sh -p ${{ matrix.php }} -d sqlite -s functional |