diff --git a/.github/workflows/static-code-analysis.yml b/.github/workflows/static-code-analysis.yml
index 4bfd704793e..4057adbe8d7 100644
--- a/.github/workflows/static-code-analysis.yml
+++ b/.github/workflows/static-code-analysis.yml
@@ -27,3 +27,28 @@ jobs:
- name: Show potential changes in Psalm baseline
run: |
bash -c "[[ ! \"`git status --porcelain build/psalm-baseline.xml`\" ]] || ( echo 'Uncommited changes in Psalm baseline' && git status && git diff build/psalm-baseline.xml)"
+
+ static-code-analysis-ocp:
+ runs-on: ubuntu-latest
+ steps:
+ - uses: actions/checkout@v2
+ - name: Checkout submodules
+ shell: bash
+ run: |
+ auth_header="$(git config --local --get http.https://github.com/.extraheader)"
+ git submodule sync --recursive
+ git -c "http.extraheader=$auth_header" -c protocol.version=2 submodule update --init --force --recursive --depth=1
+ - name: Set up php7.4
+ uses: shivammathur/setup-php@master
+ with:
+ php-version: 7.4
+ coverage: none
+ - name: Composer install
+ run: composer i
+ - name: Psalm
+ run: composer run psalm -- -c psalm-ocp.xml --monochrome --no-progress --output-format=text --update-baseline || ( git diff -- . ':!lib/composer' && exit 1 )
+ - name: Check diff
+ run: git diff -- . ':!lib/composer'
+ - name: Show potential changes in Psalm baseline
+ run: |
+ bash -c "[[ ! \"`git status --porcelain build/psalm-baseline-ocp.xml`\" ]] || ( echo 'Uncommited changes in Psalm baseline' && git status && git diff build/psalm-baseline.xml)"
diff --git a/build/psalm-baseline-ocp.xml b/build/psalm-baseline-ocp.xml
new file mode 100644
index 00000000000..25a44ab0141
--- /dev/null
+++ b/build/psalm-baseline-ocp.xml
@@ -0,0 +1,249 @@
+
+
+
+
+ null|string
+
+
+
+
+ OC
+
+
+
+
+ \OC
+ \OC
+
+
+
+
+ $this->request->server
+
+
+
+
+ \OC
+
+
+
+
+ ContainerExceptionInterface
+
+
+
+
+ string
+
+
+ $column
+
+
+
+
+ $this->data
+
+
+ array
+
+
+
+
+ \OC
+ \OC
+
+
+
+
+
+
+
+ $resource['internalName']
+ $resource['resource']
+ $resource['size']
+ $resource['size']
+ $resource['time']
+
+
+ $this->resources
+
+
+
+
+ \OC
+
+
+
+
+ $jobList
+
+
+
+
+ IAddressBook[]
+
+
+
+
+ WidgetSetting
+
+
+ null
+
+
+
+
+ \OC
+
+
+
+
+ mixed
+
+
+
+
+ \OC
+
+
+
+
+ \OC
+
+
+
+
+ \OC
+
+
+
+
+ \OC
+
+
+
+
+ \OC
+
+
+
+
+ \OC_App::getStorage($app)
+
+
+ \OC
+
+
+
+
+ \OC
+
+
+
+
+ \OC
+
+
+
+
+ \OC
+
+
+
+
+ \OC
+
+
+
+
+ \OC
+
+
+
+
+ \OC
+
+
+
+
+ IsearchRequest
+
+
+
+
+ public function getUri(): string;
+
+
+
+
+ Color
+
+
+
+
+ ContainerExceptionInterface
+ ContainerExceptionInterface
+
+
+
+
+ PreconditionNotMetException
+
+
+
+
+ $cursor
+
+
+
+
+ array
+ array|bool
+ mixed
+
+
+
+
+ \html_select_options($options, $selected, $params)
+ \human_file_size($bytes)
+ \image_path($app, $image)
+ \mimetype_icon($mimetype)
+ \preview_icon($path)
+ \publicPreview_icon($path, $token)
+ \relative_modified_date($timestamp, null, $dateOnly)
+
+
+
+
+ \OC_User::getUser()
+
+
+ string
+
+
+ \OC
+
+
+
+
+ \OC_Helper::computerFileSize($str)
+
+
+ float
+
+
+ \OC
+ \OC
+ \OC
+ \OC
+ \OC
+ \OC
+ \OC
+ \OC
+ \OC
+ \OC
+ \OC
+ \OC
+
+
+
diff --git a/psalm-ocp.xml b/psalm-ocp.xml
new file mode 100644
index 00000000000..5574ae0fb5d
--- /dev/null
+++ b/psalm-ocp.xml
@@ -0,0 +1,19 @@
+
+
+
+
+
+
+
+
+
+
+
+