Stream: compiler development

Topic: ci


view this post on Zulip Richard Feldman (Dec 05 2025 at 14:16):

https://github.com/roc-lang/roc/pull/8565 failed on Nix checks only, but there's no error message and I'm not sure how to debug :sweat_smile:

I'm going to merge because it has some important fixes and is prone to merge conflicts, plus I don't see why anything should have changed in terms of Nix :raised:

can anyone who has Nix set up try to reproduce that locally?

view this post on Zulip Anton (Dec 05 2025 at 14:45):

I'll take a quick look

view this post on Zulip Anton (Dec 05 2025 at 15:04):

It passes now https://github.com/roc-lang/roc/pull/8575 , I did not change anything :p
There was also nothing in your failing check output that showed what was going wrong, I guess we'll see if it pops up again.

view this post on Zulip Richard Feldman (Dec 06 2025 at 18:05):

I think I found a fix - https://github.com/roc-lang/roc/pull/8579 - I believe the problem was that we were rebuilding the roc binary before each fx test, to prevent staleness, and this resulted in too much disk usage for the Nix environment, resulting in an error with no clear error message.

view this post on Zulip Richard Feldman (Dec 06 2025 at 18:06):

however, that PR is now failing on a valgrind error that suggests maybe we install a non-stripped ld.so equivalent in that environment?

debug: reported NIL problems

debug: processing snapshot file: /home/runner/work/roc/roc/test/snapshots/expr_no_space_dot_int.md

debug: Generating snapshot for: /home/runner/work/roc/roc/test/snapshots/expr_no_space_dot_int.md

debug: processing snapshot file: /home/runner/work/roc/roc/test/snapshots/can_import_exposing_types.md

debug: Generating snapshot for: /home/runner/work/roc/roc/test/snapshots/can_import_exposing_types.md

==6829==

==6829== HEAP SUMMARY:

==6829== in use at exit: 0 bytes in 0 blocks

==6829== total heap usage: 0 allocs, 0 frees, 0 bytes allocated

==6829==

==6829== All heap blocks were freed -- no leaks are possible

==6829==

==6829== For lists of detected and suppressed errors, rerun with: -s

==6829== ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 0 from 0)

==6906== Memcheck, a memory error detector

==6906== Copyright (C) 2002-2024, and GNU GPL'd, by Julian Seward et al.

==6906== Using Valgrind-3.26.0 and LibVEX; rerun with -h for copyright info

==6906== Command: ./zig-out/bin/roc --no-cache test/str/app.roc

==6906==

valgrind: Fatal error at startup: a function redirection

valgrind: which is mandatory for this platform-tool combination

valgrind: cannot be set up. Details of the redirection are:

valgrind:

valgrind: A must-be-redirected function

valgrind: whose name matches the pattern: memcmp

valgrind: in an object with soname matching: ld-linux-x86-64.so.2

valgrind: was not found whilst processing

valgrind: symbols from the object with soname: ld-linux-x86-64.so.2

valgrind:

valgrind: Possible fixes: (1, short term): install glibc's debuginfo

valgrind: package on this machine. (2, longer term): ask the packagers

valgrind: for your Linux distribution to please in future ship a non-

valgrind: stripped ld.so (or whatever the dynamic linker .so is called)

valgrind: that exports the above-named function using the standard

valgrind: calling conventions for this platform. The package you need

valgrind: to install for fix (1) is called

valgrind:

valgrind: On Debian, Ubuntu: libc6-dbg

valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo

valgrind:

valgrind: Note that if you are debugging a 32 bit process on a

valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo

valgrind: package (e.g. libc6-dbg:i386).

valgrind:

valgrind: Cannot continue -- exiting now. Sorry

view this post on Zulip Anton (Dec 08 2025 at 10:42):

Looks like it's fixed :)

view this post on Zulip Richard Feldman (Dec 08 2025 at 14:32):

oh yeah Claude had a suggested fix in a recent PR, and it ended up resolving it

