An ARM-based executor for ARM-based Docker images would allow Raspberry Pi development as well as other ARM software.
I am developing an application for the raspberry pi and wanted to run my tests on circle ci, inside of a raspberrypi docker container.
In the meantime I can avoid installing packages that depend on raspberry pi hardware (RPi.GPIO). Then I can run on x86 architecture. However this of course means that I lose test/prod parity.
Thanks for your time, and a great product.
This hack allows you to build arm docker containers in cci. unfortunately you still can't run them as the base image from your config yaml. hoping maybe someone at cci can update to add a setting to allow us to run the qemu command?
steps: - checkout - setup_remote_docker: docker_layer_caching: true version: 18.06.0-ce - run: name: Install Deps command: ./install_deps.sh - run: name: Build & Publish command: ./build_publish.sh
err, can't edit posts here? the correct yaml is
steps: - checkout - setup_remote_docker: - run: command: | docker run --rm --privileged multiarch/qemu-user-static:register docker build , # (w/ FROM from any arm like multiarch/ubuntu-core:arm64-xenial)
I would like to be able to build for arm64 platforms. My company develops applications for ROS and the image arm64v8/ros:melodic fails to build as described in https://support.circleci.com/hc/en-us/articles/360018651374-Job-completes-after-Spin-up-Environment-for-non-x86-based-Docker-images-
Is there any other work-around than the above hack?
Thank you for this suggestion. We understand how important it is for our customers to have access to a varied set of executors, including ARM-based ones. However, ARM resources are not at the top of the list of resource expansion for us right now. As we get more feedback, we will reconsider the priority of this item.
We wish to build and test aarch64 based docker builds on circleci.com
Our target platform is AWS EC2 ARM-based instances and Odroid C2/N4 devices.
Definitely Raspberry Pi, Android and many other platforms run on top of ARM architectures. Please, consider adding this request to your roadmap.
I’ll second this request. My builds are solely for arm, so I’ve been trying to get a workaround working. I would be willing to run on AWS if necessary but haven’t found sufficient guidance to help me put it together.
+1 definitely a good one
+1 I'm using Raspbian, my use case is running the tests, build the dist folder and pushing everything on a different repository.The goal is to have a ready to use application once checked out on my raspi.As I required the same arch to be run directly I would love to see this feature.
+1 : Yes, please
^This. 125 Billion ARM devices in the world - the software for which needs ARM support if it is developed under CI. Emulation via qemu is too slow.
AWS provides Arm EC2 instances and their cost performance is very good.
We are considering to use them on our systems but CircleCI is a blocker for that because we use CircleCI for not only just testing but as a part of our deployment process for example build a package.
ARM support is currently a blocker for us to officially support ARM platforms.
+1 for supporting ARM64 architecture
It would be cool if the following was possible: https://gist.github.com/martin-g/fc8ecab291796439157015e2f5c24843, i.e. a machine job to setup QEMU, and then any following Docker job to be executed in the machine VM
Many software shops are testing ARM64 servers these days. Latest ARM64 servers have similar performance as amd64 ones but consume less power, i.e. smaller bills at the end of the month.
It would be awesome if CircleCI adds support for ARM64 architecture!
TravisCI supports them for some time now. And Github Actions also recently added support for remote agents on ARM64 - https://github.blog/changelog/2019-12-03-github-actions-self-hosted-runners-on-arm-architectures/
I am tasked to release arm64 packages for our software and now I will have to duplicate our config.yml into .travisci.yml for this reason.
I was able to create a workflow based on machine executors and QEMU to build deb/rpm/apk packages for Varnish Cache for amd64 and aarch64 architectures. It could be used for any architecture supported by QEMU. The PR could be seen at https://github.com/varnishcache/varnish-cache/pull/3263
You won't be notified about changes to this idea.