summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTakashi Kokubun <takashikkbn@gmail.com>2019-08-19 03:14:18 +0900
committerTakashi Kokubun <takashikkbn@gmail.com>2019-08-19 03:14:19 +0900
commite139d27748a0548c0ae10fb483c7389caacd4b3d (patch)
treee47ff7bf47d594a13c6d3f76d99841158ba4ad99
parentaa5fbb5a7661fa5329881415e65a24151507e69a (diff)
Make Slack notification available
for macOS / Windows as well. Docker-based GitHub Action does not work on these OSes.
-rw-r--r--.github/actions/notify-slack/action.yml53
-rw-r--r--.github/workflows/macos.yml16
-rw-r--r--.github/workflows/ubuntu.yml16
-rw-r--r--.github/workflows/windows.yml16
4 files changed, 30 insertions, 71 deletions
diff --git a/.github/actions/notify-slack/action.yml b/.github/actions/notify-slack/action.yml
deleted file mode 100644
index 1a51a2503a..0000000000
--- a/.github/actions/notify-slack/action.yml
+++ /dev/null
@@ -1,53 +0,0 @@
-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 d974a9f7ad..0b09c21e93 100644
--- a/.github/workflows/macos.yml
+++ b/.github/workflows/macos.yml
@@ -49,13 +49,17 @@ jobs:
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@v1.0.0
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 31fba17aac..46a693e559 100644
--- a/.github/workflows/ubuntu.yml
+++ b/.github/workflows/ubuntu.yml
@@ -52,13 +52,17 @@ jobs:
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@v1.0.0
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 ae5d2e5451..eb19e81457 100644
--- a/.github/workflows/windows.yml
+++ b/.github/workflows/windows.yml
@@ -53,13 +53,17 @@ jobs:
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@v1.0.0
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'