view this post on Zulip Anton (Apr 16 2026 at 12:53):

We switched internet providers today and internet is not working :sweat_smile: the benchmarks workflow and the old workflows will not pass until it is fixed.

view this post on Zulip Anton (Apr 17 2026 at 08:19):

CI machines are back online

view this post on Zulip Anton (May 18 2026 at 13:47):

Lots of CI workflows remain queued, waiting on a github hosted runner. The github status page does not show any issues. Perhaps we exceeded some quota?

view this post on Zulip Anton (May 18 2026 at 15:06):

Looks like its moving along now, there is probably a limited amount of github runners that we can use simultaneously.

view this post on Zulip Luke Boswell (May 19 2026 at 00:13):

Yeah things seem to be running really slowly compared to what I remember.

view this post on Zulip Anton (May 19 2026 at 11:45):

I also spotted some recent significant slowdowns with roc check and build when running basic-cli all_tests.sh (branch migrate-zig-compiler-edits). I have not looked into it deeply but it's on my TODO list.

view this post on Zulip Richard Feldman (May 19 2026 at 14:26):

recent as in after the MIR rewrite landed?

view this post on Zulip Anton (May 19 2026 at 14:28):

I checked right before MIR rewrite, that was fast, let me check right after...

view this post on Zulip Richard Feldman (May 19 2026 at 14:28):

yeah I added a ton of debug-only checks and lints and stuff in there, so I wouldn't be surprised if that slowed down ci

view this post on Zulip Richard Feldman (May 19 2026 at 14:29):

benchmark ci step passed, so if release builds got significantly slower, it would be for a scenario we don't have benchmarks for

view this post on Zulip Anton (May 19 2026 at 14:30):

Oh ok, let me check with a release build

view this post on Zulip Anton (May 19 2026 at 14:47):

Yeah, still a significant slowdown with release, I will dig into it sometime:
Commit 0f56082:

=== Checking examples ===
Checking: command-line-args.roc
No errors found in 104ms for examples/command-line-args.roc
Checking: hello-world.roc
No errors found in 100ms for examples/hello-world.roc
Checking: stdin-basic.roc
No errors found in 95ms for examples/stdin-basic.roc
Checking: path.roc
No errors found in 102ms for examples/path.roc
Checking: command.roc
No errors found in 94ms for examples/command.roc
Checking: time.roc
No errors found in 100ms for examples/time.roc
Checking: random.roc
No errors found in 98ms for examples/random.roc
Checking: locale.roc
No errors found in 89ms for examples/locale.roc
Checking: tty.roc
No errors found in 104ms for examples/tty.roc
Checking: dir.roc
No errors found in 104ms for examples/dir.roc
Checking: env-var.roc
No errors found in 97ms for examples/env-var.roc

Latest main:

Checking: command-line-args.roc
No errors found in 270ms for examples/command-line-args.roc
Checking: hello-world.roc
No errors found in 263ms for examples/hello-world.roc
Checking: stdin-basic.roc
No errors found in 287ms for examples/stdin-basic.roc
Checking: path.roc
No errors found in 265ms for examples/path.roc
Checking: command.roc
No errors found in 308ms for examples/command.roc
Checking: time.roc
No errors found in 280ms for examples/time.roc
Checking: random.roc
No errors found in 276ms for examples/random.roc
Checking: locale.roc
No errors found in 278ms for examples/locale.roc
Checking: tty.roc
No errors found in 276ms for examples/tty.roc
Checking: dir.roc
No errors found in 311ms for examples/dir.roc
Checking: env-var.roc
No errors found in 283ms for examples/env-var.roc

view this post on Zulip Anton (May 19 2026 at 14:54):

CI related message: I have a fix for the flaky macos x86 issue "Coordinator stuck" that I am testing now:
https://github.com/roc-lang/roc/pull/9439/changes/1b95f9f4b6c87d211b2550c49c1112b5a51dc4d6


Last updated: May 23 2026 at 12:51 UTC