Skip to content
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

[WIP][stalled] ARM Build in Docker in Travis #1149

Closed
wants to merge 2 commits into from

Conversation

tkurki
Copy link

@tkurki tkurki commented Apr 18, 2019

This PR is at this stage a proof of concept of building ARM binary in Docker with Travis.

The first commit comments out the normal build.

The second commit has the real beef:

  • use the default dist (Docker seems to be not available in precise)
  • an additional dummy build target for ARM
  • script steps to install ARM support and the docker command to build & publish inside the prebuilt arm32v7/node container off Docker hub

This works in Travis up to "Package appears valid" but naturally publish stage fails without the S3 credentials.

Is this something that you would consider merging?

I have not tested the resulting binary yet.

If finalised and merged fixes #418.

@tkurki tkurki mentioned this pull request Apr 18, 2019
@rzr
Copy link
Contributor

rzr commented Apr 18, 2019

will travis have enough resource to crossbuild ?

@tkurki
Copy link
Author

tkurki commented Apr 18, 2019

Please see the linked Travis log file. Needs an extra travis_wait but seems to build it.

@kewde
Copy link
Collaborator

kewde commented May 7, 2019

Thanks,

The PoC is certainly interesting but it does need to follow the same flow as the other release procedures.
That means it needs to run the tests before even publishing a binary.

@tkurki
Copy link
Author

tkurki commented May 7, 2019

Sure, but I stopped here before spending time on something that might not be merged because there’s something fundamentally off with it.

Any other input as to how to proceed? Make tests run, spread to the supported node versions - anything else I should be aware of?

@kewde
Copy link
Collaborator

kewde commented May 7, 2019

I'm going to have to consult the Travis docs a bit further, adding the ARM architecture will require additional builds for the different NodeJS versions. Electron also has an ARM version, so if we also want to provide those binaries we are looking at doubling the load of the CI essentially.

It does not seem to me that there is a max limit on the amont of jobs, rather just a max limit for each job.

@kewde
Copy link
Collaborator

kewde commented May 7, 2019

To make it more production friendly:

  • Restore the .travis.yaml file
  • Move ARM specific setup code (Install & configure docker) into a new shell script unders the /scripts
  • Have the original file build_against_node.sh run within that docker/qemu container (may need modification for the naming of the releases etc)

Note: You will need to pass the environment variables to the docker command in order to bridge the gap.

@tkurki
Copy link
Author

tkurki commented May 25, 2019

I have not abandoned this, just low on the todo list for the time being, so if anybody else feels like giving it a shot go right ahead.

@tkurki tkurki changed the title [PoC] ARM Build in Docker in Travis [WIP][stalled] ARM Build in Docker in Travis May 25, 2019
@tkurki
Copy link
Author

tkurki commented Jul 30, 2021

See #1362

@tkurki tkurki closed this Jul 30, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Automated ARM builds
3 participants