diff --git a/.github/workflows/acceptance-tests.yml b/.github/workflows/acceptance-tests.yml index 92f587fc27a..e84af55a361 100644 --- a/.github/workflows/acceptance-tests.yml +++ b/.github/workflows/acceptance-tests.yml @@ -4,6 +4,10 @@ on: pull_request: workflow_dispatch: +permissions: + actions: write + contents: read + jobs: coding-standard: name: coding-standard @@ -90,7 +94,7 @@ jobs: needs: [build-and-test] runs-on: ubuntu-latest strategy: - fail-fast: false + fail-fast: true matrix: suite: # contract & locks @@ -206,12 +210,23 @@ jobs: - name: Run ${{ matrix.suite }} run: BEHAT_SUITES=${{ matrix.suite }} python3 tests/acceptance/run-github.py + - name: Cancel workflow on failure + if: failure() + uses: actions/github-script@60a0d83039c74a4aee543508d2ffcb1c3799cdea # v7.0.1 + with: + script: | + github.rest.actions.cancelWorkflowRun({ + owner: context.repo.owner, + repo: context.repo.repo, + run_id: context.runId + }) + cli-tests: needs: [build-and-test] name: ${{ matrix.suite }} runs-on: ubuntu-latest strategy: - fail-fast: false + fail-fast: true matrix: suite: - cliCommands,apiServiceAvailability # grouped like drone; needs ClamAV + email @@ -242,12 +257,23 @@ jobs: - name: Run ${{ matrix.suite }} run: BEHAT_SUITES="${{ matrix.suite }}" python3 tests/acceptance/run-github.py + - name: Cancel workflow on failure + if: failure() + uses: actions/github-script@60a0d83039c74a4aee543508d2ffcb1c3799cdea # v7.0.1 + with: + script: | + github.rest.actions.cancelWorkflowRun({ + owner: context.repo.owner, + repo: context.repo.repo, + run_id: context.runId + }) + core-api-tests: name: ${{ matrix.suite }} needs: [build-and-test] runs-on: ubuntu-latest strategy: - fail-fast: false + fail-fast: true matrix: suite: - "coreApiAuth,coreApiCapabilities,coreApiFavorites,coreApiMain,coreApiVersions" @@ -332,12 +358,23 @@ jobs: WITH_REMOTE_PHP=true python3 tests/acceptance/run-github.py + - name: Cancel workflow on failure + if: failure() + uses: actions/github-script@60a0d83039c74a4aee543508d2ffcb1c3799cdea # v7.0.1 + with: + script: | + github.rest.actions.cancelWorkflowRun({ + owner: context.repo.owner, + repo: context.repo.repo, + run_id: context.runId + }) + e2e-tests: name: e2e-${{ matrix.suite }} needs: [build-and-test] runs-on: ubuntu-latest strategy: - fail-fast: false + fail-fast: true matrix: include: - suite: part-1 @@ -442,6 +479,17 @@ jobs: TIKA_NEEDED: ${{ matrix.tika == true && 'true' || 'false' }} KEYCLOAK_NEEDED: ${{ matrix.keycloak == true && 'true' || 'false' }} + - name: Cancel workflow on failure + if: failure() + uses: actions/github-script@60a0d83039c74a4aee543508d2ffcb1c3799cdea # v7.0.1 + with: + script: | + github.rest.actions.cancelWorkflowRun({ + owner: context.repo.owner, + repo: context.repo.repo, + run_id: context.runId + }) + litmus: name: litmus needs: [build-and-test] @@ -455,6 +503,17 @@ jobs: - name: Run litmus run: python3 tests/acceptance/run-litmus.py + - name: Cancel workflow on failure + if: failure() + uses: actions/github-script@60a0d83039c74a4aee543508d2ffcb1c3799cdea # v7.0.1 + with: + script: | + github.rest.actions.cancelWorkflowRun({ + owner: context.repo.owner, + repo: context.repo.repo, + run_id: context.runId + }) + cs3api: name: cs3api needs: [build-and-test] @@ -468,6 +527,17 @@ jobs: - name: Run cs3api validator run: python3 tests/acceptance/run-cs3api.py + - name: Cancel workflow on failure + if: failure() + uses: actions/github-script@60a0d83039c74a4aee543508d2ffcb1c3799cdea # v7.0.1 + with: + script: | + github.rest.actions.cancelWorkflowRun({ + owner: context.repo.owner, + repo: context.repo.repo, + run_id: context.runId + }) + wopi-builtin: name: wopi-builtin needs: [build-and-test] @@ -481,6 +551,17 @@ jobs: - name: Run WOPI validator (builtin) run: python3 tests/acceptance/run-wopi.py --type builtin + - name: Cancel workflow on failure + if: failure() + uses: actions/github-script@60a0d83039c74a4aee543508d2ffcb1c3799cdea # v7.0.1 + with: + script: | + github.rest.actions.cancelWorkflowRun({ + owner: context.repo.owner, + repo: context.repo.repo, + run_id: context.runId + }) + wopi-cs3: name: wopi-cs3 needs: [build-and-test] @@ -494,6 +575,17 @@ jobs: - name: Run WOPI validator (cs3) run: python3 tests/acceptance/run-wopi.py --type cs3 + - name: Cancel workflow on failure + if: failure() + uses: actions/github-script@60a0d83039c74a4aee543508d2ffcb1c3799cdea # v7.0.1 + with: + script: | + github.rest.actions.cancelWorkflowRun({ + owner: context.repo.owner, + repo: context.repo.repo, + run_id: context.runId + }) + all-acceptance-tests: needs: [local-api-tests, cli-tests, core-api-tests, litmus, cs3api, wopi-builtin, wopi-cs3, e2e-tests] runs-on: ubuntu-latest