[前][次][番号順一覧][スレッド一覧]

ruby-changes:57159

From: Takashi <ko1@a...>
Date: Mon, 19 Aug 2019 03:15:18 +0900 (JST)
Subject: [ruby-changes:57159] Takashi Kokubun: e139d27748 (master): Make Slack notification available

https://git.ruby-lang.org/ruby.git/commit/?id=e139d27748

From e139d27748a0548c0ae10fb483c7389caacd4b3d Mon Sep 17 00:00:00 2001
From: Takashi Kokubun <takashikkbn@g...>
Date: Mon, 19 Aug 2019 03:14:18 +0900
Subject: Make Slack notification available

for macOS / Windows as well.

Docker-based GitHub Action does not work on these OSes.

diff --git a/.github/actions/notify-slack/action.yml b/.github/actions/notify-slack/action.yml
deleted file mode 100644
index 1a51a25..0000000
--- a/.github/actions/notify-slack/action.yml
+++ /dev/null
@@ -1,53 +0,0 @@ https://github.com/ruby/ruby/blob/trunk/#L0
-name: notify-slack
-description: You can notify slack of GitHub Actions.
-author: k0kubun
-inputs:
-  status:
-    description: Success or Failure
-  matrix_name:
-    description: Matrix task name
-  committer_name:
-    description: Git committer name
-  commit_message:
-    description: Git commit message
-  commit_timestamp:
-    description: Git commit timestamp
-runs:
-  using: docker
-  image: 'docker://ruby:2.6-slim'
-  args:
-    - /usr/local/bin/ruby
-    - -e
-    - |-
-      require 'json'
-      require 'net/http'
-      require 'uri'
-
-      github_repo = ENV.fetch('GITHUB_REPOSITORY')
-      github_sha  = ENV.fetch('GITHUB_SHA')
-      github_ref  = ENV.fetch('GITHUB_REF')
-
-      workflow = ENV.fetch('GITHUB_WORKFLOW')
-      matrix   = ENV.fetch('INPUT_MATRIX_NAME')
-      status   = ENV.fetch('INPUT_STATUS')
-
-      message   = ENV.fetch('INPUT_COMMIT_MESSAGE')
-      timestamp = ENV.fetch('INPUT_COMMIT_TIMESTAMP')
-      committer = ENV.fetch('INPUT_COMMITTER_NAME')
-
-      commit_url = "https://github.com/#{github_repo}/commit/#{github_sha}"
-      attachment = {
-        title: "#{status}: #{workflow} / #{matrix}",
-        title_link: "#{commit_url}/checks",
-        text: "<#{commit_url}|#{github_sha[0...10]}> of #{github_repo}@#{File.basename(github_ref)} "\
-              "by #{committer} on #{timestamp}: #{message}",
-        color: status == 'Success' ? 'good' : 'danger',
-      }
-
-      resp = Net::HTTP.post(
-        URI(ENV.fetch('SLACK_WEBHOOK_URL')),
-        { attachments: [attachment] }.to_json,
-        { 'Content-Type' => 'application/json' },
-      )
-      puts "#{resp.code} (#{resp.body}) -- #{payload.to_json}"
-      resp.value
diff --git a/.github/workflows/macos.yml b/.github/workflows/macos.yml
index d974a9f..0b09c21 100644
--- a/.github/workflows/macos.yml
+++ b/.github/workflows/macos.yml
@@ -49,13 +49,17 @@ jobs: https://github.com/ruby/ruby/blob/trunk/.github/workflows/macos.yml#L49
           MSPECOPT: "-ff" # not using `-j` because sometimes `mspec -j` silently dies
       - name: Leaked Globals
         run: make -s leaked-globals
-      - uses: ./.github/actions/notify-slack
+      - uses: k0kubun/action-slack@v...
         with:
