diff --git a/.github/workflows/integration.yml b/.github/workflows/integration.yml index 6787cff..e24467e 100644 --- a/.github/workflows/integration.yml +++ b/.github/workflows/integration.yml @@ -60,16 +60,13 @@ jobs: uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 with: persist-credentials: false + submodules: recursive repository: nextcloud/server ref: ${{ matrix.server-versions }} - - 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 - cd build/integration && composer require --dev phpunit/phpunit:~9 + - name: Set up integration dependencies + working-directory: build/integration + run: composer require --dev phpunit/phpunit:~9 - name: Checkout app uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 @@ -125,3 +122,17 @@ jobs: if: always() run: | cat data/nextcloud.log + + summary: + permissions: + contents: none + runs-on: ubuntu-latest-low + needs: [integration] + + if: always() + + name: integration-summary + + steps: + - name: Summary status + run: if ${{ needs.integration.result != 'success' }}; then exit 1; fi diff --git a/lib/Operation.php b/lib/Operation.php index 1fbd20e..45e2063 100644 --- a/lib/Operation.php +++ b/lib/Operation.php @@ -73,7 +73,7 @@ public function checkFileAccess(IStorage $storage, string $path, bool $isDir = f $this->nestingLevel--; if (!empty($match)) { - $e = new \RuntimeException('Access denied for path ' . $path . ' that is ' . ($isDir ? '' : 'not ') . 'a directory and matches rules: ' . json_encode($match)); + $e = new \RuntimeException('Access denied for path ' . $path . ' that is ' . ($isDir ? '' : 'not ') . 'a directory and matches rules: ' . (string)json_encode($match)); $this->logger->debug($e->getMessage(), ['exception' => $e]); // All Checks of one operation matched: prevent access throw new ForbiddenException('Access denied by access control', false);