Skip to content

CI job for OpenSSL 3.0 #2584

Closed
Closed

Description

@danbev

I would like to request a CI job to be created for dynamically linking to OpenSSL 3.0, similar to what is done today for OpenSSL 1.1.1

OpenSSL 3.0 has not been released yet but there are alpha releases and it would be great if we could have a CI job for this that is run on each PR to be able to detect breaking crypto changes early.

I'm not sure if this information is useful but I'm adding it just in case. The following are the configure/build commands that I've been using to build OpenSSL 3.x and Node.js:

$ ./config -Werror --strict-warnings --debug --prefix=/path/openssl_build_master linux-x86_64
$ make -j8 install_sw
$ ./configure --shared-openssl --shared-openssl-libpath=/path/openssl_build_master/lib --shared-openssl-includes=/path/openssl_build_master/include --shared-openssl-libname=crypto,ssl
$ make -j8 test

Activity

  1. changed the title [-]Build for OpenSSL 3.0[/-] [+]CI job for OpenSSL 3.0[/+] on Mar 22, 2021
  2. rvagg commented on Mar 22, 2021

    @rvagg
    Member

    Does it pass the test suite already? Introducing a partially broken job would be pretty annoying.

  3. danbev commented on Mar 22, 2021

    @danbev
    ContributorAuthor

    @rvagg It passed when nodejs/node#37669 was landed. I'll update and run though the tests locally today and double check that this is still true.

  4. rvagg commented on Mar 22, 2021

    @rvagg
    Member

    And would this only be for >=16.x? (i.e. master now and forward, but no earlier).

  5. danbev commented on Mar 24, 2021

    @danbev
    ContributorAuthor

    nodejs/node#37860 has been merged so there should not be any test failure specifically related to OpenSSL 3.0.
    There is a flaky test which I've seen quite frequently when linking with OpenSSL 3.0 though be it also happens when statically linking with OpenSSL 1.1.1. We might be able to mark it as flaky if it becomes an issue.

    And yes please, this would only be for >=16. Thanks!

  6. richardlau commented on Mar 31, 2021

    @richardlau
    Member

    Opened a PR for Dockerfile and VersionSelectorScript changes: #2601
    Actually changing the job has run into a snag being tracked in #2602.

  7. richardlau commented on Apr 1, 2021

    @richardlau
    Member

    I managed to get an editable copy of node-test-commit-linux-containered (#2602 (comment)) and was able to test the changes from #2601.

    I'll work on updating node-test-commit-linux-containered based on the copied job. We'll need to land nodejs/node#38027 to get a clean test run before we enable testing against OpenSSL 3.

  8. self-assigned this
    on Apr 1, 2021
  9. richardlau commented on Apr 1, 2021

    @richardlau
    Member

    I've edited node-test-commit-linux-containered to add the logic for build/testing against the OpenSSL 3 in the sharedlibs container, but have not yet added the ubuntu1804_sharedlibs_openssl300_x64 label to the job nodes as otherwise the job would start failing until nodejs/node#38027 is merged.

  10. danbev commented on Apr 2, 2021

    @danbev
    ContributorAuthor

    @richardlau Thanks for doing this!

  11. richardlau commented on Apr 7, 2021

    @richardlau
    Member
  12. richardlau commented on Apr 7, 2021

    @richardlau
    Member

    Job appears to be working. There's a new test failure introduced by a recently changed test -- have opened nodejs/node#38136 to address.

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

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions