From 9ce39aa36072059a8db2377c9199670efd90a1a5 Mon Sep 17 00:00:00 2001 From: opficdev <162981733+opficdev@users.noreply.github.com> Date: Fri, 3 Jul 2026 16:06:24 +0900 Subject: [PATCH 1/4] =?UTF-8?q?fix:=20CI=20=EC=8B=A4=ED=8C=A8=20=EB=A1=9C?= =?UTF-8?q?=EA=B7=B8=20=EC=9A=94=EC=95=BD=20fallback=20=EC=A0=9C=EA=B1=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .github/workflows/ci.yml | 11 ++--------- 1 file changed, 2 insertions(+), 9 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index e184e9eb..89575c4a 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -528,15 +528,6 @@ jobs: } } - if (selectedLines.length <= 0) { - for (const line of lines.slice(-25)) { - const cleanedLine = cleanLine(line); - if (!cleanedLine || seenLines.has(cleanedLine)) continue; - seenLines.add(cleanedLine); - selectedLines.push(cleanedLine); - } - } - return selectedLines.slice(0, 30).join('\n'); } @@ -640,6 +631,8 @@ jobs: section += `- ${summary.scheme} (${summary.artifactName})\n`; if (summary.snippet) { section += '\n```text\n' + summary.snippet + '\n```\n\n'; + } else { + section += '\nNo concise failure diagnostic was found in this scheme log.\n\n'; } } From 85118bfdfbd52ca17c41e7e740df8807b13b7cd4 Mon Sep 17 00:00:00 2001 From: opficdev <162981733+opficdev@users.noreply.github.com> Date: Fri, 3 Jul 2026 16:09:13 +0900 Subject: [PATCH 2/4] =?UTF-8?q?fix:=20CI=20=EC=84=B1=EA=B3=B5=20=EC=8B=9C?= =?UTF-8?q?=20=EC=8B=A4=ED=8C=A8=20=EB=8C=93=EA=B8=80=20=EC=A0=95=EB=A6=AC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .github/workflows/ci.yml | 42 +++++++++++++++++++++++++++++++++++++++- 1 file changed, 41 insertions(+), 1 deletion(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 89575c4a..32eb39a3 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -455,17 +455,57 @@ jobs: name: Report runs-on: ubuntu-latest needs: [build, test] - if: always() && (needs.build.result == 'failure' || needs.test.result == 'failure') && github.event.pull_request.head.repo.fork == false + if: | + always() + && github.event.pull_request.head.repo.fork == false + && ( + needs.build.result == 'failure' + || needs.test.result == 'failure' + || (needs.build.result == 'success' && needs.test.result == 'success') + ) steps: - uses: actions/checkout@v5 - name: Download CI logs + if: needs.build.result == 'failure' || needs.test.result == 'failure' uses: actions/download-artifact@v7 continue-on-error: true with: path: test-artifacts + - name: Delete resolved CI failure comments + if: needs.build.result == 'success' && needs.test.result == 'success' + uses: actions/github-script@v8 + with: + script: | + if (!context.payload.pull_request) { + core.info('No PR context; skipping comment cleanup.'); + return; + } + + const issueNumber = context.payload.pull_request.number; + const comments = await github.paginate(github.rest.issues.listComments, { + owner: context.repo.owner, + repo: context.repo.repo, + issue_number: issueNumber, + per_page: 100, + }); + + const failureComments = comments.filter((comment) => { + return comment.user?.type === 'Bot' + && comment.body?.startsWith('❌ iOS CI failed.'); + }); + + for (const comment of failureComments) { + await github.rest.issues.deleteComment({ + owner: context.repo.owner, + repo: context.repo.repo, + comment_id: comment.id, + }); + } + - name: Comment CI failure on PR + if: needs.build.result == 'failure' || needs.test.result == 'failure' uses: actions/github-script@v8 env: BUILD_RESULT: ${{ needs.build.result }} From 212212442a535a707799d83906f8442520f73c9a Mon Sep 17 00:00:00 2001 From: opficdev <162981733+opficdev@users.noreply.github.com> Date: Fri, 3 Jul 2026 16:09:43 +0900 Subject: [PATCH 3/4] =?UTF-8?q?test:=20=EC=9D=98=EB=8F=84=EC=A0=81=20?= =?UTF-8?q?=EB=B9=8C=EB=93=9C=20=EC=8B=A4=ED=8C=A8=20=EC=BD=94=EB=93=9C=20?= =?UTF-8?q?=EC=B6=94=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Presentation/HomeTab/Sources/Home/Home/HomeFeature.swift | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Application/Presentation/HomeTab/Sources/Home/Home/HomeFeature.swift b/Application/Presentation/HomeTab/Sources/Home/Home/HomeFeature.swift index fd548696..4b395121 100644 --- a/Application/Presentation/HomeTab/Sources/Home/Home/HomeFeature.swift +++ b/Application/Presentation/HomeTab/Sources/Home/Home/HomeFeature.swift @@ -7,7 +7,7 @@ import Domain import Foundation -import PresentationShared +import PresentationShare @Reducer struct HomeFeature { From 8ec16efc7ff59465b4dcc17ff02d7ecb5026e16a Mon Sep 17 00:00:00 2001 From: opficdev <162981733+opficdev@users.noreply.github.com> Date: Fri, 3 Jul 2026 16:24:33 +0900 Subject: [PATCH 4/4] =?UTF-8?q?fix:=20=EC=BD=94=EB=93=9C=20=EC=9B=90?= =?UTF-8?q?=EB=B3=B5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Presentation/HomeTab/Sources/Home/Home/HomeFeature.swift | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Application/Presentation/HomeTab/Sources/Home/Home/HomeFeature.swift b/Application/Presentation/HomeTab/Sources/Home/Home/HomeFeature.swift index 4b395121..fd548696 100644 --- a/Application/Presentation/HomeTab/Sources/Home/Home/HomeFeature.swift +++ b/Application/Presentation/HomeTab/Sources/Home/Home/HomeFeature.swift @@ -7,7 +7,7 @@ import Domain import Foundation -import PresentationShare +import PresentationShared @Reducer struct HomeFeature {