Skip to content

nixmade/pippy

Repository files navigation

pippy Logo

pippy

Create dynamic pipelines on github actions


Introduction

Welcome to pippy, thank you visiting this project. Pippy allows you to create configurable pipelines on Github Actions(a.k.a workflows). Examples,

  1. CI(Tests) -> Build docker image -> Deploy docker image (Staging) -> Approval -> Deploy docker image(Production)
  2. Terraform plan -> Approval -> Terraform apply
  3. Deploy Staging -> E2E Tests(Datadog monitored) -> Approval -> Deploy Production

Features

  1. Automatic rollback on workflow or datadog failures.
  2. Halt pipeline on workflow failures.
  3. Datadog Monitoring upto pre configured time (default: 15mins after workflow execution completes).
  4. Stage approval.
  5. Lock pipelines to avoid any approvals.
  6. Audits for critical actions.
  7. Ability to create pipelines dynamically without learning YAML

Installation

brew install nixmade/tap/pippy

Quick Start

  • Perform github login (all data is stored locally)
pippy user login
  • Workflows used as part of pipeline needs to be pippy ready. Use spacebar to select repo
pippy workflow validate
  • After corresponding changes are made to workflows and merged to repo, verify by running above validations

  • Create a new pipeline by following steps

pippy pipeline create --name my-first-pipeline

  • Execute your first pipeline run by providing pipeline inputs
pippy pipeline run execute --name my-first-pipeline -input version=e3d0bea
  • List recent pipeline runs
pippy pipeline run list --name my-first-pipeline

How it works

Flow

Faq

Do you have cloud/hosted solution?

Cloud/Hosted version is coming soon, please signup here at pippy, this has some additional features

  • Github triggers
  • Collaboration for teams

What are the alternatives?

If you do not require any features mentioned above, you can easily chain your workflows in github reusing workflows, be aware of the limitations.

Where is the data stored?

All data is stored locally in HOMEDIR/.pippy