diff --git a/.github/workflows/php-coding-standards.yml b/.github/workflows/php-coding-standards-branch.yml similarity index 95% rename from .github/workflows/php-coding-standards.yml rename to .github/workflows/php-coding-standards-branch.yml index 869029a..cd75445 100644 --- a/.github/workflows/php-coding-standards.yml +++ b/.github/workflows/php-coding-standards-branch.yml @@ -3,8 +3,6 @@ name: PHP Coding Standards on: push: branches: [ trunk, develop ] - pull_request: - branches: [ trunk, develop ] jobs: build: diff --git a/.github/workflows/php-coding-standards-pull_request.yml b/.github/workflows/php-coding-standards-pull_request.yml new file mode 100644 index 0000000..b2012a0 --- /dev/null +++ b/.github/workflows/php-coding-standards-pull_request.yml @@ -0,0 +1,49 @@ +name: PHP Coding Standards + +on: pull_request + +jobs: + build: + strategy: + matrix: + php: [ 8.2 ] + + runs-on: ubuntu-latest + + steps: + - uses: actions/checkout@v3 + with: + fetch-depth: 0 + + - name: Setup proper PHP version + uses: shivammathur/setup-php@v2 + with: + php-version: ${{ matrix.php }} + tools: composer + + - name: Validate composer.json and composer.lock + run: composer validate --strict + + - name: Get composer cache directory + id: composer-cache + run: echo "dir=$(composer config cache-files-dir)" >> $GITHUB_OUTPUT + + - name: Cache dependencies + uses: actions/cache@v3 + with: + path: ${{ steps.composer-cache.outputs.dir }} + key: ${{ runner.os }}-composer-${{ hashFiles('**/composer.lock') }} + restore-keys: ${{ runner.os }}-composer- + + - name: Install dependencies + run: composer run-script packages-install + + - name: Get changed files + id: changed-files + uses: tj-actions/changed-files@v35 + + - name: Run PHP_CodeSniffer + run: | + for file in ${{ steps.changed-files.outputs.all_changed_files }}; do + $GITHUB_WORKSPACE/vendor/bin/phpcs --standard=$GITHUB_WORKSPACE/vendor/a8cteam51/team51-configs/quality-tools/phpcs.xml.dist --basepath=$GITHUB_WORKSPACE $file + done