From 9e3192b6bea6fe15fa53c04a0a7614511a9666ae Mon Sep 17 00:00:00 2001 From: Arthur Schiwon Date: Tue, 6 Oct 2026 17:33:14 +0200 Subject: [PATCH 1/2] ci: add integration summary job Signed-off-by: Arthur Schiwon Assisted-by: Claude Code:claude-opus-5-5 --- .github/workflows/integration.yml | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/.github/workflows/integration.yml b/.github/workflows/integration.yml index f8128ab1b4..fdc151d997 100644 --- a/.github/workflows/integration.yml +++ b/.github/workflows/integration.yml @@ -161,3 +161,17 @@ jobs: body: comment }) } + + 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 From 96bb48b36ddcb66999bbd94cf785f59925dcb9bf Mon Sep 17 00:00:00 2001 From: Arthur Schiwon Date: Wed, 7 Oct 2026 18:42:15 +0200 Subject: [PATCH 2/2] ci: always report integration-summary solves Github waiting for an action that will never run, e.g. on dependabot update. Signed-off-by: Arthur Schiwon Assisted-by: Claude Code:claude-opus-5-5 --- .github/workflows/integration.yml | 39 +++++++++++++++++++++++-------- 1 file changed, 29 insertions(+), 10 deletions(-) diff --git a/.github/workflows/integration.yml b/.github/workflows/integration.yml index fdc151d997..30c7855a58 100644 --- a/.github/workflows/integration.yml +++ b/.github/workflows/integration.yml @@ -2,14 +2,6 @@ name: Integration tests on: pull_request: - paths: - - '.github/workflows/integration.yml' - - 'appinfo/**' - - 'lib/**' - - 'templates/**' - - 'tests/**' - - 'composer.json' - - 'composer.lock' push: branches: - main @@ -20,9 +12,36 @@ env: APP_NAME: deck jobs: + changes: + runs-on: ubuntu-latest-low + permissions: + contents: read + pull-requests: read + + outputs: + src: ${{ steps.changes.outputs.src}} + + steps: + - uses: dorny/paths-filter@ceb8a2b8f2d89434be7ff52d3de7ec3738c5cc9d # v4.0.3 + id: changes + continue-on-error: true + with: + filters: | + src: + - '.github/workflows/integration.yml' + - 'appinfo/**' + - 'lib/**' + - 'templates/**' + - 'tests/**' + - 'composer.json' + - 'composer.lock' + integration: runs-on: ubuntu-latest + needs: changes + if: needs.changes.outputs.src != 'false' + strategy: fail-fast: false matrix: @@ -166,7 +185,7 @@ jobs: permissions: contents: none runs-on: ubuntu-latest-low - needs: [integration] + needs: [changes, integration] if: always() @@ -174,4 +193,4 @@ jobs: steps: - name: Summary status - run: if ${{ needs.integration.result != 'success' }}; then exit 1; fi + run: if ${{ needs.changes.outputs.src != 'false' && needs.integration.result != 'success' }}; then exit 1; fi