Skip to content

testing with small icu #2998

Closed
Closed

Description

@Trott

It was noted (by @bnoordhuis) that test/parallel/test-icu-data-dir.js only runs with small-icu builds and we don't seem to have those in CI anymore. It used to be tested in CI on the Raspberry Pi devices, but they don't run on the main branch anymore. (They seem to run against v12.x staging daily. Since we don't support v12.x anymore, I suppose we could/should remove that nightly job?)

Should we add something to the linux-containered group that compiles with small ICU so we can continue to exercise that test?

Activity

  1. richardlau commented on Jul 14, 2022

    @richardlau
    Member

    (They seem to run against v12.x staging daily. Since we don't support v12.x anymore, I suppose we could/should remove that nightly job?)

    Just on this point -- I've kept the job because we don't have a v14.x or v16.x nightly job and the existing v12.x job gives me some confidence that the CI machines still work (for example we no longer run builds on the CentOS 7/RHEL 7 machines for Node.js 18 and later).

  2. mhdawson commented on Jan 17, 2023

    @mhdawson
    Member

    Working on adding small-icu to the contained tests.

    1. added tags to all of the contairned machines - ubuntu1804_sharedlibs_smallicu_x64
    2. Testing out here to make sure tests pass - https://ci.nodejs.org/view/All/job/node-test-commit-linux-small-icu/nodes=ubuntu1804_sharedlibs_smallicu_x64/5/

    Once tests pass will add to regular containered job.

  3. mhdawson commented on Jan 17, 2023

    @mhdawson
    Member
  4. richardlau commented on Jan 18, 2023

    @richardlau
    Member
  5. mhdawson commented on Jan 18, 2023

    @mhdawson
    Member

    Looks like it passes for 16, will add so that it only runs on 16 and later for now.

  6. mhdawson commented on Jan 18, 2023

    @mhdawson
    Member

    @richardlau I assume that's because small-icu is broken on 14 and not the job itself ?

    We not only have a different version of ICU in 14 but also looks like some of the tools are slightly different versions?

    The script that is failing though https://github.com/nodejs/node/tree/main/tools/icu)/icutrim.py seems to be the same version though as what we have in main

    failure reported

    07:47:42   File "icutrim.py", line 339, in <module>
    07:47:42     removeList(1)
    07:47:42   File "icutrim.py", line 319, in removeList
    07:47:42     pat = re.compile(bytes(r"^Item ([^ ]+) depends on missing item ([^ ]+).*", 'utf-8'))
    07:47:42 TypeError: str() takes at most 1 argument (2 given)
    07:47:42 tools/icu/icudata.target.mk:13: recipe for target '/home/iojs/build/workspace/node-test-commit-linux-small-icu/out/Release/obj/gen/icutmp/icudt70l.dat' failed
    07:47:42 make[2]: *** [/home/iojs/build/workspace/node-test-commit-linux-small-icu/out/Release/obj/gen/icutmp/icudt70l.dat] Error 1
    07:47:42 make[2]: *** Waiting for unfinished jobs....
    
  7. richardlau commented on Jan 18, 2023

    @richardlau
    Member

    @mhdawson I would guess it's a Python 2 vs Python 3 issue. Node.js 14 builds with Python 2 by default.

  8. mhdawson commented on Jan 18, 2023

    @mhdawson
    Member

    @richardlau thanks for the suggestion of Python 2 versus Python 3, I was wondering if that might be the case as well.

  9. mhdawson commented on Jan 18, 2023

    @mhdawson
    Member

    Built locally to reproduce but all tests passed, likely because my system used Python3. I think that points in the direction of it being a Python2 problem as well.

  10. mhdawson commented on Jan 18, 2023

    @mhdawson
    Member

    Yup switching to ubuntu with python 2 and I get the same error as in the job.

  11. mhdawson commented on Jan 18, 2023

    @mhdawson
    Member

    Working on a fix

  12. mhdawson commented on Jan 18, 2023

    @mhdawson
    Member

    PR with fix - nodejs/node#46263.

    @richardlau , if we need to test before this gets back into 14.x. I could make the test job for small icu apply the patch before buildting/testing. That would allow us to enable testing for 14.x earlier.

  13. richardlau commented on Jan 19, 2023

    @richardlau
    Member

    Built locally to reproduce but all tests passed, likely because my system used Python3. I think that points in the direction of it being a Python2 problem as well.

    PR with fix - nodejs/node#46263.

    @richardlau , if we need to test before this gets back into 14.x. I could make the test job for small icu apply the patch before buildting/testing. That would allow us to enable testing for 14.x earlier.

    @mhdawson Another option would be to always build with Python 3 (e.g. running with PYTHON=python3) for the small icu job?

  14. mhdawson commented on Jan 19, 2023

    @mhdawson
    Member

    I've done that and enabled it for 14, job passed here https://ci.nodejs.org/job/node-test-commit-linux-containered/nodes=ubuntu1804_sharedlibs_smallicu_x64/35542/

    I think we can probably now close this.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions