Coder Social home page Coder Social logo

keira's Introduction

Keira logo

Keira: Nightly build notifications

Once a week Keira retrieves data from CircleCI's API on how many times Nightly builds have failed and sends a Slack message to the associated channels if that number is too high.

The intention is to keep teams informed about older, less well-known, or less active projects which may start to degrade.

How Keira works

  1. The Circle CI API is queried for the status of configured projects
  2. If there have been too many build failures over the past week reports are sent to the channels associated with that project. Currently the threshold is 4
  3. Other issues reported by the API are reported automatically

In the case of failure to send the Slack message, the support channel (currently #keira-playground) is notified.

Installation

  1. git clone [email protected]:Financial-Times/keira.git
    cd keira
    npm install
  2. In LastPass find Shared-Next/Keira .env and copy the contents to a local .env file in the root of the project:
    # .env
    CIRCLE_TOKEN=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
    SLACK_TOKEN=xoxb-xxxxxxxxxx-xxxxxxxxxxxxx-xxxxxxxxxxxxxxxxxxxxxxxx

Run node src/index to trigger a report.

Configuration

Projects to be checked are listed in config/projects.json.

The minimal required config for a project looks like this:

{
  "next-consent-proxy": {
    "channels": ["#ads-tech-rota"]
  }
}

More options are available:

{
  "next-consent-proxy": {
    "channels": ["#ads-tech-rota"]     // List as many as required
    "branch": "main"                   // The current default is "master"
    "workflow": "build-test-provision" // Any workflow can be watched
  }
}

Roadmap

  • Add .env keys to LastPass
  • Automate running Keira weekly. Sam Parkinson has suggested using a Circle CI job
  • Add logging
  • More test coverage
  • Create a "sandbox mode" to avoid spamming channels during development
  • Add more projects

keira's People

Contributors

oliverturner avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.