-
-
Notifications
You must be signed in to change notification settings - Fork 1.5k
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
An overhaul of Nim's CI #17424
An overhaul of Nim's CI #17424
Conversation
We are gonna add it back later.
As a zombie reaper and for the image to stay alive.
This image sets CMD to a run forever process, which will keep the image running.
This new version specify the location of the preinstalled node.js binary.
This update includes ca-certificates, needed for cloning.
Node.js has deprecated 32-bit builds for x86 Linux: nodejs/build#885
This gives us greater control over the linux testing environment.
The nim-ci image already bundled everything neccessary.
Node.js no longer has official support for this platform.
Node.js no longer officially support this platform.
Depending on the complexity of the various tasks, you might want to consider using something like Python, Ruby, or Perl over Bash. |
in #17359 (comment) I was able to make i386 work again using a much smaller patch (i could turn it into a cleaned up PR if needed) but 3 tests failed:
still though, isn't disabling 3 tests better than disabling all that said, a docker based approach might be more flexible than the way we've been doing via cross compilation (although it does serve as an example of cross compilation tested in CI, which is useful) can't we have a links |
Better yet, consider using Nim. You can easily grab a Nim release that is known to work for the CI code. |
containerImage: ghcr.io/alaviss/nim-ci:sha-aa56233@sha256:43dbe085d041c95b5d39bcbc5e0c4e05d922d407ac8a8938d33064402a5a5f22 | ||
CPU: amd64 | ||
i386: | ||
containerImage: ghcr.io/alaviss/nim-ci:sha-aa56233@sha256:7f6d204d43e213ff8621e9f0c9f2b788858b9f3788fed95ac62e1c821baa4476 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Everything to test the repo must live in the Nim organization IMHO.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@juancarlospaco then maybe just move nim-ci under @nim-lang organization, no need to have it in the same repo
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
True
It's mostly out of practical concerns. Node.js no longer provides official builds on 32-bit x86 Linux, and support for it has been moved to "experimental". I can add a recent Node.js to the image by building it from source, but I don't consider that worth the hassle, considering that no one in their right mind would run Node.js on 32-bit x86 Linux. If we want 32-bit Node testing, there is Windows and my ARM CI in #16396.
The way we "test" cross compilation is mostly a hack.
I can move the alaviss/nim-ci repo to nim-lang/nim-ci. The main reason for keeping it in a separated repo is so that we can develop further images there, not just for CI. Also, if you look at the GitHub Actions used to build my images, it takes 7 minutes to complete, and I don't want to shoulder that cost on the main CI.
That would only work if you're testing Windows, Linux or macOS. We test the BSDs too, and there are no prebuilts for them. And most of the code we're dealing with is just environment setup. 80% of CI work is done in |
This pull request has been automatically marked as stale because it has not had recent activity. If you think it is still a valid PR, please rebase it on the latest devel; otherwise it will be closed. Thank you for your contributions. |
Todo:
ci/
folder can be re-used for this. Also consider copying some code from nightlies.Fixes #17325