PHPMD #272
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| # 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 |