About the ARM CPU Architecture category

You can now test your open source software on multiple CPU architectures at Travis CI.

For the past few months, we’ve been working closely with the Travis CI community, the LXD team from Canonical, Arm and Packet.

Thanks to this partnership, Arm-based builds are now available to you, for free, for your open source projects. Arm-based builds are the first ones to use LXD powered containerization to run your builds.

If your public projects are targeted for Linux and Arm CPU Architecture, get started with Arm builds today!

More in the blog: https://blog.travis-ci.com/2019-10-07-multi-cpu-architecture-support
And the docs: https://docs.travis-ci.com/user/multi-cpu-architectures/

When you test out Arm builds in your public projects, please share your feedback with us here.
We’re looking forward to hearing about your experience with multi-CPU architecture support of your builds!

2 Likes

This is wonderful! Thank you.

Tried it out on an opensource project pygame/pygame, and here is some feedback.
Here’s the PR: https://github.com/pygame/pygame/pull/1399

  • please “contact us” link is a 404 on https://docs.travis-ci.com/user/multi-cpu-architectures/
  • the cancel button on amd64 jobs does not show up now (and the arm64 one).
  • seems the python language stuff is not on there. It tries to download python and gets a 404, I guess because the arm64 python hasn’t been built/uploaded yet.
  • arm64 amd64 look very similar visually in the list of jobs, so it’s a bit hard to tell them apart in the list.

cheers,

1 Like

How do I get a package like “libpcre3-dev” on ARM64?

This is awesome! I am trying this out for RocksDB, some things that seem to be not quite right yet:

  1. Java support seems to be missing - https://travis-ci.org/facebook/rocksdb/jobs/598793639
  2. Is there a convenience environment variable for determining the arch of the build box, e.g. something like a TRAVIS_ARCH?

To answer my own question, the usual way of installing Ubuntu packages works on ARM64: https://docs.travis-ci.com/user/installing-dependencies/

1 Like

Hi @stefantalpalaru!
Happy to see you’re testing ARM64 builds!

EDIT - saw you found the answer :slight_smile:

In case of further questions, please open a thread at https://travis-ci.community/c/environments/multi-cpu-arch - it helps us to track your feedback and response whenever we have something adjusted.

Happy building!

Hello @illume!

I’m really glad you’re trying out the ARM builds. Thanks for the report!
Wrt to python stuff: that’s correct, it’s not present in os image yet (it’s C/C++ focused at the moment). We will add it soon and before it happens one can add before_install step (https://docs.travis-ci.com/user/installing-dependencies/) and run package installation.

P.S. with any other findings - please leave us a message here: https://travis-ci.community/c/environments/multi-cpu-arch - it’s super useful to keep them there for searching and responding.

Hi @adamretter!

Thanks for checking out ARM builds and reporting back.
Yes, Java support is not added yet (we’re working on os images structure for different languages to keep things starting up fast), so if one needed - please install relevant package in before_install step.

Convenience environment variable is not available yet - thanks for that question. It’ll be added over coming couple of weeks or so.

I the meantime, one can determine the arch of build box by running linux script/cli commands,
on ubuntu for example
dpkg --print-architecture
or
uname -m

P.S.

For further feedback, please create a topic in https://travis-ci.community/c/environments/multi-cpu-arch - it’ll help to track things and search for similar reports.

Happy building!

Imprint