diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml new file mode 100644 index 0000000000..de30908124 --- /dev/null +++ b/.github/workflows/main.yml @@ -0,0 +1,61 @@ +name: Coding Standards + +on: + push: + paths: + - '**.php' + - 'spark' + - '.github/workflows/test-coding-standards.yml' + pull_request: + paths: + - '**.php' + - 'spark' + - '.github/workflows/test-coding-standards.yml' + +concurrency: + group: ${{ github.workflow }}-${{ github.head_ref || github.run_id }} + cancel-in-progress: true + +permissions: + contents: read + +jobs: + lint: + name: PHP ${{ matrix.php-version }} Lint with PHP CS Fixer + runs-on: ubuntu-22.04 + + strategy: + fail-fast: false + matrix: + php-version: + - '7.4' + - '8.0' + + steps: + - name: Checkout + uses: actions/checkout@v4 + + - name: Setup PHP + uses: shivammathur/setup-php@v2 + with: + php-version: ${{ matrix.php-version }} + extensions: tokenizer + coverage: none + + - name: Get composer cache directory + run: echo "COMPOSER_CACHE_FILES_DIR=$(composer config cache-files-dir)" >> $GITHUB_ENV + + - name: Cache dependencies + uses: actions/cache@v3 + with: + path: ${{ env.COMPOSER_CACHE_FILES_DIR }} + key: ${{ runner.os }}-${{ matrix.php-version }}-${{ hashFiles('**/composer.lock') }} + restore-keys: | + ${{ runner.os }}-${{ matrix.php-version }}- + ${{ runner.os }}- + + - name: Install dependencies + run: composer update --ansi --no-interaction + + - name: Run lint on `app/`, `public/` + run: vendor/bin/php-cs-fixer fix --verbose --ansi --dry-run --config=.php-cs-fixer.no-header.php --using-cache=no --diff