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

Latest commit

 

History

History
105 lines (72 loc) · 3.15 KB

README.md

File metadata and controls

105 lines (72 loc) · 3.15 KB

Plumber

Unit tests Total alerts Language grade: JavaScript codecov Mergify Status code style: prettier Maintainer

TODO

  • integration with PP
  • integration with Sentry
  • helper HTTP endpoint
  • Replace bug references with links to trackers

About

Plumber is a GitHub App built with Probot that helps to automate source-git workflows of Red Hat Plumbers team. Plumber is closely integrated with Red Hat Bugzilla, using NodeJs module bugzilla.

List of features:

  • Commit message linting (Resolves, Related)
  • Support for Bugzilla flags (qa_ack, devel_ack, release, etc.)
  • Y-stream, Z-stream and multi-release support
  • Configurable
  • prepare for possible jira implementation (jira-client)
  • Bugzilla checks (release, etc.)

Examples

# .github/plumber.yml
package: "systemd"

config:
  - branch: "main"
    release: "c9s"
  - branch: "rhel-9.0.0"
    release: "9.0.0"
  - branch: "rhel-9.1.0"
    release: "9.1.0"

rules:
  bugzillaReference:
    label: "needs-bz"

  review:
    label: "needs-review"

  ci:
    label: "needs-ci"

  upstreamReference:
    label: "needs-upstream"

  flags:
    label: "needs-flags"
    flags: ["qa_ack", "devel_ack", "release"]

Usage

Repositories that are using Plumber bot: ...

Configuration

Plumber is configurable using .github/plumber.yml. Configuration is required to allow Plumber so successfully run on repository.

Plumber configuration supports following keys and values:

Sentry

Plumber allows to enable Sentry module is invoked using configuration.

Development

...

# Install dependencies
yarn

# Compile sources
yarn build

# Run tests
yarn test

# Run the bot
yarn start

Docker

...

# 1. Build container
docker build -t plumber .

# 2. Start container
docker run -e APP_ID=<app-id> -e PRIVATE_KEY=<pem-value> plumber