1name: PHP Composer 2 3on: 4 push: 5 branches: [ "main" ] 6 pull_request: 7 branches: [ "main" ] 8 9permissions: 10 contents: read 11 12jobs: 13 build: 14 15 runs-on: ubuntu-latest 16 17 steps: 18 - uses: actions/checkout@v3 19 20 - name: Validate composer.json and composer.lock 21 run: composer validate --strict 22 23 - name: Cache Composer packages 24 id: composer-cache 25 uses: actions/cache@v3 26 with: 27 path: vendor 28 key: ${{ runner.os }}-php-${{ hashFiles('**/composer.lock') }} 29 restore-keys: | 30 ${{ runner.os }}-php- 31 32 - name: Install dependencies 33 run: composer install --prefer-dist --no-progress 34 35 # Add a test script to composer.json, for instance: "test": "vendor/bin/phpunit" 36 # Docs: https://getcomposer.org/doc/articles/scripts.md 37 38 - name: Run test suite 39 run: composer run-script tests 40