a7943dceca
* デプロイされているプレビュー環境がない場合はDestroy preview environmentを実行しないようにする * CIがない場合の処理追加
55 lines
1.5 KiB
YAML
55 lines
1.5 KiB
YAML
# file: .github/workflows/preview-closed.yaml
|
|
on:
|
|
pull_request:
|
|
types:
|
|
- closed
|
|
|
|
name: Destroy preview environment
|
|
|
|
jobs:
|
|
destroy-preview-environment:
|
|
runs-on: ubuntu-latest
|
|
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
|