summaryrefslogtreecommitdiffstats
path: root/.github/workflows/psalm-matrix.yml
diff options
context:
space:
mode:
Diffstat (limited to '.github/workflows/psalm-matrix.yml')
-rw-r--r--.github/workflows/psalm-matrix.yml61
1 files changed, 61 insertions, 0 deletions
diff --git a/.github/workflows/psalm-matrix.yml b/.github/workflows/psalm-matrix.yml
new file mode 100644
index 00000000..1bb33f3b
--- /dev/null
+++ b/.github/workflows/psalm-matrix.yml
@@ -0,0 +1,61 @@
+# This workflow is provided via the organization template repository
+#
+# https://github.com/nextcloud/.github
+# https://docs.github.com/en/actions/learn-github-actions/sharing-workflows-with-your-organization
+
+name: Static analysis
+
+on:
+ pull_request:
+ push:
+ branches:
+ - master
+ - main
+ - stable*
+
+concurrency:
+ group: psalm-${{ github.head_ref || github.run_id }}
+ cancel-in-progress: true
+
+jobs:
+ static-analysis:
+ runs-on: ubuntu-latest
+ strategy:
+ # do not stop on another job's failure
+ fail-fast: false
+ matrix:
+ ocp-version: [ 'dev-master', 'dev-stable25' ]
+
+ name: Nextcloud ${{ matrix.ocp-version }}
+ steps:
+ - name: Checkout
+ uses: actions/checkout@ac593985615ec2ede58e132d2e21d2b1cbd6127c # v3
+
+ - name: Set up php
+ uses: shivammathur/setup-php@1a18b2267f80291a81ca1d33e7c851fe09e7dfc4 # v2
+ with:
+ php-version: 8.0
+ coverage: none
+ env:
+ GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
+
+ - name: Install dependencies
+ run: composer i
+
+ - name: Install dependencies
+ run: composer require --dev nextcloud/ocp:${{ matrix.ocp-version }} --ignore-platform-reqs
+
+ - name: Run coding standards check
+ run: composer run psalm
+
+ summary:
+ runs-on: ubuntu-latest
+ needs: static-analysis
+
+ if: always()
+
+ name: static-psalm-analysis-summary
+
+ steps:
+ - name: Summary status
+ run: if ${{ needs.static-analysis.result != 'success' }}; then exit 1; fi