Skip to content
This repository was archived by the owner on Jul 1, 2026. It is now read-only.

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

Closed
tkurki wants to merge 2 commits into
TryGhost:masterfrom
tkurki:travis-simple-docker-build
Closed

tkurki wants to merge 2 commits into
TryGhost:masterfrom
tkurki:travis-simple-docker-build

Conversation

@tkurki

@tkurki tkurki commented Apr 18, 2019 •

Copy link
Copy Markdown

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

rzr commented Apr 18, 2019

Copy link
Copy Markdown
Contributor

will travis have enough resource to crossbuild ?

@tkurki

tkurki commented Apr 18, 2019

Copy link
Copy Markdown
Author

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

@kewde

kewde commented May 7, 2019

Copy link
Copy Markdown
Collaborator

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

tkurki commented May 7, 2019

Copy link
Copy Markdown
Author

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

kewde commented May 7, 2019

Copy link
Copy Markdown
Collaborator

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

kewde commented May 7, 2019 •

Copy link
Copy Markdown
Collaborator

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

tkurki commented May 25, 2019

Copy link
Copy Markdown
Author

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

tkurki commented Jul 30, 2021

Copy link
Copy Markdown
Author

See #1362

@tkurki tkurki closed this Jul 30, 2021
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Automated ARM builds

3 participants