emacs-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [ELPA] New package: buildbot.el


From: Yuchen Pei
Subject: Re: [ELPA] New package: buildbot.el
Date: Wed, 12 Jul 2023 00:58:47 +1000
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/28.2 (gnu/linux)

Hi Prot,

Thanks for your comments. Please find my replies below.
On Tue 2023-07-11 00:06:12 +0300, Protesilaos Stavrou wrote:
>
> I will try to help though note that I have no means of testing
> buildbot.

Below I expand the example from README.org, using the mariadb buildbot.

First, some setup

#+begin_src elisp
(require 'buildbot)
(setq buildbot-host "https://buildbot.mariadb.org";)
(setq buildbot-builders (buildbot-get-all-builders))
#+end_src

Then, run one of the three entry point commands
`buildbot-revision-open', `buildbot-branch-open', or
`buildbot-builder-open' to get build results.

For example, to see build results of the 11.1 branch, do

M-x buildbot-branch-open <RET> 11.1 <RET>

which will display the commits and their build results.

HOWEVER, I made a mistake in assuming the package would work with any
buildbot instance with version >= 0.9.0: trying a few instances on [1]
I found out that is not the case. So I will need to fix that.

[1] https://github.com/buildbot/buildbot/wiki/SuccessStories

>
> Before checking the code of the package:
>
> * You have assigned copyright to the Free Software Foundation and are
>   the author/maintainer of the 'hcel' and 'luwak' GNU ELPA packages.
>
> * The 'buildbot' dependency uses the GPL version 2 and is a member of
>   the Software Freedom Conservancy.

Yeah, though this kind of dependency is different from the dependency on
another library e.g. the dependency on the `json' feature. From a
license point of view, the license of a client program gnerally should
not affect or be affected by that of a server program on another
computer.

>From a user freedom point of view, it is not an issue if 1. the server
program does not do the user's own computing OR 2. the server is
controlled by a project the user belongs to and the server program is
free. So because of 1. it is ok to download / stream video from youtube
if it does not involve nonfree js because the video is hosted on another
computer. In the case of buildbot or CI in general it is a bit more
complicated because CI is doing the user's own computing, i.e. compiling
and testing code, but I think it is safe to assume the typical user of a
CI is a developer of a project they are part of i.e. 2. is satisfied.

https://www.gnu.org/philosophy/who-does-that-server-really-serve.en.html

>
> Notes about the code in your buildbot.el:
>
> 1. The 'buildbot.el' file lacks a terminating comment (the "... ends
>    here" part).  Your other files have it.

Done.

>
> 2. I notice that 'M-x checkdoc' returns a few issues in your files.
>    Though, for example, in 'buildbot-client.el' they seem to be false
>    positives.  Addressing those is not a priority.  I personally do it
>    so that notes do not crowd out errors/warnings.

They are all "Probably "foos" should be imperative "foo"", which do
not make sense to me. An example is the docstring "Get the
revision-info and builds from a set of CHANGES." where it complains
about the "CHANGES".

>
> 3. In 'buildbot-utils.el' the functions 'buildbot-url-fetch-json' and
>    'buildbot-url-fetch-raw' can be consolidated.

Done.

>
> 4. In 'buildbot-view.el', you are defining key bindings in many
>    places.  It may be easier to have them all in one place where the
>    keymap is defined as a variable.
>

Done.

Best,
Yuchen

-- 
PGP Key: 47F9 D050 1E11 8879 9040  4941 2126 7E93 EF86 DFD0
          <https://ypei.org/assets/ypei-pubkey.txt>



reply via email to

[Prev in Thread] Current Thread [Next in Thread]