All Projects → sshaw → build-status

sshaw / build-status

Licence: other
Emacs minor mode that monitors and shows a buffer's build status in the mode line.

Programming Languages

emacs lisp
2029 projects

Projects that are alternatives of or similar to build-status

Cibuildwheel
🎡 Build Python wheels for all the platforms on CI with minimal configuration.
Stars: ✭ 620 (+2284.62%)
Mutual labels:  circleci, travis-ci, ci
docker-coala-base
coala base docker image
Stars: ✭ 20 (-23.08%)
Mutual labels:  circleci, travis-ci, ci
CI-Utils
Utilities for running Common Lisp on CI platforms
Stars: ✭ 18 (-30.77%)
Mutual labels:  circleci, travis-ci, ci
developer-ci-benefits
Talk docs—includes CI (Continuous Integration) benefits, description, and setup tips 💡💪
Stars: ✭ 29 (+11.54%)
Mutual labels:  circleci, travis-ci, ci
Nevergreen
🐤 A build monitor with attitude
Stars: ✭ 170 (+553.85%)
Mutual labels:  circleci, travis-ci, ci
ci playground
Playground for Cloud CI development for C++
Stars: ✭ 23 (-11.54%)
Mutual labels:  circleci, travis-ci, ci
Cargo Make
Rust task runner and build tool.
Stars: ✭ 895 (+3342.31%)
Mutual labels:  circleci, build, travis-ci
Ci Matters
Integration (comparison) of different continuous integration services on Android project
Stars: ✭ 119 (+357.69%)
Mutual labels:  circleci, travis-ci, ci
Ci Detector
Detect continuous integration environment and get information of current build
Stars: ✭ 138 (+430.77%)
Mutual labels:  circleci, travis-ci, ci
Monorepo
Showcase of how to manage building projects inside monorepo with Gradle as build tool and CircleCI, Bitbucket Pipelines, Travis CI or GitHub Actions as CI tool.
Stars: ✭ 129 (+396.15%)
Mutual labels:  circleci, travis-ci, ci
Build Harness
🤖Collection of Makefiles to facilitate building Golang projects, Dockerfiles, Helm charts, and more
Stars: ✭ 236 (+807.69%)
Mutual labels:  circleci, build, travis-ci
Pupernetes
Spin up a full fledged Kubernetes environment designed for local development & CI
Stars: ✭ 199 (+665.38%)
Mutual labels:  circleci, travis-ci, ci
ci-minikube
run minikube on ci
Stars: ✭ 28 (+7.69%)
Mutual labels:  circleci, travis-ci, ci
lighthouse-circleci-example
An example repo demonstrating Lighthouse testing in CircleCi
Stars: ✭ 21 (-19.23%)
Mutual labels:  circleci, ci
micromamba-docker
Rapid builds of small Conda-based containers using micromamba.
Stars: ✭ 97 (+273.08%)
Mutual labels:  build, ci
koshry
Run on CI, Apply Rules on the Build and Get the Result back to the Pull Request.
Stars: ✭ 59 (+126.92%)
Mutual labels:  circleci, travis-ci
AzDo.VstsDashboard
Provide a simple way to view all Builds and Releases on a single page. The intend was to see what's currently happened into the CI/CD pipeline and provide quick feedback of what's going on.
Stars: ✭ 16 (-38.46%)
Mutual labels:  build, ci
netlify-plugin-cache
⚡ Generic plugin for caching any files and/or folders between Netlify builds
Stars: ✭ 19 (-26.92%)
Mutual labels:  build, ci
build-plugin-template
Template repository to create new Netlify Build plugins.
Stars: ✭ 26 (+0%)
Mutual labels:  build, ci
googletest-ci
Continuous integration (CI) + Google Test (gtest) + CMake example boilerplate demo
Stars: ✭ 14 (-46.15%)
Mutual labels:  circleci, travis-ci

build-status

Emacs minor mode that shows a buffer's build status in the mode line.

build-status example running build-status example passing build-status example failing

Installation

From MELPA

Run M-x package-install build-status

Manual installation

Add build-status.el's directory to load-path

(require 'build-status)
(put 'build-status-mode-line-string 'risky-local-variable t)

Usage

M-x build-status-mode in a buffer that's part of a CI project.

By default the build status will be checked every 5 minutes. To change this set build-status-check-interval to the desired interval, in seconds.

API tokens can be set via the service-specific variable (see below) or via git config:

git config --add build-status.api-token TOKEN

To open the CI service's web page for buffer's build click on the mode's lighter or run M-x build-status-open.

Status Mapping

build-status will try to convert the CI service's status to one of the following:

  • failed
  • passed
  • queued
  • running

This is done via the service's status mapping alist.

If the status is not mapped it's treated as unknown (lighter is "?" and mouseover shows the status as is). You can ignore a status by mapping it to the symbol ignored.

See the Supported Services section below for more information.

Status Mode Line Faces

Each status indicator has an associated face. They're are listed below.

If you'd like to change the color and/or style of an indicator just update the appropriate face.

You can add a face for an unsupported status by creating a face named build-status-STATUS-face where STATUS is the name of the status with non-word characters replaced by "-".

build-status-face

All faces inherit from this face.

Attributes: none

build-status-failed-face

Attributes: :background "red"

build-status-passed-face

Attributes: :background "green"

build-status-queued-face

Attributes: :background "yellow"

build-status-running-face

Attributes: :background "yellow"

build-status-unknown-face

Used when the build status returns an unknown value. For more info see status mapping.

Attributes: none

Supported Services

CircleCI

The buffer's directory or one of its ancestors must contain a circle.yml file or .circleci directory.

To set a token (but also see git config tokens):

(setq build-status-circle-ci-token "YOUR-TOKEN")

Status mapping is controlled via build-status-circle-ci-status-mapping-alist. It defaults to:

'(("infrastructure_fail" . "failed")
  ("not_running" . "queued")
  ("success" . "passed")
  ("scheduled" . "queued")
  ("timedout" . "failed"))

Travis CI

The buffer's directory or one of its ancestors must contain a .travis.yml file.

To set a token (but also see git config tokens):

(setq build-status-travis-ci-token "YOUR-TOKEN")

Status mapping is controlled via build-status-travis-ci-status-mapping-alist. It defaults to:

'(("errored" . "failed")
  ("started" . "running")
  ("created" . "queued"))

By default, the open source Travis CI (travis-ci.org) is used. To use the pro or enterprise versions, set the build-status-travis-ci-domain variable to travis-ci.com, or the domain of your enterprise instance. If you have projects in both, directory variables are a good way to set up domain and token on a per-project basis.

TODOs

  • Support for Enterprise GitHub
  • Support for VCS mode hooks
  • Support for AppVeyor

See Also

Author

Skye Shaw [skye.shaw AT gmail.com]

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].