Skip to content

Collection of useful Danger plugins to demonstrate its abilities

Notifications You must be signed in to change notification settings

eiskrenkov/threat

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

15 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Threat

Collection of useful Danger plugins which intends to help you get up and running with Danger faster

Danger itself - https://danger.systems

Usage

All you need to do to start using Threat is:

  1. Add it to your Gemfile
group :development, :test do
  gem 'threat', require: false
end
  1. Bundle
bundle install
  1. Import it into your Dangerfile
danger.import_dangerfile(gem: 'threat')
  1. Create a GitHub workflow which will run your Dangerfile when the PR is opened/updated
# .github/workflows/ci.yml

name: CI

on:
  pull_request:
    branches:
      - master

concurrency:
  group: ${{ github.workflow }}-${{ github.ref }}
  cancel-in-progress: true

# https://docs.github.com/en/actions/security-guides/automatic-token-authentication#permissions-for-the-github_token
permissions:
  actions: write
  checks: write
  contents: read
  statuses: write
  pull-requests: write

jobs:
  danger:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
        with:
          fetch-depth: 0

      - name: Set up Ruby
        uses: ruby/setup-ruby@v1
        with:
          ruby-version: 3.3.1
          bundler-cache: true

      - name: Run Danger
        env:
          DANGER_GITHUB_API_TOKEN: ${{ github.token }}
        run: bundle exec danger

Available plugins

  1. PR Title

Validates that the Pull Request title is in correct format, containing JIRA ticket number and a meaningful short description. This works best when combined with "use pr title" + squash and merge strategy in GitHub

# Dangerfile

danger.import_dangerfile(gem: 'threat')

pr_title.run!
  1. TODO

Checks if there are TODOs in PR diff. Can be improved by adding logic that will check if TODO was introduced in the PR itself, in this case warning message could be rephrased

# Dangerfile

danger.import_dangerfile(gem: 'threat')

todo.run!
  1. Confetti 🎉

Just add the following line at the bottom of your Dangerfile to celebrate a good run!

# Dangerfile

danger.import_dangerfile(gem: 'threat')

# The rest of your Dangerfile goes here...

confetti.run! unless failed?

P.S Raycast and macOS is required (not a paid promotion) (sorry @dhh)

Contributing

Yes, please 🥺

About

Collection of useful Danger plugins to demonstrate its abilities

Topics

Resources

Stars

Watchers

Forks

Languages