DEV Community

Cover image for How to lint PRs and welcome contributors using GitHub Actions

How to lint PRs and welcome contributors using GitHub Actions

Motivation

Expanding the @open-sauced ecosystem, it became tedious to apply all the necessary tooling available in open-sauced/open-sauced to newly created repositories and synchronising existing ones with minor updates.

Having github actions reusable workflows, we figured it would make a lot of sense to centralise our workflows and referencing them in other repositories.

The process was very simple and we want to showcase how to apply a similar process for your own organisation.

My Workflow

name: "Compliance"

on:
  pull_request_target:
    types:
      - opened
      - edited
      - synchronize

permissions:
  pull-requests: write

jobs:
  compliance:
    uses: open-sauced/open-sauced/.github/workflows/compliance.yml@main
Enter fullscreen mode Exit fullscreen mode

The full workflow is available here: .github/workflows/compliance.yml

Submission Category: Maintainer Must-Haves

Yaml File or Link to Code

Live repository using this workflow:

GitHub logo open-sauced / conventional-commit

commit binary powered by commitizen with conventional commit standard

Open Sauced

@open-sauced/conventional-commit

Never miss a conventional commit with commitizen running on npx.

Commits Issues Releases Discord Twitter

📦 Install

This package is binary and doesn't require installation however you can add it to your repository as a devDependency:

npm install --save-dev @open-sauced/conventional-commit
Enter fullscreen mode Exit fullscreen mode

🚀 Usage

All you have to do is run the script next to your package.json:

npx @open-sauced/conventional-commit
# or
npx conventional-commit
Enter fullscreen mode Exit fullscreen mode

🔧 Configuration

The most common use case for this package is to run it instead of the git commit command inside your npm scripts:

{
  "scripts": {
    "push": "npx @open-sauced/conventional-commit"
  }
}
Enter fullscreen mode Exit fullscreen mode

or

{
  "scripts": {
    "push": "npx conventional-commit"
  }
}
Enter fullscreen mode Exit fullscreen mode

If you want to ensure local-only usage:

{
  "scripts": {
    "push": "conventional-commit"
  }
}
Enter fullscreen mode Exit fullscreen mode

🤝 Contributing

We encourage you to contribute to Open Sauced! Please check out the Contributing guide for guidelines about how to proceed.

If…

Yaml file link:
@open-sauced/open-sauced/.github/workflows/compliance.yml

Additional Resources / Info

Here are all the open source actions we are using to power this compliance workflow:

Be sure to include the DEV usernames of your collaborators:

Top comments (0)