Skip to content
This repository has been archived by the owner on Nov 28, 2023. It is now read-only.

CI and tests #3

Open
Ambrevar opened this issue Jul 24, 2022 · 8 comments
Open

CI and tests #3

Ambrevar opened this issue Jul 24, 2022 · 8 comments

Comments

@Ambrevar
Copy link
Contributor

There is a lot to backport from Nyxt in this area:

  • Check for compilation warnings
  • Check for unbound exported symbols.
  • Validate make-instance symbols

Nyxt currently only compiles against SBCL and CCL.
But libraries could (and should?) be tested against ECL, ABCL, CLISP and Clasp.

In my experience, there are a few blockers though:

@aartaka
Copy link
Contributor

aartaka commented Nov 1, 2022

There's a piece of CI abstracted from Nyxt CI, on ntemplate. There also is a sensible template for testing. What I'd like to add is a benchmarking template akin to prompter benchmark from Nyxt.

And then, most implementations I've tried adding to CI—they all fail. ABCL and CLISP in particular. And ECL on Ubuntu is breaking with almost 100% probability.

I guess that this can be closed.

@Ambrevar
Copy link
Contributor Author

Ambrevar commented Nov 1, 2022

Why do ABCL and CLISP fail? Do you have examples to share?

Something else that could be added: merge atlas-engineer/nyxt#2305, then update ntemplate to normalize the testing process of compilation warning checks, unexported symbol checks, etc.

@aartaka
Copy link
Contributor

aartaka commented Nov 2, 2022

Why do ABCL and CLISP fail? Do you have examples to share?

CLISP: See this njson commit CI atlas-engineer/njson@4449701

ABCL: I haven't actually tested much of it, but there were problems with it at the installation stage IIRC. It refused to install basically.

Something else that could be added: merge atlas-engineer/nyxt#2305, then update ntemplate to normalize the testing process of compilation warning checks, unexported symbol checks, etc.

Yes!

@Ambrevar
Copy link
Contributor Author

Ambrevar commented Nov 2, 2022

Note that we could use Guix to install CLISP and ABCL.

CLISP will fail loading local package nicknames. Unless we compile this fork instead https://gitlab.com/gnu-clisp/clisp/-/merge_requests/3

@aartaka
Copy link
Contributor

aartaka commented Nov 2, 2022

Note that we could use Guix to install CLISP and ABCL.

Yes, but consistency wouldn't hurt.

CLISP will fail loading local package nicknames. Unless we compile this fork instead https://gitlab.com/gnu-clisp/clisp/-/merge_requests/3

It's good that we don't use them much in the extracted libraries :)

@Ambrevar
Copy link
Contributor Author

Yes, but consistency wouldn't hurt.

Could use Guix all over the place then, it's very mature for CL support these days.

The only compiler that's lacking is Clasp.

@aartaka
Copy link
Contributor

aartaka commented Nov 21, 2022

Yes, sounds fun :D

@Ambrevar
Copy link
Contributor Author

Most of this is fixed by #7. What's left to do:

  • Enable tests for ECL, Clisp (with local nicknames?), maybe Allegro, Clasp and ABCL.
  • "Validate make-instance symbols" is not done because we need to figure out a universal, undisruptive way of doing it.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Development

No branches or pull requests

2 participants