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!
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!
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.
In case of further questions, please open a thread at Multi CPU Architecture - Travis CI Community - it helps us to track your feedback and response whenever we have something adjusted.
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.
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
I’m trying this for DPDK project. There is permission issue when setting hugepage which is required to run DPDK: https://travis-ci.com/Reyfone/dpdk/jobs/245236623
Used “sudo sh -c ‘echo 1024 > /proc/sys/vm/nr_hugepages’” in setup.sh.
After searching around, it came up to me apparmor policy denied access to some key system directory.
I’m not using any container in my CI configuration. Tried to turn off apparmor as suggested on above page, but didn’t succeed.
When building for amd64, which is VM based environment, the same command run successfully.
Can you suggest how to set hugepage in LXD environment?
Hi @Reyfone!
Happy to see you testing ARM based builds.
Our ARM support currently is powered by ARM+LXD - so your single build job actually is running within LXD container. This means accessing certain system folders or features, that can give access to the whole LXD host, are blocked by apparmor due to security reasons. See one of the topics where it’s been explained already and our updated Multi CPU Architecture documentation
Please re-post a query for huge pages support within LXD as a separate topic in ARM CPU Architecture category so we could track it and handle the answer. We’re gathering feedback on various use-cases, including also the ones where LXD itself is not sufficient due to security constraints.
We’ve just updated OS images for ARM builds within LXD (changelog here ) and this should cover some language scenarios as well. Could you re-run your build? If it fails back with the same error, please report as a separate topic in Multi CPU Architecture community forum?