# https://help.github.com/en/categories/automating-your-workflow-with-github-actions name: "CI" on: pull_request: push: branches: - "main" - "master" env: COMPOSER_ROOT_VERSION: "1.99.99" APP_KEY: ${{ secrets.OVH_TESTS_APP_KEY }} APP_SECRET: ${{ secrets.OVH_TESTS_APP_SECRET }} CONSUMER: ${{ secrets.OVH_TESTS_CONSUMER_KEY }} ENDPOINT: ${{ secrets.OVH_TESTS_ENDPOINT }} jobs: lint: name: "Lint" runs-on: "ubuntu-latest" strategy: fail-fast: false matrix: php-version: [ '7.4', '8.0', '8.1', '8.2' ] steps: - uses: "actions/checkout@v2" - uses: "shivammathur/setup-php@v2" with: php-version: "${{ matrix.php-version }}" coverage: "none" ini-values: "memory_limit=-1, zend.assertions=1, error_reporting=-1, display_errors=On" tools: "composer:v2" - uses: "ramsey/composer-install@v2" - name: "Lint the PHP source code" run: "composer parallel-lint" coding-standards: name: "Coding Standards" runs-on: "ubuntu-latest" steps: - uses: "actions/checkout@v2" - uses: "shivammathur/setup-php@v2" with: php-version: "latest" coverage: "none" ini-values: "memory_limit=-1" tools: "composer:v2" - uses: "ramsey/composer-install@v2" - name: "Check coding standards" run: "composer phpcs" coverage: name: "Coverage" runs-on: "ubuntu-latest" steps: - uses: "actions/checkout@v2" - uses: "shivammathur/setup-php@v2" with: php-version: "latest" coverage: "pcov" ini-values: "memory_limit=-1, zend.assertions=1, error_reporting=-1, display_errors=On" tools: "composer" - name: "Prepare for tests" run: "mkdir -p build/logs" - uses: "ramsey/composer-install@v2" - name: "Run unit tests" run: "composer phpunit" - name: "Publish coverage report to Codecov" uses: "codecov/codecov-action@v2" with: files: ./build/logs/clover.xml unit-tests: needs: coverage name: "Unit Tests" runs-on: "ubuntu-latest" strategy: max-parallel: 1 fail-fast: false matrix: php-version: [ '7.4', '8.0', '8.1', '8.2' ] steps: - uses: "actions/checkout@v2" - uses: "shivammathur/setup-php@v2" with: php-version: "${{ matrix.php-version }}" coverage: "none" ini-values: "memory_limit=-1, zend.assertions=1, error_reporting=-1, display_errors=On" tools: "composer" - name: "Prepare for tests" run: "mkdir -p build/logs" - uses: "ramsey/composer-install@v2" - name: "Run unit tests" run: "composer phpunit"