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/