Skip to content

What's our most reliable option for CI? #153

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Closed
lgarron opened this issue Apr 8, 2025 · 6 comments · Fixed by #154
Closed

What's our most reliable option for CI? #153

lgarron opened this issue Apr 8, 2025 · 6 comments · Fixed by #154

Comments

@lgarron
Copy link
Member

lgarron commented Apr 8, 2025

The nix-based CI is failing with:

error: derivation 'aarch64-linux.web' does not have valid outputs: error:

I tried converting CI.yaml to a normal CI setup, but this still fails with bun:

bun run script/build-lib.ts
bun: symbol lookup error: /home/runner/work/icons/icons/node_modules/ttf2woff2/build/Release/addon.node: undefined symbol: _ZNK2v85Value8ToObjectENS_5LocalINS_7ContextEEE
make: *** [Makefile:11: build-lib] Error 127

I don't like the idea of moving the build scripts from TypeScript to JavaScript, so I'm not sure what's the best way forward.

@jfly
Copy link
Member

jfly commented Apr 8, 2025

The nix-based CI is failing with:

For the record, here's the relevant error from that build:

error: attribute '"node_modules/esbuild"' missing

I am not able to reproduce this failure on main or locally. It looks like that CI failure was a legitimate build issue with the changes in #152. In that PR we added es_build to our package.json, but did not update our package-lock.json. If I clone that branch and update the package-lock.json, the problem goes away.

bun: symbol lookup error: /home/runner/work/icons/icons/node_modules/ttf2woff2/build/Release/addon.node: undefined symbol: _ZNK2v85Value8ToObjectENS_5LocalINS_7ContextEEE

This sort of stupidity is exactly why want to use nix. To insulate us against things we don't control (like whatever dlls happen to be installed on the host build machine).

@lgarron
Copy link
Member Author

lgarron commented Apr 9, 2025

Ah, I see, main is passing now, I think I had some rebase issues.

I am not able to reproduce this failure on main or locally. It looks like that CI failure was a legitimate build issue with the changes in #152. In that PR we added es_build to our package.json, but did not update our package-lock.json. If I clone that branch and update the package-lock.json, the problem goes away.

Yeah, this is kind of inscrutable to me. Any chance we're able to migrate to bun.lock yet?

@lgarron
Copy link
Member Author

lgarron commented Apr 9, 2025

This sort of stupidity is exactly why want to use nix. To insulate us against things we don't control (like whatever dlls happen to be installed on the host build machine).

Yeah, I can definitely sympathize with that and would really love to benefit from that.

That said, it was a lot easier for me to work around the symbol lookup error than figure out what was going on with nix.
Would certainly appreciate your thoughts #154

@lgarron lgarron changed the title CI is borked What's our most reliable option for CI? Apr 9, 2025
@jfly
Copy link
Member

jfly commented Apr 9, 2025

That said, it was a lot easier for me to work around the symbol lookup error than figure out what was going on with nix.

Yeah, the error is pretty buried in there, haha.

Would certainly appreciate your thoughts #154

Pretty swamped today, will try to take a look tomorrow! I have a compromise I'd like to put together that I hope will be palatable.

@jfly
Copy link
Member

jfly commented May 1, 2025

Pretty swamped today, will try to take a look tomorrow!

Well that was quite a lie. I plan to put out a PR tomorrow. Either approach will resolve #149

@jfly
Copy link
Member

jfly commented May 2, 2025

Ok, PR out for review! #156

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

Successfully merging a pull request may close this issue.

2 participants