From 9879e19556b50896cf8108e41b3fc50c71d49bbb Mon Sep 17 00:00:00 2001 From: Kon Toshihito Date: Fri, 1 Dec 2023 00:57:32 +0900 Subject: [PATCH] commit --- .github/workflows/approve.yaml | 22 +++++++++++++++++ .github/workflows/deploy.yaml | 43 ++++++++++++++++++++++++++++++++++ 2 files changed, 65 insertions(+) create mode 100644 .github/workflows/approve.yaml create mode 100644 .github/workflows/deploy.yaml diff --git a/.github/workflows/approve.yaml b/.github/workflows/approve.yaml new file mode 100644 index 0000000..a5ad5a5 --- /dev/null +++ b/.github/workflows/approve.yaml @@ -0,0 +1,22 @@ +name: approve +on: + workflow_dispatch + +jobs: + approve: + name: approve + runs-on: ubuntu-latest + steps: + - uses: ToshihitoKon/slack-quickpost@v1 + with: + version: 0.7.1 + + - name: Notify slack workflow start + env: + SLACK_TOKEN: ${{ secrets.SLACK_TOKEN }} + run: | + slack-quickpost \ + --token ${{ secrets.SLACK_TOKEN } \ + --channel ${{ env.SLACK_CHANNEL }} \ + --username "GitHub Actions: ${{ github.workflow }}" \ + --text ":white_check_mark: Approved by ${{ github.actor }}" diff --git a/.github/workflows/deploy.yaml b/.github/workflows/deploy.yaml new file mode 100644 index 0000000..0d713ff --- /dev/null +++ b/.github/workflows/deploy.yaml @@ -0,0 +1,43 @@ +name: deploy +on: + workflow_dispatch + +jobs: + deploy: + runs-on: ubuntu-latest + timeout-minutes: 10 + steps: + - uses: ToshihitoKon/slack-quickpost@v1 + with: + version: 0.7.1 + + - run: | + slack-quickpost \ + --channel ${SLACK_CHANNEL} \ + --username "GitHub Actions: ${{ github.workflow }}" \ + --text ":black_square_for_stop: Waiting manual approve..." + + - name: Wait manual approve + timeout-minutes: 5 + isApproved=false + until ${isApproved}; do + sleep 10 + result=$(gh run list \ + --workflow approve.yml \ + --status success \ + --branch ${{ github.ref_name }} \ + --json headSha \ + --jq '.[].headSha' \ + --limit 1) + + # github.shaが一致すればOK + if [ "${{ github.sha }}" = "${result}" ]; then + isApproved=true + fi + done + + - run: | + slack-quickpost \ + --channel ${SLACK_CHANNEL} \ + --username "GitHub Actions: ${{ github.workflow }}" \ + --text ":thumbsup: Deploy Approved!"