From a7943dceca7b958b194e07858699a65b8ed5c7a5 Mon Sep 17 00:00:00 2001
From: Masaya Suzuki <15100604+massongit@users.noreply.github.com>
Date: Fri, 24 Feb 2023 18:51:31 +0900
Subject: [PATCH] =?UTF-8?q?=E3=83=87=E3=83=97=E3=83=AD=E3=82=A4=E3=81=95?=
 =?UTF-8?q?=E3=82=8C=E3=81=A6=E3=81=84=E3=82=8B=E3=83=97=E3=83=AC=E3=83=93?=
 =?UTF-8?q?=E3=83=A5=E3=83=BC=E7=92=B0=E5=A2=83=E3=81=8C=E3=81=AA=E3=81=84?=
 =?UTF-8?q?=E5=A0=B4=E5=90=88=E3=81=AF=E3=83=97=E3=83=AC=E3=83=93=E3=83=A5?=
 =?UTF-8?q?=E3=83=BC=E7=92=B0=E5=A2=83=E3=82=92=E5=89=8A=E9=99=A4=E3=81=97?=
 =?UTF-8?q?=E3=81=AA=E3=81=84=E3=82=88=E3=81=86=E3=81=AB=E3=81=99=E3=82=8B?=
 =?UTF-8?q?=20(#10062)?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

* デプロイされているプレビュー環境がない場合はDestroy preview environmentを実行しないようにする

* CIがない場合の処理追加
---
 .github/workflows/pr-preview-destroy.yml | 34 +++++++++++++++++++++++-
 1 file changed, 33 insertions(+), 1 deletion(-)

diff --git a/.github/workflows/pr-preview-destroy.yml b/.github/workflows/pr-preview-destroy.yml
index 49f1ba8a34..8adfad9dab 100644
--- a/.github/workflows/pr-preview-destroy.yml
+++ b/.github/workflows/pr-preview-destroy.yml
@@ -9,14 +9,46 @@ name: Destroy preview environment
 jobs:
   destroy-preview-environment:
     runs-on: ubuntu-latest
-    if: github.repository == github.event.pull_request.head.repo.full_name
     steps:
+      - uses: actions/github-script@v6.3.3
+        id: check-conclusion
+        env:
+          number: ${{ github.event.number }}
+        with:
+          github-token: ${{ secrets.GITHUB_TOKEN }}
+          result-encoding: string
+          script: |
+            const { data: pull } = await github.rest.pulls.get({
+              ...context.repo,
+              pull_number: process.env.number
+            });
+            const ref = pull.head.sha;
+
+            const { data: checks } = await github.rest.checks.listForRef({
+              ...context.repo,
+              ref
+            });
+
+            const check = checks.check_runs.filter(c => c.name === 'deploy-preview-environment');
+
+            if (check.length === 0) {
+              return;
+            }
+
+            const { data: result } = await github.rest.checks.get({
+              ...context.repo,
+              check_run_id: check[0].id,
+            });
+
+            return result.conclusion;
       - name: Context
+        if: steps.check-conclusion.outputs.result == 'success'
         uses: okteto/context@latest
         with:
           token: ${{ secrets.OKTETO_TOKEN }}
 
       - name: Destroy preview environment
+        if: steps.check-conclusion.outputs.result == 'success'
         uses: okteto/destroy-preview@latest
         with:
           name: pr-${{ github.event.number }}-syuilo