ci(Docker): performing tests on custom Docker image #78
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: Continuous Integration | |
on: | |
push: | |
branches: [ "main" ] | |
pull_request: | |
branches: [ "main" ] | |
permissions: | |
contents: read | |
jobs: | |
testsuite: | |
name: Testsuite | |
runs-on: ubuntu-latest | |
env: | |
ENV: DEVELOPMENT | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Build the Docker image | |
run: docker build --file Dockerfile --target build-development --tag dockerized-php:dev . | |
- name: Validate composer.json and composer.lock | |
run: docker run --rm --interactive --mount type=bind,source="$(pwd)"/src,target=/var/www/html dockerized-php:dev composer validate --ansi --working-dir=. --strict | |
- name: Install PHP dependencies | |
run: docker run --rm --interactive --mount type=bind,source="$(pwd)"/src,target=/var/www/html dockerized-php:dev composer install --ansi --working-dir=. --no-interaction --no-progress | |
- name: Check Syntax | |
run: docker run --rm --interactive --mount type=bind,source="$(pwd)"/src,target=/var/www/html dockerized-php:dev composer check-syntax --ansi | |
- name: Check Style | |
run: docker run --rm --interactive --mount type=bind,source="$(pwd)"/src,target=/var/www/html dockerized-php:dev composer check-style --ansi | |
- name: Check PHPStan | |
run: docker run --rm --interactive --mount type=bind,source="$(pwd)"/src,target=/var/www/html dockerized-php:dev composer phpstan --ansi | |
- name: Check PHPUnit | |
run: docker run --rm --interactive --mount type=bind,source="$(pwd)"/src,target=/var/www/html dockerized-php:dev composer tests --ansi |