Skip to content

PPC BE release machine/PPC BE in standard releases #377

Closed

Description

@mhdawson

We had been using fedora machines for testing PPC BE but after discussion that is not appropriate for the release machines. There are limited choices available today on OSUOSL so we are going to look at using ubuntu 14.04.

That will mean that the binaries won't necessarily run on earlier releases but given the dependency on the 4.8.3 compiler users who want a supported configuration will likely be running on recent distro's. As long as the binaries will run on rhel7.1 in addition to ubuntu 14.04 I think it will be acceptable. We can always adjust if there is a real need from the community for support of earlier versions.

The required steps to complete this would be:

  • provision ubuntu 14.04 machine at osuosl
  • build on ubuntu 14.04
  • validate binary runs on rhel7.1
  • Update ansible files to install additional required modules
  • move test machines over to ubuntu 14.04 for BE and add to jenkins
  • provision ubuntu 14.04 BE release machine + add to jenkins
  • validate tests run/pass as they are on fedora
  • add release jobs/scripts etc
  • add to subsequent releases
  • update download page to point to releases in download directory and update wording on download page

Activity

  1. mhdawson commented on Apr 1, 2016

    @mhdawson
    MemberAuthor

    Created an ubuntu 14.04 machine quite a while ago but 64 bit compiles were failing. Took a while to get back to looking at it but the problem seems to have been:

    • 32 bit is still the default for 14.04 for PPC (different from other platforms)
    • even compiling hello world failed
    • you need g++-multilib to get the 64 bit components (for x86 this would give you the 32 bit components instead)

    After adding g++-multilib I have successfully build/run the tests and they all passed.

  2. mhdawson commented on Apr 1, 2016

    @mhdawson
    MemberAuthor

    I just ran citgm-all on one of our PPC BE RHEL 7.0 machines. Nothing unexpected so seems like its reasonable to build on ubuntu 14.04 and get RHEL support as well.

  3. mhdawson commented on Apr 7, 2016

    @mhdawson
    MemberAuthor

    PR here for required core ansible updates: #382

  4. mhdawson commented on Apr 7, 2016

    @mhdawson
    MemberAuthor

    Hooked up one ubu 14 be test machine and validated builds/tests ok under CI:

    https://ci.nodejs.org/job/node-test-commit-plinux-mdawson/

    Looks ok so next step is to switch over the existing be test machines from fedora to ubuntu

  5. mhdawson commented on Apr 11, 2016

    @mhdawson
    MemberAuthor

    building new test and release machine now

  6. mhdawson commented on Apr 12, 2016

    @mhdawson
    MemberAuthor

    second test machine moved over (test-osuosl-ubuntu14-ppc64_be-2), build to validate all is ok: https://ci.nodejs.org/job/node-test-commit-plinux/2022/nodes=ppcbe-ubuntu1404/

  7. mhdawson commented on Apr 12, 2016

    @mhdawson
    MemberAuthor

    Noticed I had not move all the config over from my earlier test job to force 64 bit on be, added that and new runs to validate:
    https://ci.nodejs.org/job/node-test-commit-plinux/2023/
    https://ci.nodejs.org/job/node-test-commit-plinux/2024/

  8. mhdawson commented on Apr 12, 2016

    @mhdawson
    MemberAuthor

    I've added a release machine https://ci-release.nodejs.org/computer/release-osuosl-ubuntu14-ppc64_be-1/ but left it offline for final clean/config by @jbergstroem since I don't have access to keys for release machines

  9. mhdawson commented on Apr 12, 2016

    @mhdawson
    MemberAuthor

    @rvagg, @thealphanerd volunteered to do the next steps:

    • add release jobs/scripts etc
    • add to subsequent releases

    Since he does have access to the release machines(which I'm assuming is necessary, at least for testing things out). If that is something he can do could you confirm its ok for him to go ahead and point him at the PR for when le was added as I assume it will be a good template for adding be.

  10. MylesBorins commented on Apr 12, 2016

    @MylesBorins
    Contributor

    @mhdawson can you please assign this issue to me to follow up on

  11. mhdawson commented on Apr 12, 2016

    @mhdawson
    MemberAuthor

    @thealphanerd I tried assigning it to you but was not able for some reason

  12. 5 remaining items

  13. MylesBorins commented on Apr 22, 2016

    @MylesBorins
    Contributor

    Just clarifying the next steps that will likely need to be done

    • Create temporary fork of release job
    • enable ppcbe-ubuntu1404-release-64
    • create successful build
    • run tests to ensure that build works (with help from @mhdawson)
    • enable ppcbe-ubuntu1404-release-64 in production release job
    • in first release that uses updated production release job run tests to ensure that build works (with help from @mhdawson)
    • Update website to support new build

    @rvagg does that sounds reasonable?
    @jbergstroem any complaints to me cloning the build job? I'd run the build exclusively as "test" and like only enable the single platform we are targeting

  14. mhdawson commented on May 4, 2016

    @mhdawson
    MemberAuthor

    Myles had create a test release job but there were issues in that it looks like it was running out of memory. I investigated and with @jbergstroem figured out the issue was the concurrency setting (see #385). Binary was successfully built/published here: https://nodejs.org/download/nightly/v5.11.1-nightly2016050299920480ae/

    Next step is to validate the binaries look ok.

  15. mhdawson commented on May 5, 2016

    @mhdawson
    MemberAuthor

    Ran the core tests and citgm on the binaries.

    1. CITGM and only modules marked flaky or the known eslint ppc test issue due to the phantomjs dependency in the eslint test had issues
    2. The core tests passed except with a small number which fail in the same way on the corresponding x86 build. I believe they are related to either running dev tests on release binary or being a 5.x nightly.
    3. Install and test of the heapdump modules (which requires compilation as it is a native addon) was successful.

    So the net is that the binary looks good.

  16. mhdawson commented on May 5, 2016

    @mhdawson
    MemberAuthor

    So I believe next step is to enable in the release job, see the nighties be generated and then included in next release. Hoping we can do that as soon as current security releases go out.

  17. mhdawson commented on May 6, 2016

    @mhdawson
    MemberAuthor

    Looks like the security releases went out @rvagg @jbergstroem any objections to adding ppc be to the release job so we start to get regular nightlies ?

  18. jbergstroem commented on May 6, 2016

    @jbergstroem
    Member

    I'm ok with it.

  19. rvagg commented on May 9, 2016

    @rvagg
    Member

    ubuntu 14.04 makes me ok so +1

  20. jbergstroem commented on May 9, 2016

    @jbergstroem
    Member

    We've retired the fedora20 release slave. it remains to be deleted from our test environment though.

  21. mhdawson commented on May 9, 2016

    @mhdawson
    MemberAuthor

    Ok, added to regular release job, we'll track how it goes over the next few days

  22. mhdawson commented on May 10, 2016

    @mhdawson
    MemberAuthor

    Nightlies for 7 and 5 built ok last night, did a simple sanity check and they look ok.

  23. jbergstroem commented on May 10, 2016

    @jbergstroem
    Member

    Great! perhaps ping the website team to update links for upcoming releases?

  24. rvagg commented on May 11, 2016

    @rvagg
    Member

    fine by me

  25. mhdawson commented on May 11, 2016

    @mhdawson
    MemberAuthor

    @thealphanerd had volunteered to put together the PR for the website, expect it soon

  26. mhdawson commented on Jun 7, 2016

    @mhdawson
    MemberAuthor

    Ok this is done, closing

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

Metadata

Metadata

Assignees

Labels

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions