Skip to content

fixup! New php-cs workflow that can handle more updated files #52

fixup! New php-cs workflow that can handle more updated files

fixup! New php-cs workflow that can handle more updated files #52

Workflow file for this run

on: [pull_request, push]
name: PHPCS_NEW
jobs:
phan:
name: Run phpcs on modified or added files
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
name: Default checkout
- uses: rmacklin/fetch-through-merge-base@v0
if: github.event == 'push'
with:
base_ref: develop
head_ref: ${{ github.sha }}
- uses: rmacklin/fetch-through-merge-base@v0
if: github.event == 'pull_request'
- name: Setup PHP
uses: shivammathur/setup-php@v2
with:
php-version: 8.1
coverage: none # disable xdebug, pcov
tools: cs2pr,phpcs,phpcbf
- name: Run phpcs analysis
run: |
# Get base branch if PR
echo "BASE_REF=$GITHUB_BASE_REF HEAD_REF=$GITHUB_HEAD_REF GITHUB_REF=$GITHUB_REF GITHUB_REF_NAME=$GITHUB_REF_NAME"
DIFF_TARGET=$GITHUB_BASE_REF
echo "DIFF_TARGET='${DIFF_TARGET}'"
HEAD_BRANCH=$(git rev-parse --abbrev-ref HEAD)
echo "HEAD_BRANCH='${HEAD_BRANCH}'"
[ "$HEAD_BRANCH" == "HEAD" ] && HEAD_BRANCH=$GITHUB_REF_NAME
echo "HEAD_BRANCH='${HEAD_BRANCH}'"
[ "$DIFF_TARGET" == "" ] && DIFF_TARGET=$(git show-branch -a --merge-base)
echo "DIFF_TARGET='${DIFF_TARGET}'"
TMPFILE=$(mktemp)
git diff --diff-filter=MA --name-only --merge-base "${DIFF_TARGET}" -- '***.php' > "${TMPFILE}"
RULESET_OPT="--standard=dev/setup/codesniffer/ruleset.xml"
ls -l ${TMPFILE}
[ -s ${TMPFILE} ] && phpcs --file-list=${TMPFILE} -s -p --report=checkstyle --report-file=_phpcs.xml -d memory_limit=-1 --extensions=php --tab-width=4 ${RULESET_OPT}
# Reminder on how to run phpcbf
# phpcbf --file-list=${TMPFILE} -s -p -d memory_limit=-1 --extensions=php --tab-width=4 ${RULESET_OPT}
- name: Add results to PR
if: ${{ always() }}
run: |
[ ! -r _phpcs.xml ] || [ ! -s _phpcs.xml ] || cs2pr _phpcs.xml
- name: Provide phpcs log as artifact
uses: actions/upload-artifact@v3
# if: ${{ always() }}
if: false
with:
name: phpcs-srcrt
path: |
${{ github.workspace }}/_phpcs.xml
retention-days: 2