Commit graph

27 commits

Author SHA1 Message Date
Marien Zwart
c8011f8f10
Partially fix tree-sitter-langs
tree-sitter-langs has special handling in nixpkgs, and our pinning
breaks assumptions it makes about version numbers. This causes
tree-sitter-langs to attempt to download and write a grammar bundle both
at build time (where the network request fails) and runtime (where it
causes an error on visiting a file supposed to be handled by
tree-sitter).

Fix up our derivation so it loads the Nix-provided grammar bundle.

This only partially fixes the problem: at least for Go, the
tree-sitter-langs package now loads, but visiting a Go file causes
`tsc-lang-abi-too-new 14 (13 . 13)`.

The included test fails without the fix in this commit, but does not
trigger this new failure.

Commit this partial fix because after
nixos/nixpkgs@2421239d66 the build-time
failure became an error. This should fix CI and leave us no worse off
than before.
2024-08-26 22:02:07 +10:00
Marien Zwart
1837ca5d34
Drop nerd-icons-dired test
Dependency dropped upstream along with ranger support.
2024-08-19 21:58:04 +10:00
Marien Zwart
445cab3486
Drop lsp-python-ms check (removed upstream)
Looks like I should make these tests smarter to detect bitrot...
2024-07-07 23:26:25 +10:00
Marien Zwart
5f7f3b9386
Just build module flag combinations, omit run test 2024-06-29 20:57:01 +10:00
Marien Zwart
991d10dc55
Test with all flags except eglot and flymake
Replaces most of the tests for specific combinations of flags.

Intent is to also use this with cachix.
2024-06-29 20:47:38 +10:00
Marien Zwart
cd94c45e8d
Refactor doomdirs generation slightly
...in preparation for adding an "almost all flags" doomdir.
2024-06-29 20:02:19 +10:00
Marien Zwart
6899c075ca
Experiment: run tests without nativecomp
Downside: needs to be disabled at the Emacs (not emacsWithPackages)
level, so this builds Emacs.

Upside: still seems to be faster, at least in limited local testing. And
if CI caches Emacs this should be substantially faster there.
2024-06-22 14:05:00 +10:00
Marien Zwart
fa6fe4cf93
Load non-packages.el autoloads
We were only pulling in autoloads files for packages installed via
packages.el. This was not that noticeable because all pinned packages
without custom derivations end up installed that way, but it does affect
extra packages (including the one pointed out in #11).

Try to fix this by including autoloads files in the top-level site-lisp
directory from emacsWithPackages.
2024-06-22 13:30:32 +10:00
Marien Zwart
ded2559716
Build-test most previously untested packages
I manually skimmed all packages.el files for dependencies behind a mix
of positive and negative checks (requiring at least one module flag
enabled and at least one module or flag disabled). I found several
packages I was not building, but no issues building them.

I don't intend to keep this up-to-date, but might as well check it in.
2024-06-19 23:11:02 +10:00
Marien Zwart
f8012b8785
Tweak toInit input structure
Using an attrset instead of a list allows using Nix's shorthand for
nested attrsets, which is much more readable for the simple cases toInit
is used for.
2024-06-16 23:04:24 +10:00
Marien Zwart
55f23cbfcf
Add rudimentary tests of my profile hacks 2024-06-07 21:15:34 +10:00
Marien Zwart
48c4531e2e
Test noProfileHack 2024-06-07 21:15:32 +10:00
Marien Zwart
b16774f129
Refactor full init.el building 2024-06-07 21:15:22 +10:00
Marien Zwart
e7383f325f
Assume emacs is Emacs 29 2024-06-07 21:14:16 +10:00
Thomas Schwanberger
4df8b7be15 Add doomTest 'extraPackages' 2024-06-03 00:40:12 +02:00
Thomas Schwanberger
9aca28b012 Support specifying extra emacs pkgs from nixpkgs 2024-06-02 00:36:15 +02:00
Marien Zwart
0f7eb10233
Rename doomdirs/example and doom-example
Move `doomdirs/example/` to just `doomdir/`, and rename the package
using it from `doom-example` to `doom-emacs`.

I do not expect to need multiple doomdirs checked in again, and I can
unclutter the packages provided by the flake a bit now that most of them
are checks.
2024-05-28 19:50:02 +10:00
Marien Zwart
f48edf8b34
Test against init.el with all module flags enabled
Detect module flags by walking package.el files.

This still does not build all dependencies, because some are enabled
only if some flag or other module is disabled. But this should be close.
2024-05-27 20:11:06 +10:00
Marien Zwart
78ad78072d
Fix revealjs build for org +present
Noticed through upcoming test coverage improvements.
2024-05-27 20:11:05 +10:00
Marien Zwart
48ba3bb39c
Rename doomDirWithAllPackages -> ...Modules 2024-05-27 20:11:01 +10:00
Marien Zwart
3f2a482afd
Test with a generated init.el with all modules
...not yet with all flags, but that's the next step.

This surfaced several problems not caught by the existing "full" build,
because that did not enable dependencies conditionally enabled if a
second module is enabled.

There are a small number of dependencies only enabled if a second module
is *not* enabled, which I intend to add some manual tests for.
2024-05-27 20:08:17 +10:00
Marien Zwart
dbd9b1e998
Don't try to use our custom packages unless pinned
They do not have src set, so if we pull them in without having a pin
they fail to build.

Noticed with org, so add a test for that. Probably not the only one
affected, though.

Fixes #4
2024-05-27 20:08:08 +10:00
Marien Zwart
6d2d203ece
Use generated minimal doomDir for tests
I intend to remove the static one.
2024-05-27 20:08:04 +10:00
Marien Zwart
2af26fcfa1
Use fetchTree / github fetcher for CI
This seems to be much more space-efficient: ~/.cache/nix/tarball-cache
is about 700MiB uncompressed, under 300MiB as tzst (using tar's
defaults, CI uses zstdmt but I assume will be in the same ballpark). The
gitv3 cache is multiple GiB.

CI will still build doom-example using fetchGit. I intend to shrink the
number of modules enabled in the example to keep gitv3 cache size under
control.
2024-05-26 22:42:51 +10:00
Marien Zwart
80a951826e
Support more tests than just startup
It looks like I will need tests that some of the more interesting
packages actually work, not just build.
2024-05-26 11:30:38 +10:00
Marien Zwart
4597bb574e
Add generator for init.el
To be used for more concise tests of specific module combinations.
2024-05-26 11:30:36 +10:00
Marien Zwart
95c1a5d594
Split checks off to their own file
To make it easier to add more.
2024-05-26 11:30:32 +10:00