Skip to content

PHPMD

PHPMD #272

Workflow file for this run

# This workflow uses actions that are not certified by GitHub.
# They are provided by a third-party and are governed by
# separate terms of service, privacy policy, and support
# documentation.
# PHPMD is a spin-off project of PHP Depend and
# aims to be a PHP equivalent of the well known Java tool PMD.
# What PHPMD does is: It takes a given PHP source code base
# and look for several potential problems within that source.
# These problems can be things like:
# Possible bugs
# Suboptimal code
# Overcomplicated expressions
# Unused parameters, methods, properties
# More details at https://phpmd.org/
name: PHPMD
on:
push:
branches: [ "main" ]
pull_request:
# The branches below must be a subset of the branches above
branches: [ "main" ]
schedule:
- cron: '21 16 * * 1'
env:
# Menghilangkan peringatan depresiasi Node.js 20
FORCE_JAVASCRIPT_ACTIONS_TO_NODE24: true
permissions:
contents: read
jobs:
PHPMD:
name: Run PHPMD scanning
runs-on: ubuntu-latest
permissions:
contents: read # for checkout to fetch code
security-events: write # for github/codeql-action/upload-sarif to upload SARIF results
actions: read # only required for a private repository by github/codeql-action/upload-sarif to get the Action run status
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Setup PHP
uses: shivammathur/setup-php@v2
with:
php-version: '7.4'
coverage: none
tools: phpmd
ini-values: memory_limit=-1
- name: Create results directory
run: mkdir -p results-phpmd
# TAHAP 1: Core Classes & Includes
- name: PHPMD Stage 1 - Classes & Includes
run: phpmd classes,includes sarif cleancode,codesize,design,naming,unusedcode --reportfile results-phpmd/classes.sarif --exclude cache/
continue-on-error: true
# TAHAP 2: Pages
- name: PHPMD Stage 2 - Pages
run: phpmd pages sarif cleancode,codesize,design,naming,unusedcode --reportfile results-phpmd/pages.sarif --exclude cache/
continue-on-error: true
# TAHAP 3: Plugins
- name: PHPMD Stage 3 - Plugins
run: phpmd plugins sarif cleancode,codesize,design,naming,unusedcode --reportfile results-phpmd/plugins.sarif --exclude cache/
continue-on-error: true
# TAHAP 4: Library Inti
- name: PHPMD Stage 4 - Lib
# Mengecualikan adodb dan smarty karena itu bawaan lama pihak ketiga
run: phpmd lib sarif cleancode,codesize,design,naming,unusedcode --reportfile results-phpmd/lib.sarif --exclude cache/,lib/adodb/,lib/smarty/
continue-on-error: true
- name: Upload analysis results to GitHub
uses: github/codeql-action/upload-sarif@v4
continue-on-error: true
if: always()
with:
sarif_file: results-phpmd
wait-for-processing: true