{"id":13862654,"url":"https://github.com/sshaw/build-status","last_synced_at":"2025-08-16T16:32:47.747Z","repository":{"id":136717821,"uuid":"79175862","full_name":"sshaw/build-status","owner":"sshaw","description":"Emacs minor mode that monitors and shows a buffer's build status in the mode line.","archived":false,"fork":false,"pushed_at":"2019-08-07T12:31:48.000Z","size":76,"stargazers_count":27,"open_issues_count":3,"forks_count":2,"subscribers_count":4,"default_branch":"master","last_synced_at":"2024-12-01T18:45:06.631Z","etag":null,"topics":["build","ci","circleci","emacs","mode","mode-line","travis-ci"],"latest_commit_sha":null,"homepage":"","language":"Emacs Lisp","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/sshaw.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null}},"created_at":"2017-01-17T01:31:53.000Z","updated_at":"2023-07-22T21:18:34.000Z","dependencies_parsed_at":"2023-07-03T09:00:35.326Z","dependency_job_id":null,"html_url":"https://github.com/sshaw/build-status","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sshaw%2Fbuild-status","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sshaw%2Fbuild-status/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sshaw%2Fbuild-status/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sshaw%2Fbuild-status/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/sshaw","download_url":"https://codeload.github.com/sshaw/build-status/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":229805739,"owners_count":18126901,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["build","ci","circleci","emacs","mode","mode-line","travis-ci"],"created_at":"2024-08-05T06:01:49.419Z","updated_at":"2024-12-17T00:43:11.375Z","avatar_url":"https://github.com/sshaw.png","language":"Emacs Lisp","funding_links":[],"categories":["Emacs Lisp"],"sub_categories":[],"readme":"# build-status\n\nEmacs minor mode that shows a buffer's build status in the mode line.\n\n![build-status example running](example-running.png)\n![build-status example passing](example-passing.png)\n![build-status example failing](example-failing.png)\n\n## Installation\n\nFrom MELPA\n\nRun `M-x package-install` `build-status`\n\nManual installation\n\nAdd `build-status.el`'s directory to `load-path`\n\n```el\n(require 'build-status)\n(put 'build-status-mode-line-string 'risky-local-variable t)\n```\n\n## Usage\n\n`M-x build-status-mode` in a buffer that's part of a CI project.\n\nBy default the build status will be checked every 5 minutes. To change this\nset `build-status-check-interval` to the desired interval, in seconds.\n\nAPI tokens can be set via the service-specific variable (see below) or via `git config`:\n\n```\ngit config --add build-status.api-token TOKEN\n```\n\nTo open the CI service's web page for buffer's build click on the mode's lighter or\nrun `M-x build-status-open`.\n\n## Status Mapping\n\n`build-status` will try to convert the CI service's status to one of the following:\n\n* failed\n* passed\n* queued\n* running\n\nThis is done via the service's status mapping alist.\n\nIf the status is not mapped it's treated as unknown (lighter is `\"?\"` and mouseover shows\nthe status as is). You can ignore a status by mapping it to the symbol `ignored`.\n\nSee the [Supported Services section](#supported-services) below for more information.\n\n## Status Mode Line Faces\n\nEach status indicator has an associated face. They're are listed below.\n\nIf you'd like to change the color and/or style of an indicator just\n[update the appropriate face](https://www.gnu.org/software/emacs/manual/html_node/elisp/Attribute-Functions.html#Attribute-Functions).\n\nYou can add a face for an unsupported status by creating a face named `build-status-STATUS-face` where `STATUS` is the name of the\nstatus with non-word characters replaced by \"-\".\n\n### `build-status-face`\n\nAll faces inherit from this face.\n\nAttributes: none\n\n### `build-status-failed-face`\n\nAttributes: `:background \"red\"`\n\n### `build-status-passed-face`\n\nAttributes: `:background \"green\"`\n\n### `build-status-queued-face`\n\nAttributes: `:background \"yellow\"`\n\n### `build-status-running-face`\n\nAttributes: `:background \"yellow\"`\n\n### `build-status-unknown-face`\n\nUsed when the build status returns an unknown value. For more info see [status mapping](#status-mapping).\n\nAttributes: none\n\n## Supported Services\n\n### CircleCI\n\nThe buffer's directory or one of its ancestors must contain a `circle.yml` file or `.circleci` directory.\n\nTo set a token (but also see [`git config` tokens](#usage)):\n\n```el\n(setq build-status-circle-ci-token \"YOUR-TOKEN\")\n```\n\nStatus mapping is controlled via `build-status-circle-ci-status-mapping-alist`. It\ndefaults to:\n\n```el\n'((\"infrastructure_fail\" . \"failed\")\n  (\"not_running\" . \"queued\")\n  (\"success\" . \"passed\")\n  (\"scheduled\" . \"queued\")\n  (\"timedout\" . \"failed\"))\n```\n\n### Travis CI\n\nThe buffer's directory or one of its ancestors must contain a `.travis.yml` file.\n\nTo set a token (but also see [`git config` tokens](#usage)):\n\n```el\n(setq build-status-travis-ci-token \"YOUR-TOKEN\")\n```\n\nStatus mapping is controlled via `build-status-travis-ci-status-mapping-alist`. It\ndefaults to:\n\n```el\n'((\"errored\" . \"failed\")\n  (\"started\" . \"running\")\n  (\"created\" . \"queued\"))\n```\n\nBy default, the open source Travis CI (travis-ci.org) is used. To use the pro or\nenterprise versions, set the `build-status-travis-ci-domain` variable to\n`travis-ci.com`, or the domain of your enterprise instance. If you have projects\nin both, [directory\nvariables](https://www.gnu.org/software/emacs/manual/html_node/emacs/Directory-Variables.html#Directory-Variables)\nare a good way to set up domain and token on a per-project basis.\n\n## TODOs\n\n* Support for Enterprise GitHub\n* Support for VCS mode hooks\n* Support for AppVeyor\n\n## See Also\n\n* [jenkins-watch](https://github.com/ataylor284/jenkins-watch)\n* [github-notifier](https://github.com/xuchunyang/github-notifier.el)\n\n## Author\n\nSkye Shaw [skye.shaw AT gmail.com]\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsshaw%2Fbuild-status","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsshaw%2Fbuild-status","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsshaw%2Fbuild-status/lists"}