PHP Classes

File: .github/workflows/ci.yml

Recommend this page to a friend!
  Classes of Sergii Pryz   Transfer Object   .github/workflows/ci.yml   Download  
File: .github/workflows/ci.yml
Role: Auxiliary data
Content type: text/plain
Description: Auxiliary data
Class: Transfer Object
Generate transfer objects using property hooks
Author: By
Last change: Moved permissions to specific gitworkflow jobs
Added CI permissions
Date: 6 days ago
Size: 3,805 bytes
 

Contents

Class file image Download
name: CI on: push: branches: - main pull_request: branches: - development - main jobs: setup: name: Project Setup runs-on: ubuntu-latest permissions: contents: read actions: read steps: - name: Checkout uses: actions/checkout@v4 - name: Install PHP uses: shivammathur/setup-php@v2 with: php-version: '8.4' coverage: none - name: Cache vendor directory id: cache-vendor uses: actions/cache@v4 with: path: ./vendor key: ${{ runner.os }}-composer-${{ hashFiles('**/composer.lock') }} restore-keys: | ${{ runner.os }}-composer- - name: Install dependencies (if needed) run: composer install --no-ansi --no-interaction --no-progress if: steps.cache-vendor.outputs.cache-hit != 'true' - name: Validate composer.json run: composer validate --no-ansi --strict composer.json phpstan: name: PHPStan needs: setup runs-on: ubuntu-latest permissions: contents: read actions: read steps: - name: Checkout uses: actions/checkout@v4 - name: Install PHP uses: shivammathur/setup-php@v2 with: php-version: '8.4' coverage: none - name: Cache vendor directory id: cache-vendor uses: actions/cache@v4 with: path: ./vendor key: ${{ runner.os }}-composer-${{ hashFiles('**/composer.lock') }} restore-keys: | ${{ runner.os }}-composer- - name: Install dependencies (if needed) run: composer install --no-ansi --no-interaction --no-progress if: steps.cache-vendor.outputs.cache-hit != 'true' - name: Run PHPStan run: composer phpstan phpcs: name: PHP CodeSniffer needs: setup runs-on: ubuntu-latest permissions: contents: read actions: read steps: - name: Checkout uses: actions/checkout@v4 - name: Install PHP uses: shivammathur/setup-php@v2 with: php-version: '8.4' coverage: none - name: Cache vendor directory id: cache-vendor uses: actions/cache@v4 with: path: ./vendor key: ${{ runner.os }}-composer-${{ hashFiles('**/composer.lock') }} restore-keys: | ${{ runner.os }}-composer- - name: Install dependencies (if needed) run: composer install --no-ansi --no-interaction --no-progress if: steps.cache-vendor.outputs.cache-hit != 'true' - name: Run PHP CodeSniffer run: composer phpcs phpunit: name: PHPUnit Tests needs: setup runs-on: ubuntu-latest permissions: contents: read actions: read steps: - name: Checkout uses: actions/checkout@v4 - name: Install PHP uses: shivammathur/setup-php@v2 with: php-version: '8.4' coverage: none - name: Cache vendor directory id: cache-vendor uses: actions/cache@v4 with: path: ./vendor key: ${{ runner.os }}-composer-${{ hashFiles('**/composer.lock') }} restore-keys: | ${{ runner.os }}-composer- - name: Install dependencies (if needed) run: composer install --no-ansi --no-interaction --no-progress if: steps.cache-vendor.outputs.cache-hit != 'true' - name: Generate Transfer Objects env: PROJECT_ROOT: ${{ github.workspace }} run: composer generate-transfer -- -c ${PROJECT_ROOT}/config/generator.config.yml - name: Run PHPUnit env: PROJECT_ROOT: ${{ github.workspace }} run: composer phpunit