-          status: ${{ job.status }}
-          matrix_name: ${{ matrix.test_task }}
-          committer_name: ${{ github.event.head_commit.committer.name }}
-          commit_message: ${{ github.event.head_commit.message }}
-          commit_timestamp: ${{ github.event.head_commit.timestamp }}
+          payload: |
+            {
+              "attachments": [{
+                "title": "${{ job.status }}: ${{ github.workflow }} / ${{ matrix.test_task }}",
+                "title_link": "https://github.com/${{ github.repository }}/commit/${{ github.sha }}/checks",
+                "text": "${{ github.repository }}@${{ github.ref }}: <https://github.com/${{ github.repository }}/commit/${{ github.sha }}|${{ github.sha }}>\nby ${{ github.event.head_commit.committer.name }} on ${{ github.event.head_commit.timestamp }}: ${{ github.event.head_commit.message }}",
+                "color": "danger"
+              }]
+            }
         env:
           SLACK_WEBHOOK_URL: ${{ secrets.SLACK_WEBHOOK_URL }}
         if: failure() && github.event_name == 'push'
diff --git a/.github/workflows/ubuntu.yml b/.github/workflows/ubuntu.yml
index 31fba17..46a693e 100644
--- a/.github/workflows/ubuntu.yml
+++ b/.github/workflows/ubuntu.yml
@@ -52,13 +52,17 @@ jobs: https://github.com/ruby/ruby/blob/trunk/.github/workflows/ubuntu.yml#L52
           MSPECOPT: "-ff" # not using `-j` because sometimes `mspec -j` silently dies
       - name: Leaked Globals
         run: make -s leaked-globals
-      - uses: ./.github/actions/notify-slack
+      - uses: k0kubun/action-slack@v...
         with:
-          status: ${{ job.status }}
-          matrix_name: ${{ matrix.test_task }}
-          committer_name: ${{ github.event.head_commit.committer.name }}
-          commit_message: ${{ github.event.head_commit.message }}
-          commit_timestamp: ${{ github.event.head_commit.timestamp }}
+          payload: |
+            {
+              "attachments": [{
+                "title": "${{ job.status }}: ${{ github.workflow }} / ${{ matrix.test_task }}",
+                "title_link": "https://github.com/${{ github.repository }}/commit/${{ github.sha }}/checks",
+                "text": "${{ github.repository }}@${{ github.ref }}: <https://github.com/${{ github.repository }}/commit/${{ github.sha }}|${{ github.sha }}>\nby ${{ github.event.head_commit.committer.name }} on ${{ github.event.head_commit.timestamp }}: ${{ github.event.head_commit.message }}",
+                "color": "danger"
+              }]
+            }
         env:
           SLACK_WEBHOOK_URL: ${{ secrets.SLACK_WEBHOOK_URL }}
         if: failure() && github.event_name == 'push'
diff --git a/.github/workflows/windows.yml b/.github/workflows/windows.yml
index ae5d2e5..eb19e814 100644
--- a/.github/workflows/windows.yml
+++ b/.github/workflows/windows.yml
@@ -53,13 +53,17 @@ jobs: https://github.com/ruby/ruby/blob/trunk/.github/workflows/windows.yml#L53
         run: |
           call "C:\Program Files (x86)\Microsoft Visual Studio\${{ matrix.vs }}\Enterprise\VC\Auxiliary\Build\vcvars64.bat"
           nmake ${{ matrix.test_task }}
-      - uses: ./.github/actions/notify-slack
+      - uses: k0kubun/action-slack@v...
         with:
-          status: ${{ job.status }}
-          matrix_name: ${{ matrix.test_task }}
-          committer_name: ${{ github.event.head_commit.committer.name }}
-          commit_message: ${{ github.event.head_commit.message }}
-          commit_timestamp: ${{ github.event.head_commit.timestamp }}
+          payload: |
+            {
+              "attachments": [{
+                "title": "${{ job.status }}: ${{ github.workflow }} / ${{ matrix.test_task }}",
+                "title_link": "https://github.com/${{ github.repository }}/commit/${{ github.sha }}/checks",
+                "text": "${{ github.repository }}@${{ github.ref }}: <https://github.com/${{ github.repository }}/commit/${{ github.sha }}|${{ github.sha }}>\nby ${{ github.event.head_commit.committer.name }} on ${{ github.event.head_commit.timestamp }}: ${{ github.event.head_commit.message }}",
+                "color": "danger"
+              }]
+            }
         env:
           SLACK_WEBHOOK_URL: ${{ secrets.SLACK_WEBHOOK_URL }}
         if: failure() && github.event_name == 'push'
-- 
cgit v0.10.2


--
ML: ruby-changes@q...
Info: http://www.atdot.net/~ko1/quickml/

[前][次][番号順一覧][スレッド一覧]