Skip to content

🎯 Automatically add badges to README.md for your repository

License

Notifications You must be signed in to change notification settings

wow-actions/add-badges

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

Latest commit

 

History

28 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Add Badges

Automatically add badges on shield.io to README.md for your repository

MIT License Language PRs Welcome website build Language grade: JavaScript

Usage

  1. Specify the location of badges in your README.md file by adding some comments:
<!-- [START BADGES] -->
<!-- [END BADGES] -->
  1. Create a workflow file such as .github/workflows/add-badges.yml in your repository.

MIT License Language PRs Welcome website build Language grade: JavaScript

name: Add Badges
on:
  push:
    branches:
      - master
jobs:
  run:
    runs-on: ubuntu-latest
    steps:
      - uses: wow-actions/add-badges@v1
        env:
          repo_url: ${{ github.event.repository.html_url }}
          repo_name: ${{ github.event.repository.name }}
          repo_owner: ${{ github.event.repository.owner.login }}
        with:
          GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
          badges: |
            [
              {
                "badge": "https://img.shields.io/github/license/${{ env.repo_owner }}/${{ env.repo_name }}?style=flat-square",
                "alt": "MIT License",
                "link": "${{ env.repo_url }}/blob/master/LICENSE"
              },
              {
                "badge": "https://img.shields.io/badge/language-TypeScript-blue.svg?style=flat-square",
                "alt": "Language",
                "link": "https://www.typescriptlang.org"
              },
              {
                "badge": "https://img.shields.io/badge/PRs-Welcome-brightgreen.svg?style=flat-square",
                "alt": "PRs Welcome",
                "link": "${{ env.repo_url }}/pulls"
              },
              {
                "badge": "https://img.shields.io/static/v1?label=&labelColor=505050&message=marketplace&color=0076D6&style=flat-square&logo=google-chrome&logoColor=0076D6",
                "alt": "website",
                "link": "https://github.com/marketplace/actions/${{ env.repo_name }}"
              },
              {
                "badge": "https://img.shields.io/github/workflow/status/${{ env.repo_owner }}/${{ env.repo_name }}/Release/master?logo=github&style=flat-square",
                "alt": "build",
                "link": "${{ env.repo_url }}/actions/workflows/release.yml"
              },
              {
                "badge": "https://img.shields.io/lgtm/grade/javascript/g/${{ env.repo_owner }}/${{ env.repo_name }}.svg?logo=lgtm&style=flat-square",
                "alt": "Language grade: JavaScript",
                "link": "https://lgtm.com/projects/g/${{ env.repo_owner }}/${{ env.repo_name }}/context:javascript"
              }
            ]

We also can add multi-line badges with nested array.

MIT License Language PRs Welcome website

build Language grade: JavaScript

name: Add Badges
on:
  push:
    branches:
      - master
jobs:
  run:
    runs-on: ubuntu-latest
    steps:
      - uses: wow-actions/add-badges@v1
        env:
          repo_url: ${{ github.event.repository.html_url }}
          repo_name: ${{ github.event.repository.name }}
          repo_owner: ${{ github.event.repository.owner.login }}
        with:
          GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
          center: true
          badges: |
            [
              [
                {
                  "badge": "https://img.shields.io/github/license/${{ env.repo_owner }}/${{ env.repo_name }}?style=flat-square",
                  "alt": "MIT License",
                  "link": "${{ env.repo_url }}/blob/master/LICENSE"
                },
                {
                  "badge": "https://img.shields.io/badge/language-TypeScript-blue.svg?style=flat-square",
                  "alt": "Language",
                  "link": "https://www.typescriptlang.org"
                },
                {
                  "badge": "https://img.shields.io/badge/PRs-Welcome-brightgreen.svg?style=flat-square",
                  "alt": "PRs Welcome",
                  "link": "${{ env.repo_url }}/pulls"
                },
                {
                  "badge": "https://img.shields.io/static/v1?label=&labelColor=505050&message=marketplace&color=0076D6&style=flat-square&logo=google-chrome&logoColor=0076D6",
                  "alt": "website",
                  "link": "https://github.com/marketplace/actions/${{ env.repo_name }}"
                }
              ],
              [
                {
                  "badge": "https://img.shields.io/github/workflow/status/${{ env.repo_owner }}/${{ env.repo_name }}/Release/master?logo=github&style=flat-square",
                  "alt": "build",
                  "link": "${{ env.repo_url }}/actions/workflows/release.yml"
                },
                {
                  "badge": "https://img.shields.io/lgtm/grade/javascript/g/${{ env.repo_owner }}/${{ env.repo_name }}.svg?logo=lgtm&style=flat-square",
                  "alt": "Language grade: JavaScript",
                  "link": "https://lgtm.com/projects/g/${{ env.repo_owner }}/${{ env.repo_name }}/context:javascript"
                }
              ]
            ]

Inputs

Various inputs are defined to let you configure the action:

Note: Workflow command and parameter names are not case-sensitive.

Name Description Default
GITHUB_TOKEN The GitHub token for authentication N/A
badges Badges to add N/A
path The file path to add badges 'README.md'
center Should center align the badges or not false
commit_message Commit message 'docs: add badges [skip ci]'
committer_name The name of the author or committer of the commit. 'github-actions[bot]'
committer_email The email of the author or committer of the commit. 'github-actions[bot]@users.noreply.github.com'
opening_comment The comment to match the start line of badges section '<!-- [START BADGES] -->'
closing_comment The comment to match the end line of badges section '<!-- [END BADGES] -->'

License

The scripts and documentation in this project are released under the MIT License.