andino icon indicating copy to clipboard operation
andino copied to clipboard

Provide a dockerized environment for ARM64

Open agalbachicar opened this issue 1 year ago • 3 comments

Desired behavior

Reduce the time to deploy an Andino bot in a fully functional system.

Alternatives considered

Probably there are many out there, like from a bash script, having an image of the SD card, etc. etc. etc. However, I think that starting by having a dockerized version that can be built in a host machine (x86) that mimics the build procedure in the final architecture (arm64) allows to catch issues with incompatible processes and test many things in CI (not yet, Github Actions doesn't support arm64 yet).

Implementation suggestion

I would consider building in stages and providing multiple images:

  • Image for development in RPI, but with no workspace specific dependency. (A)
  • Image that clones the repo, installs the workspace, builds and tests the packages in andino. (B)
  • Image that mounts the repo as a volume and it is suitable for continuous development. (C)

B depends on A. C depends on A.

A and B can be distributed via Github, probably.

Additional context

Running https://github.com/Ekumen-OS/andino/tree/humble/andino_hardware is tedious. At least, we can reduce the burden by providing the specifics of software packages installed in a docker container.

agalbachicar avatar Dec 28 '23 13:12 agalbachicar

Connected with https://github.com/Ekumen-OS/andino/discussions/20

agalbachicar avatar Dec 28 '23 13:12 agalbachicar

Connected to #51

agalbachicar avatar Jan 02 '24 16:01 agalbachicar

https://docs.docker.com/build/ci/github-actions/multi-platform/ In case this becomes relevant. You can set up QEMU to build for arm64.

marcoshuck avatar Jan 03 '24 18:01 marcoshuck