Skip to content

Interactive realtime compiler dashboard feature #3452

Interactive realtime compiler dashboard feature

Interactive realtime compiler dashboard feature #3452

Workflow file for this run

name: 🔎 Static Analysis
on:
pull_request:
branches: [ "master" ]
jobs:
psalm:
name: Run Analysis
runs-on: ubuntu-latest
continue-on-error: true
outputs:
exit-code: ${{ steps.analysis.outputs.EXIT_CODE }}
steps:
- name: Checkout code
uses: actions/checkout@v2
- name: Install Composer Dependencies
run: composer install --no-ansi --no-interaction --no-scripts --no-progress --prefer-dist
- name: Run Psalm
id: analysis
run: vendor/bin/psalm > psalmout.txt || echo EXIT_CODE=$? >> $GITHUB_OUTPUT || exit 0
- name: Ping CI server with type coverage results
run: php monorepo/scripts/ping-ci-server-with-type-coverage.php ${{ secrets.CI_SERVER_TOKEN }} ${{ github.event.pull_request.head.sha }} ${{ github.head_ref }}
# Since GitHub Actions for some reason doesn't support exiting with warnings, we work around this by
# adding a second job. If the first job fails, this one won't run, thus resulting with a skipped status.
# TODO refactor to use CI server to report status if there are new issues encountered compared to the base branch
report-psalm:
name: Psalm Static Analysis
runs-on: ubuntu-latest
needs: psalm
if: needs.psalm.outputs.exit-code == 0
steps:
- name: Report analysis passed
run: echo "Got code ${{ needs.psalm.outputs.exit-code }}" && exit 0;