workflow-conclusion-action

GitHub action to get workflow conclusion.

View project on GitHub

Workflow Conclusion Action

CI Status codecov CodeFactor License: MIT

Read this in other languages: English, 日本語.

これはワークフローの結果を取得するためのGitHub Actionsです。

Table of Contents

Details - [使用方法](#%E4%BD%BF%E7%94%A8%E6%96%B9%E6%B3%95) - [Success](#success) - [Failure](#failure) - [Author](#author) *generated with [TOC Generator](https://github.com/technote-space/toc-generator)*

使用方法

例:Lint => Test => Publish (タグ付与時のみ) => slack (いずれかのジョブが失敗した場合のみ)

on: push

name: CI

jobs:
  lint:
    name: ESLint
    runs-on: ubuntu-latest
    ...

  test:
    name: Coverage
    needs: lint
    strategy:
      matrix:
        node: ['11', '12']
    ...

  publish:
    name: Publish Package
    needs: test
    if: startsWith(github.ref, 'refs/tags/v')
    ...

  slack:
    name: Slack
    needs: publish # このjobを除いた最後のjobを"needs"に設定
    runs-on: ubuntu-latest
    if: always() # "always"を設定
    steps:
        # workflowの結果を取得するためにこのアクションを実行
        # 環境変数から結果を取得できます (env.WORKFLOW_CONCLUSION)
      - uses: technote-space/workflow-conclusion-action@v3

        # workflowの結果を使用してアクションを実行
      - uses: 8398a7/action-slack@v3
        with:
          # status: $ # neutral, success, skipped, cancelled, timed_out, action_required, failure
          status: failure
        env:
          GITHUB_TOKEN: $
          SLACK_WEBHOOK_URL: $
        if: env.WORKFLOW_CONCLUSION == 'failure' # 失敗を通知する場合

Success

Success

すべてのジョブが正常だったため、Slackアクションはスキップされます。

Failure

Failure

いくつかのジョブがスキップされた場合でもSlackアクションは実行されます。

Author

GitHub (Technote)
Blog