-
Notifications
You must be signed in to change notification settings - Fork 6
Open
Description
We will support MultiArch in the future using the approach outlined here https://docs.docker.com/build/ci/github-actions/multi-platform/#distribute-build-across-multiple-runners.
TODO: before closing this issue write it up as an architectural decision.
In the meantime I will update the naming conventions of our native linux and cross compiled containers using these notes:
- Native images are useful for dev because you want to be able to compile and test in a devcontainer
- So cross compilation should probably only be used if you can't dev on the target (like RTEMS)
- We will switch to a naming convention of
- epics-base-developer
- for a multi-architecture container - meaning using this will get you a container that loads on your workstation and contains epics
already built for your workstation
- cross compile containers will have an additional part to their name with the EPICS_TARGET_ARCH e.g.
- epics-base-rtems-beatnik-developer
- For the moment these will all be linux-x86 host architecture BUT could also in future be multi-arch if we really had a need for that
- so in summary:
- the host arch is encoded in the multi-arch container
- the target arch is encoded in the name of the container
- thus there is one set of multi-arch containers per target arch
RIGHT NOW this means the following changes to container names:
epics-base-linux-developer->epics-base-developer: multi-arch nativeepics-base-linux-runtime->epics-base-runtime: multi-arch nativeepics-base-rtems-beatnik-developer: stays - the cross compile from linux x86epics-base-rtems-beatnik-runtime: stays - the cross compile from linux x86epics-base-linux-x86_64-developer: REMOVE (holdover from the last iteration of this decision)epics-base-linux-x86_64-runtime: REMOVE (holdover from the last iteration of this decision)epics-base-linux-arm-developer: REMOVE but would mean means cross compile to linux arm 64 from linux x86epics-base-linux-arm-runtime: REMOVE but would now means cross compile to linux arm 64 from linux x86
Metadata
Metadata
Assignees
Labels
No labels