-
Notifications
You must be signed in to change notification settings - Fork 166
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
Add --without-intl builds to CI matrix #419
Comments
Flavour irrelevant? Linux? |
More is better but Linux + Windows seems like a good start. |
Slightly off-topic but would you see shared builds in the same light? |
I'm not dead set against testing it but it's mainly intended for distro packagers, and they know how to help themselves. Disabling intl (crypto too, for that matter) is more of an end user thing for people on low-end systems. |
I'll set this up on our most redundant setup. |
|
Another one: nodejs/node#9041 |
Would also be good for testing pull requests like nodejs/node#9040. |
I'm tired of this issue being open and inactive for so long. For my purposes I've created https://github.com/TimothyGu/node-no-icu, which uses Travis CI and a local cronjob to run tests without ICU every 6 hours on master. Doubtless to say, the first build will certainly fail as soon as it finishes, though the second build with nodejs/node#16251 will probably be much more successful. PR CIs are run manually. |
Would you like to set up the Jenkins job? This is just waiting on someone having the time, the only bit that needs special access is the initial job creation. I'm happy to clone the Linux test job and give you access. |
@gibfahn I saw https://ci.nodejs.org/job/node-test-commit-linux-nointl/ has been created. I think this can now be closed. |
Is it actually run in the main flows? We should keep this open till that job is good to go. I also don't think running on that many platforms is a good idea, we have a lot of variations to test, so one or two platforms each is probably best. |
@gibfahn In that case I'd be happy to be given the permissions to modify the job. |
@TimothyGu I've given nodejs/Collaborators configure access. I guess we can always revoke it if this becomes part of the main flows. What I think we need is a job that runs a variety of configurations, but only on one platform each (if it turns out we need more coverage then we can expand). Things I've seen asked for (cc/ @danbev, who I'm sure has some requests):
|
@gibfahn I've done the following modifications to
Things still needed to be done:
Something I'm worried about however, is if we eventually stuff all |
Yes and no, but that's a bigger question, so opened a separate issue: #934 |
Added some notes in nodejs/node#16130 (comment) about how we might go about testing a shared openssl without requiring dedicated CI machines for it, this would also work for the other shared libs we support (http-parser, libuv, zlib, cares — basically what Linux distro packagers are dynamically linking against.) |
How about this as a proposal: Add a pipeline to this repo that takes a set of sets of config flags as a build parameter. For each set it runs a Example: CONFIG_FLAGS='"--without-intl" "--enable-static" "--without-ssl"' would run three different builds, one for Will attempt to raise PR if I get time. |
perhaps we could make a subset of nodejs/Collaborators for this kind of thing, nodejs/Collaborators is very broad and it might be best if we restrict it to just people that are interested enough in doing this kind of work; like a nodejs/jenkins-job-config or something that doesn't give full access? maybe we can talk about this at our next meeting. |
moving my comments to #972 |
@TimothyGu Can you confirm that https://ci.nodejs.org/job/node-test-commit-nointl/ works ok? If so, probably makes sense to close this issue, and then maybe move to a different one to discuss |
@maclover7 Last time I checked, the job works fine. However, I really want it to get into the daily build routine (doesn't have to be in node-test-commit, but executed frequent enough for us to notice issues about it). |
Oh, hey, I think I missed this issue the first time around. We have infrastructure in place to set variations like this in https://ci.nodejs.org/job/node-test-commit-linux-containered/, each of the builds in there just have variations of Is it as simple as |
heh .. just noticed that I've been very active in this thread already last year .. I have no memory of this 😬 |
Yes. |
Done, this lives in node-test-commit-linux-containered along with the other I've restricted it to >= Node 6. I've also added the following sanity check after everything runs to make sure the binary is as we expect it to be (we have something like this for all the variations): INTL_OBJECT="$(out/Release/node -pe 'typeof Intl')"
echo "Intl object type: $INTL_OBJECT"
if [ X"$INTL_OBJECT" != X"undefined" ]; then
FAIL_MSG="Has an Intl object, exiting"
echo $FAIL_MSG
echo "1..1" > ${WORKSPACE}/test.tap
echo "not ok 1 $FAIL_MSG" >> ${WORKSPACE}/test.tap
exit -1
fi
PROCESS_VERSIONS_INTL="$(out/Release/node -pe process.versions.icu)"
echo "process.versions.icu: $PROCESS_VERSIONS_INTL"
if [ X"$PROCESS_VERSIONS_INTL" != X"undefined" ]; then
FAIL_MSG="process.versions.icu not undefined, exiting"
echo $FAIL_MSG
echo "1..1" > ${WORKSPACE}/test.tap
echo "not ok 1 $FAIL_MSG" >> ${WORKSPACE}/test.tap
exit -1
fi We don't quite have enough containers to do more than 2 node-test-commit-linux-containered's simultaneously now because this adds an extra build for each one. However I've just pulled out a heap of Alpine containers from active use so we have capacity to spin up more containers on our existing Docker hosts. I'll get to that in the next few days. |
Would it be possible to add
./configure --without-intl
buildbots to the CI matrix? I volunteer to fix up the test suite if necessary.See nodejs/node#6820 for background.
The text was updated successfully, but these errors were encountered: