mirror of
https://github.com/Dolibarr/dolibarr.git
synced 2025-02-20 13:46:52 +01:00
56 lines
1.7 KiB
YAML
56 lines
1.7 KiB
YAML
---
|
|
on:
|
|
# workflow called by the parent workflow ci.yml
|
|
workflow_call:
|
|
inputs:
|
|
gh_event:
|
|
required: true
|
|
type: string
|
|
# can run job manually
|
|
workflow_dispatch:
|
|
|
|
concurrency:
|
|
group: phan-${{ github.workflow }}-${{ github.ref }}
|
|
cancel-in-progress: true
|
|
env:
|
|
gh_event: ${{ inputs.gh_event || github.event_name }}
|
|
PHAN_CONFIG: dev/tools/phan/config.php
|
|
PHAN_BASELINE: dev/tools/phan/baseline.txt
|
|
PHAN_MIN_PHP: 7.0
|
|
PHAN_QUICK: ${{ github.event.schedule && '' || '--quick' }}
|
|
GITHUB_JSON: ${{ toJSON(github) }} # Helps in debugging Github Action
|
|
|
|
name: phan
|
|
jobs:
|
|
phan:
|
|
name: Run phan
|
|
runs-on: ubuntu-latest
|
|
# Do not run schedule on forks
|
|
if: |
|
|
github.repository == 'Dolibarr/dolibarr'
|
|
|| github.event.schedule == false
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
- name: Setup PHP
|
|
uses: shivammathur/setup-php@v2
|
|
with:
|
|
php-version: 8.2
|
|
coverage: none # disable xdebug, pcov
|
|
tools: cs2pr,phan
|
|
- name: Run Phan analysis
|
|
run: |
|
|
# shellcheck disable=2086
|
|
phan $PHAN_QUICK -k "$PHAN_CONFIG" -B "$PHAN_BASELINE" --analyze-twice --minimum-target-php-version "$PHAN_MIN_PHP" --output-mode=checkstyle -o _phan.xml
|
|
- name: Add results to PR
|
|
if: ${{ always() }}
|
|
run: |
|
|
cs2pr --prepend-filename --prepend-source --notices-as-warnings _phan.xml
|
|
- name: Provide phan log as artifact
|
|
uses: actions/upload-artifact@v4
|
|
if: ${{ always() }}
|
|
with:
|
|
name: phan-srcrt
|
|
# path: ${{ github.workspace }}/phan.log
|
|
path: ${{ github.workspace }}/_phan.xml
|
|
retention-days: 2
|