ci: test that all apps are enabled for psalm

Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
This commit is contained in:
Ferdinand Thiessen 2025-04-04 16:56:02 +02:00
parent 1e8870e3f8
commit 4a64cf54ba
3 changed files with 30 additions and 0 deletions

View file

@ -110,6 +110,9 @@ jobs:
- name: Check that all and only expected files are included
run: php ./build/files-checker.php
- name: Check that all shipped apps are linted by psalm
run: sh ./build/psalm-checker.sh
summary:
permissions:
contents: none

26
build/psalm-checker.sh Executable file
View file

@ -0,0 +1,26 @@
#!/bin/sh
# SPDX-FileCopyrightText: 2024 Nextcloud GmbH and Nextcloud contributors
# SPDX-License-Identifier: AGPL-3.0-or-later
if [ -d "dist" ]; then
missing=''
for f in apps/*; do
grep "directory name=\"$f\"" psalm.xml 2>&1 > /dev/null
if [ $? -ne 0 ]; then
missing="$missing- $f\n"
fi
done
if [ "$missing" = "" ]; then
echo "✅ All apps will be linted by psalm"
else
echo "❌ Following apps are not setup for linting using psalm:"
echo -e "$missing"
exit 1
fi
else
echo "⚠️ This script needs to be executed from the root of the repository"
exit 1
fi

View file

@ -36,6 +36,7 @@
<directory name="apps/files_versions"/>
<directory name="apps/lookup_server_connector"/>
<directory name="apps/oauth2"/>
<directory name="apps/profile"/>
<directory name="apps/provisioning_api"/>
<directory name="apps/settings"/>
<directory name="apps/sharebymail"/>