On Wed, Nov 13, 2024 at 05:12:48PM +0100, Pavel Sanda wrote:
> On Sun, Nov 10, 2024 at 05:00:04PM +0100, Scott Kostyshak wrote:
> > I have been working on a build script that helps during a bisect by
> > backporting compiler fixes. Is anyone interested in this? Let me know if
> > so and we can figure out how to integrate it into your build setup.
> 
> I sometimes need to do this manually, so yes, this might get useful
> from time to time.
> 
> Can you describe
> 1) how exactly it works in backgrounds?

Do you mean backporting? It checks if a certain commit is in the log, and if 
not it cherry-picks it. For example:

  if ! git merge-base --is-ancestor "b73ab025" HEAD; then
    git cherry-pick --keep-redundant-commits -x -X theirs "b73ab025"
  fi

It might make sense for me to factor this part of the code out, in case people 
want to use this feature as a standalone for their own build scripts.

> 2) what's the expected commandline usage?

./lyxbuild --help gives the arguments and their descriptions. For example the 
--help output gives:

  -o, --patch-old              apply needed patches to build old commits on new 
systems

A simple setup would be the following:

1. Create an alias so that lyxbuild is found. I have the following, for
   example:

   alias lyxbuild='~/"lyx-tester/lyxbuild"'

2. cd to the LyX source code repository that you have cloned.

3. run "lyxbuild --patch-old".

By default, it uses CMake, and it creates the build directory in the parent 
directory, specifically: it creates this as the build directory: ../CMakeBuild. 
There is an arugment to use autotools instead.

By using different arguments, you can change that. There are arguments to 
compile with clang vs. GCC, autotools vs CMake, and Qt5 vs Qt6. And I'd be 
happy to add whatever other features people want.

> >   https://gitlab.com/scottkosty/lyx-tester
> 
> I see this is part of bigger repo.
> 
> 1) Would you welcome if we create new repo in git.lyx.org so you don't need 
> to deal with gitlab
>    and other have easy commit access as well?

I think I would prefer to either leave it on GitLab or put it directly in the 
LyX repository under "development". The files are really light:

  $ du -sh lyx-tester/
  144K  lyx-tester/

This way, the build script and test scripts would be in sync with the source 
code. That said, if there is a strong preference to make a new repository, I 
would be open.

> 2) We don't have working jenkins for us anymore on the french site, but I 
> could prepare for
>    you virtual machine with ubuntu on OSUOSL for automatic running of the 
> tests and set it
>    up for automatic emailing to our list in case of errros if that seems 
> useful for you.

Yes, this would be amazing! I would really like this.

>    You could either directly use that ubuntu environment or setup some 
> docker/whatever
>    containers to get testing under stable and testing releases of OS/texlive.
>    
>    Any interest in having it? (I can create the machine, setup ubuntu and 
> mailing,
>    but the rest of the machine config would be on your shoulders.)

Yes, lots of interest. I don't know anything about docker. But if I can just 
ssh into the machine like a normal system then the setup should be easy to run 
the tests. (I will take your offer to set up the mailing).

Which Ubuntu version would it be? That way, I can do a fresh install of that on 
my own Virtual Box locally and figure out exactly which commands I need to run 
to have everything set up.

The tests take a long time to run (several hours on one CPU). So running the 
tests often would be a considerable amount of cycles/power. Would we run the 
tests once per day? This is OK for OSUOSL? I would personally argue this would 
be a good use of our funds, to donate in compensation for the cycles; but I'm 
not sure how other developers feel about this.

Thank you, Pavel. I'm excited about this possibility!

Kornel, I'm guessing that at some point we might need to ask for your help. Is 
this idea interesting to you as well? In theory, if Pavel sets up everything 
else, it is easy to just "run the tests" so maybe I will not need to bother 
you. But I would not be surprised if we need help with the CMake/ctest code to 
adapt to some (not sure what) issue that comes up.

Scott

Attachment: signature.asc
Description: PGP signature

-- 
lyx-devel mailing list
lyx-devel@lists.lyx.org
https://lists.lyx.org/mailman/listinfo/lyx-devel

Reply via email to