From fca59db2b37916422ee8b35bbe768909f45c261b Mon Sep 17 00:00:00 2001 From: Kieran Osgood Date: Thu, 6 Aug 2026 14:49:18 +0100 Subject: [PATCH] ci: write a swift test summary to the job summary --- .../workflows/swift-build-and-test-samples.yml | 1 + .github/workflows/swift-test-package.yml | 1 + .github/workflows/swift-test-workflow.yml | 18 +++++++++++++++++- platforms/swift/Mintfile | 1 + 4 files changed, 20 insertions(+), 1 deletion(-) diff --git a/.github/workflows/swift-build-and-test-samples.yml b/.github/workflows/swift-build-and-test-samples.yml index d288a285b..4487aa3ca 100644 --- a/.github/workflows/swift-build-and-test-samples.yml +++ b/.github/workflows/swift-build-and-test-samples.yml @@ -15,3 +15,4 @@ jobs: job-name: Build & Test Sample Apps setup-storefront-env: true artifact-name: swift-sample-builds-xcresult + summarize-tests: true diff --git a/.github/workflows/swift-test-package.yml b/.github/workflows/swift-test-package.yml index b4d51d368..ccb6bd284 100644 --- a/.github/workflows/swift-test-package.yml +++ b/.github/workflows/swift-test-package.yml @@ -14,3 +14,4 @@ jobs: test-path: ./Scripts/xcode_run test ShopifyCheckoutKit-Package job-name: Run Package Tests artifact-name: swift-package-tests-xcresult + summarize-tests: true diff --git a/.github/workflows/swift-test-workflow.yml b/.github/workflows/swift-test-workflow.yml index 6e2ad66ae..115199108 100644 --- a/.github/workflows/swift-test-workflow.yml +++ b/.github/workflows/swift-test-workflow.yml @@ -15,6 +15,10 @@ on: required: false type: boolean default: false + summarize-tests: + required: false + type: boolean + default: false permissions: contents: read @@ -82,12 +86,24 @@ jobs: STOREFRONT_ACCESS_TOKEN: test-token run: ${{ github.workspace }}/scripts/setup_storefront_env --skip-optional-prompts - - if: ${{ inputs.setup-storefront-env }} + - if: ${{ inputs.setup-storefront-env || inputs.summarize-tests }} uses: ./.github/actions/setup-mint - name: Run Tests run: ${{ inputs.test-path }} + - name: Summarize test results + if: ${{ failure() && inputs.summarize-tests }} + shell: bash + working-directory: ${{ github.workspace }} + run: | + shopt -s nullglob + for bundle in .xcresults/*.xcresult; do + results=$(xcresultparser --output-format md --failed-tests-only --quiet "$bundle" | sed 's/\\"/"/g' | cat -s) + grep -q 'Failed: [1-9]' <<< "$results" || continue + printf '## %s\n\n%s\n' "$(basename "$bundle" .xcresult)" "$results" >> "$GITHUB_STEP_SUMMARY" + done + - name: Upload xcresult bundle if: failure() uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1 diff --git a/platforms/swift/Mintfile b/platforms/swift/Mintfile index 89b6b69d9..3a45a1c30 100644 --- a/platforms/swift/Mintfile +++ b/platforms/swift/Mintfile @@ -1,3 +1,4 @@ realm/SwiftLint@0.63.2 nicklockwood/SwiftFormat@0.61.1 yonaskolb/XcodeGen@2.45.4 +a7ex/xcresultparser@2.2.0