diff options
-rw-r--r-- | .gitignore | 3 | ||||
-rw-r--r-- | README.org | 21 | ||||
-rw-r--r-- | buildbot-client.el | 38 | ||||
-rw-r--r-- | buildbot-utils.el | 27 | ||||
-rw-r--r-- | buildbot-view.el | 28 | ||||
-rw-r--r-- | buildbot.el | 32 |
6 files changed, 85 insertions, 64 deletions
@@ -1 +1,2 @@ -*~
\ No newline at end of file +*~ +*.elc
\ No newline at end of file @@ -1,11 +1,19 @@ #+title: buildbot.el +#+author: Yuchen Pei +#+language: en -buildbot.el is a buildbot client for emacs. It shows views for -branches, revisions, builds, steps, and logs. +[[https://www.buildbot.net/][Buildbot]] is a free software continuous integration tool. buildbot.el +is an emacs interface to view build information on a Buildbot +instance. It supports newer versions of Buildbot (e.g. 3.x) but not +older versions (e.g. 0.8.9) and shows views for branches, revisions, +builds, steps, logs and builders. * Install ** Manual install + :PROPERTIES: + :UPDATED: [2023-06-26 Mon 16:44] + :END: Clone this repo, and add to load path (assuming you clone to ~~/.emacs.d~): @@ -19,7 +27,7 @@ git clone https://g.ypei.me/buildbot.el.git (add-to-list 'load-path "~/.emacs.d/buildbot.el") #+end_src -After that, require buildbot and set the host and builders. +After that, require buildbot and set the host and builders, like so #+begin_src elisp (require 'buildbot) @@ -40,9 +48,14 @@ Entry points: builder. * TODOs + :PROPERTIES: + :UPDATED: [2023-06-26 Mon 17:04] + :END: - org link integration. -- older buildbot api. +- older buildbot api (not really sure if feasible) +- copy url of the current view +- highlight certain builders (e.g. mandatory for push) * Contact and Copyright diff --git a/buildbot-client.el b/buildbot-client.el index ecc5757..a681583 100644 --- a/buildbot-client.el +++ b/buildbot-client.el @@ -1,32 +1,34 @@ ;;; buildbot-client.el --- Client code using buildbot api -*- lexical-binding: t; -*- ;; Copyright (C) 2023 Free Software Foundation, Inc. -;; +;; ;; This file is part of buildbot.el. -;; -;; buildbot.el is free software: you can redistribute it and/or modify it under -;; the terms of the GNU Affero General Public License as published by the Free -;; Software Foundation, either version 3 of the License, or (at your option) any -;; later version. -;; -;; buildbot.el is distributed in the hope that it will be useful, but WITHOUT -;; ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS -;; FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more -;; details. -;; -;; You should have received a copy of the GNU Affero General Public License -;; along with buildbot.el. If not, see <https://www.gnu.org/licenses/>. +;; +;; buildbot.el is free software: you can redistribute it and/or modify +;; it under the terms of the GNU Affero General Public License as +;; published by the Free Software Foundation, either version 3 of the +;; License, or (at your option) any later version. +;; +;; buildbot.el is distributed in the hope that it will be useful, but +;; WITHOUT ANY WARRANTY; without even the implied warranty of +;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +;; Affero General Public License for more details. +;; +;; You should have received a copy of the GNU Affero General Public +;; License along with buildbot.el. If not, see +;; <https://www.gnu.org/licenses/>. ;;; Commentary: -;; buildbot-client provides functions for buildbot.el to get stuff from a -;; buildbot server. +;; buildbot-client provides functions for buildbot.el to get stuff +;; from a buildbot server. ;;; Code: (require 'buildbot-utils) -(defvar buildbot-host) -(defvar buildbot-builders) +(defvar buildbot-host nil "Buildbot instance host") +(defvar buildbot-builders nil + "Buildbot builders. Can be generated with (buildbot-get-all-builders)") (defun buildbot-api-change (attr) (buildbot-url-fetch-json diff --git a/buildbot-utils.el b/buildbot-utils.el index 57c0a22..cdb0cae 100644 --- a/buildbot-utils.el +++ b/buildbot-utils.el @@ -1,21 +1,22 @@ ;;; buildbot-utils.el --- Commonly used utilities. -*- lexical-binding: t; -*- ;; Copyright (C) 2023 Free Software Foundation, Inc. -;; +;; ;; This file is part of buildbot.el. -;; -;; buildbot.el is free software: you can redistribute it and/or modify it under -;; the terms of the GNU Affero General Public License as published by -;; the Free Software Foundation, either version 3 of the License, or -;; (at your option) any later version. -;; -;; buildbot.el is distributed in the hope that it will be useful, but WITHOUT -;; ANY WARRANTY; without even the implied warranty of MERCHANTABILITY -;; or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General -;; Public License for more details. -;; +;; +;; buildbot.el is free software: you can redistribute it and/or modify +;; it under the terms of the GNU Affero General Public License as +;; published by the Free Software Foundation, either version 3 of the +;; License, or (at your option) any later version. +;; +;; buildbot.el is distributed in the hope that it will be useful, but +;; WITHOUT ANY WARRANTY; without even the implied warranty of +;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +;; Affero General Public License for more details. +;; ;; You should have received a copy of the GNU Affero General Public -;; License along with buildbot.el. If not, see <https://www.gnu.org/licenses/>. +;; License along with buildbot.el. If not, see +;; <https://www.gnu.org/licenses/>. (defvar buildbot-client-buffer-name "*buildbot api*") diff --git a/buildbot-view.el b/buildbot-view.el index a45aa60..78cf3fd 100644 --- a/buildbot-view.el +++ b/buildbot-view.el @@ -1,24 +1,26 @@ ;;; buildbot-view.el --- buildbot.el UI -*- lexical-binding: t; -*- ;; Copyright (C) 2023 Free Software Foundation, Inc. -;; +;; ;; This file is part of buildbot.el. -;; -;; buildbot.el is free software: you can redistribute it and/or modify it under -;; the terms of the GNU Affero General Public License as published by -;; the Free Software Foundation, either version 3 of the License, or -;; (at your option) any later version. -;; -;; buildbot.el is distributed in the hope that it will be useful, but WITHOUT -;; ANY WARRANTY; without even the implied warranty of MERCHANTABILITY -;; or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General -;; Public License for more details. -;; +;; +;; buildbot.el is free software: you can redistribute it and/or modify +;; it under the terms of the GNU Affero General Public License as +;; published by the Free Software Foundation, either version 3 of the +;; License, or (at your option) any later version. +;; +;; buildbot.el is distributed in the hope that it will be useful, but +;; WITHOUT ANY WARRANTY; without even the implied warranty of +;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +;; Affero General Public License for more details. +;; ;; You should have received a copy of the GNU Affero General Public -;; License along with buildbot.el. If not, see <https://www.gnu.org/licenses/>. +;; License along with buildbot.el. If not, see +;; <https://www.gnu.org/licenses/>. (require 'buildbot-utils) (require 'buildbot-client) +(require 'text-property-search) (defvar buildbot-view-header-regex "^\\[.*\\]$") (defvar buildbot-view-branch-change-limit 10) diff --git a/buildbot.el b/buildbot.el index a9fdd31..2dc6780 100644 --- a/buildbot.el +++ b/buildbot.el @@ -4,27 +4,29 @@ ;; Maintainer: Yuchen Pei <id@ypei.org> ;; Created: 2023 ;; Version: 1.0.0 -;; Keywords: buildbot +;; Keywords: buildbot, continuous integration ;; Package-Requires: ((emacs "28")) ;; Package-Type: multi ;; Homepage: https://g.ypei.me/buildbot.el.git ;; Copyright (C) 2023 Free Software Foundation, Inc. -;; +;; ;; This file is part of buildbot.el. -;; -;; buildbot.el is free software: you can redistribute it and/or modify it under -;; the terms of the GNU Affero General Public License as published by -;; the Free Software Foundation, either version 3 of the License, or -;; (at your option) any later version. -;; -;; buildbot.el is distributed in the hope that it will be useful, but WITHOUT -;; ANY WARRANTY; without even the implied warranty of MERCHANTABILITY -;; or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General -;; Public License for more details. -;; -;; You should have received a copy of the GNU Affero General Public License -;; along with buildbot.el. If not, see <https://www.gnu.org/licenses/>. +;; +;; buildbot.el is free software: you can redistribute it and/or modify +;; it under the terms of the GNU Affero General Public License as +;; published by the Free Software Foundation, either version 3 of the +;; License, or (at your option) any later version. +;; +;; buildbot.el is distributed in the hope that it will be useful, but +;; WITHOUT ANY WARRANTY; without even the implied warranty of +;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +;; Affero General Public License for more details. +;; +;; You should have received a copy of the GNU Affero General Public +;; License along with buildbot.el. If not, see +;; <https://www.gnu.org/licenses/>. + (require 'buildbot-client) (require 'buildbot-view) |