Skip to content
This repository has been archived by the owner on Nov 16, 2023. It is now read-only.

technote-space/workflow-conclusion-action

Use this GitHub action with your project
Add this Action to an existing workflow or create a new one
View on Marketplace

Folders and files

NameName
Last commit message
Last commit date
Dec 8, 2022
Feb 26, 2021
Oct 15, 2022
Mar 4, 2020
Jun 26, 2020
Jun 1, 2022
Mar 4, 2020
Mar 4, 2020
Mar 4, 2020
Feb 19, 2020
Jun 2, 2022
Jun 2, 2022
Feb 19, 2020
Jun 2, 2022
Dec 6, 2022
Oct 14, 2022
Jun 1, 2022
Jun 1, 2022
Dec 6, 2022

Repository files navigation

Workflow Conclusion Action

CI Status codecov CodeFactor License: MIT

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

GitHub action to get workflow conclusion.

Table of Contents

Details

generated with TOC Generator

Usage

e.g. Lint => Test => Publish (only tagged) => slack (only if any job fails)

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 # set "needs" only last job except this job
    runs-on: ubuntu-latest
    if: always() # set "always"
    steps:
        # run this action to get the workflow conclusion
        # You can get the conclusion via env (env.WORKFLOW_CONCLUSION)
      - uses: technote-space/workflow-conclusion-action@v3

        # run other action with the workflow conclusion
      - uses: 8398a7/action-slack@v3
        with:
          # status: ${{ env.WORKFLOW_CONCLUSION }} # neutral, success, skipped, cancelled, timed_out, action_required, failure
          status: failure
        env:
          GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
          SLACK_WEBHOOK_URL: ${{ secrets.SLACK_WEBHOOK_URL }}
        if: env.WORKFLOW_CONCLUSION == 'failure' # notify only if failure

Success

Success

Slack action step is skipped because all jobs are success.

Failure

Failure

Slack action step has been executed even if some jobs were skipped.

Author

GitHub (Technote)
Blog