diff --git a/.github/workflows/docker.yaml b/.github/workflows/docker.yaml new file mode 100644 index 0000000..225e5c1 --- /dev/null +++ b/.github/workflows/docker.yaml @@ -0,0 +1,14 @@ +name: Test in Docker + +on: push + +jobs: + test: + runs-on: ubuntu-latest + steps: + - name: ๐Ÿšš Checkout Repo + uses: actions/checkout@v2 + - name: ๐Ÿณ Build Container + run: docker-compose build + - name: ๐Ÿงช Test in Docker + run: docker-compose up diff --git a/.gitignore b/.gitignore index 75f1bd1..e9e407b 100644 --- a/.gitignore +++ b/.gitignore @@ -3,3 +3,4 @@ vendor/ composer.lock coverage/ .phpunit.result.cache +.cache/ \ No newline at end of file diff --git a/README.md b/README.md index 9e83fd3..44fb512 100644 --- a/README.md +++ b/README.md @@ -165,6 +165,15 @@ $architecture = (new Architecture) ->addComposerBasedComponent('packages/subpackage/composer.json'); ``` +## Development Environment + +Unit tests can be run using docker: + +```bash +docker-compose build +docker-compose up +``` + ## Examples - [PHPArch tests its own architecture](./tests/ArchitectureTest.php) diff --git a/docker-compose.yml b/docker-compose.yml new file mode 100644 index 0000000..a420b7a --- /dev/null +++ b/docker-compose.yml @@ -0,0 +1,9 @@ +version: '2' + +services: + php: + build: ./ + working_dir: /phparch + command: bash -c "composer install && ./vendor/bin/phpunit -vvv" + volumes: + - ./:/phparch \ No newline at end of file diff --git a/dockerfile b/dockerfile new file mode 100644 index 0000000..cdd44e9 --- /dev/null +++ b/dockerfile @@ -0,0 +1,4 @@ +FROM php:7.4-cli +RUN apt-get update +RUN apt-get install -y git zip +COPY --from=composer /usr/bin/composer /usr/bin/composer \ No newline at end of file