Skip to content
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

Errors in external courses break the build process #3176

Open
sublime-coleslaw opened this issue Nov 21, 2023 · 1 comment
Open

Errors in external courses break the build process #3176

sublime-coleslaw opened this issue Nov 21, 2023 · 1 comment

Comments

@sublime-coleslaw
Copy link
Contributor

The yarn export:production script downloads course content from remote sources and uses them in the build process. If any of those courses has a bug, it can cause build errors. As far as I can tell there's no fix other than to edit config/courses.json and remove or downgrade the course.

Currently the production CI action is failing because there's an error in the French from English course

 RuntimeError: Error while exporting skill "Chiffres 2" in file "4_Numbers/skills/4_Numbers_2.yaml": The French word "téléphones" does not have a definition. Please add it to the mini-dictionary.

This issue was fixed two weeks ago, but that repository hasn't created a new release since committing the fix. With no new release, the librelingo build is still downloading the old course release, breaking the build process.

A short-term fix would be for the LibreLingo_FR_from_EN repo to create a new bugfix release to get CI to start building correctly again. In the long-term, it might make sense to switch to git submodules. Instead of downloading release artifacts during the build process, the main librelingo repo would be directly tracking each course. Librelingo could pin specific versions, and even use commits that aren't part of a release, which would make quick bugfixes easier to integrate - no more needing to wait for a release.

@kantord
Copy link
Owner

kantord commented Nov 22, 2023

In the long-term, it might make sense to switch to git submodules. Instead of downloading release artifacts during the build process, the main librelingo repo would be directly tracking each course. Librelingo could pin specific versions, and even use commits that aren't part of a release, which would make quick bugfixes easier to integrate - no more needing to wait for a release.

I was thinking to even just maintain a separate repository with the cached version of the course data for each course that is only updated if the build succeeded and left unchanged otherwise.

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

No branches or pull requests

2 participants