Skip to content

peaks-com/workflow-run-cleanup-action

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

32 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Conventional Commits

Workflow run cleanup action

This action cleans up previously running instances of a workflow on the same branch. This accomplishes the task of automatically cancelling CI runs on pushes to the same branch, which is a common feature in most CI systems but currently not possible with GitHub actions.

Configuration

  • DEBUG: if set to TRUE the debug logs will be printed.

  • The action uses the GitHub action environment variables to obtain the workflow name and branch. You must, however, set the GITHUB_TOKEN environment variable:

Note: if you use a personal access token, ensure that the repo scope is included.

Example usage

uses: rokroskar/workflow-run-cleanup-action
env:
  GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
  DEBUG: FALSE

You may want to disable this action from running on tags or master, especially if you have CD pipelines linked to your CI passing on every commit. In that case, something like this should work:

name: CI
on:
  push: []
  jobs:
    cleanup-runs:
      runs-on: ubuntu-latest
      steps:
      - uses: rokroskar/workflow-run-cleanup-action@master
        env:
          GITHUB_TOKEN: "${{ secrets.GITHUB_TOKEN }}"
      if: "!startsWith(github.ref, 'refs/tags/') && github.ref != 'refs/heads/master'"
    ...
    other-jobs:

About

Github action to cancel previous running instances of a workflow.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Shell 88.2%
  • Dockerfile 11.8%