Merge pull request #18 from php-openapi/17-use-cache-in-tests-in-gith… #224
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: yii2-openapi | |
on: | |
push: | |
branches: [ master ] | |
pull_request: | |
branches: [ master ] | |
paths-ignore: | |
- 'docs/**' | |
- '*.md' | |
jobs: | |
test: | |
if: "!contains(github.event.head_commit.message, 'skip ci') && !contains(github.event.head_commit.message, 'ci skip')" | |
name: yii2-openapi (PHP ${{ matrix.php-versions }}) | |
runs-on: ubuntu-latest | |
env: | |
DB_USERNAME: dbuser | |
DB_PASSWORD: dbpass | |
DB_CHARSET: utf8 | |
strategy: | |
fail-fast: false | |
matrix: | |
php-versions: ['7.4', '8.0', '8.1', '8.2', '8.3'] | |
steps: | |
- uses: actions/checkout@v3 | |
- name: Set PHP Version | |
run: echo "PHP_VERSION=${{ matrix.php-versions }}" > .env | |
# Run every tests inside Docker container | |
- name: Docker Compose Setup | |
uses: ndeloof/[email protected] | |
with: | |
# version: v3.5 # defaults to 'latest' | |
legacy: true # will also install in PATH as `docker-compose` | |
- name: Clean | |
run: make clean_all | |
- 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 | |
- name: Migrate | |
run: make UID=0 migrate | |
- name: Check style | |
if: "!contains(matrix.php-versions, '8.')" | |
run: make check-style-from-host | |
- name: Run tests | |
run: make UID=0 testdocker |