diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 146e6518..8487efc3 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -22,7 +22,6 @@ jobs: matrix: php-versions: ['7.4', '8.0', '8.1', '8.2', '8.3'] - # TODO use cache steps: - uses: actions/checkout@v3 @@ -42,6 +41,21 @@ jobs: - name: docker-compose up run: make up + # https://github.com/shivammathur/setup-php?tab=readme-ov-file#cache-composer-dependencies + - name: Get composer cache directory + id: composer-cache + run: echo "dir=./tests/tmp/.composer/cache/files" >> $GITHUB_OUTPUT + + - name: Make tests dir writable for restoring cache in next step + run: make tests_dir_write_permission + + - name: Cache dependencies + uses: actions/cache@v4 + with: + path: ${{ steps.composer-cache.outputs.dir }} + key: ${{ runner.os }}-composer-${{ hashFiles('composer.json') }} + restore-keys: ${{ runner.os }}-composer- + - name: Install Docker and composer dependencies run: docker-compose exec php php -v && make installdocker diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index e1a62b7d..a5e4abe8 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -10,7 +10,7 @@ cd yii2-openapi make clean_all make up make installdocker -sudo chmod -R 777 tests/tmp/ # https://github.com/cebe/yii2-openapi/issues/156 +sudo chmod -R 777 tests/tmp/ # TODO avoid 777 https://github.com/cebe/yii2-openapi/issues/156 make migrate # to check everything is setup up correctly ensure all tests passes diff --git a/Makefile b/Makefile index 6d1a22dc..d35506d7 100644 --- a/Makefile +++ b/Makefile @@ -57,6 +57,9 @@ migrate: installdocker: docker-compose run --user=$(UID) --rm php composer install && chmod +x tests/yii +tests_dir_write_permission: + docker-compose run --user="root" --rm php chmod -R 777 tests/tmp/ # TODO avoid 777 https://github.com/cebe/yii2-openapi/issues/156 + testdocker: docker-compose run --user=$(UID) --rm php sh -c 'vendor/bin/phpunit --repeat 3' diff --git a/docker-compose.yml b/docker-compose.yml index 9b71bf9e..08d61292 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -45,7 +45,7 @@ services: ports: - '23306:3306' volumes: - - ./tests/tmp/maria:/var/lib/mysql:rw + - ./tests/tmp/mariadb:/var/lib/mariadb:rw environment: # TZ: UTC # MARIADB_ALLOW_EMPTY_PASSWORD: 1