pietroppeter / nimib

nimib 🐳 - nim 👑 driven ⛵ publishing ✍
https://pietroppeter.github.io/nimib/
MIT License
183 stars 10 forks source link

Fix CI: upload-artifacts #250

Closed HugoGranstrom closed 1 week ago

HugoGranstrom commented 1 week ago

It's due time we try to fix the preview in the CI

HugoGranstrom commented 1 week ago

Strange, I can't reproduce the error locally :/

HugoGranstrom commented 1 week ago

Seems like it's happyx that gives us troubles now. Haven't dug into the code much but the error is quite confusing:

/home/runner/work/nimib/nimib/docsrc/interactivity_nbCodeToJs_7.nim(15, 10) template/generic instantiation of `appRoutes` from here
/home/runner/work/nimib/nimib/docsrc/interactivity_nbCodeToJs_7.nim(19, 5) template/generic instantiation of `buildHtml` from here
/home/runner/work/nimib/nimib/docsrc/interactivity_nbCodeToJs_7.nim(21, 8) Error: expression ' {.emit: ev, " = event;".}' has no type (or is ambiguous)
HugoGranstrom commented 1 week ago

@quimt do you have any ideas what might be going on?

quimt commented 1 week ago

@quimt do you have any ideas what might be going on?

I don't know in detail, but happyx does use macros to produce emit pragmas. I haven't encountered this bug using happyx by itself, so I suspect it has something to do with how happyx interacts with nimib's protocol for sandboxing the code. Whatever the reason, emiting something other than a string doesn't make sense as far as I know.

HugoGranstrom commented 1 week ago

I don't know in detail, but happyx does use macros to produce emit pragmas. I haven't encountered this bug using happyx by itself, so I suspect it has something to do with how happyx interacts with nimib's protocol for sandboxing the code. Whatever the reason, emiting something other than a string doesn't make sense as far as I know.

Thanks for the leads :D Judging from the error message and this code: https://github.com/HapticX/happyx/blob/3b1d08aaed757cd1747c50a5f1d480444fa18b20/src/happyx/private/macro_utils.nim#L1065 It seems like whatever args[1][0] is, it isn't what is't supposed to be. I'll continue digging.

HugoGranstrom commented 1 week ago

The HappyX problem is solved! Now it's just CI stuff that's not working. Will look at it some other day

HugoGranstrom commented 1 week ago

Ahh, the changes I make to the CI files aren't run... So I will have to merge the changes and just hope it works and then test it with a new PR 🙈