Oh noes, there aren't prebuilt images for i686 and i386 machines ?
Hi,
I've been installing Gitlab-Runner on my old Gentoo box the last 2-3 days and found a Snaffoo. In the file executors/docker/executoers_docker.go
gitlab-runner determines ones architecture and then selects either the ARM or the AMD prebuilt image accordingly. My system returns 'i686' and not 'amd64' nor 'arm...' which two of the case statements in the file test for (lines 196 and 205).
I've written an E-Build to deal with this but thought it useful to document here. The following sed command will fix the offending lines, run it from the root of your repository. I do not have an i386 box, but am pretty sure some one does.
sed -i -e 's/\(\s*case\s*\)\(".*amd64.*"\)\(\s*:\s*$\)/\1\2, "i686", "i386"\3/' executors/docker/executor_docker.go
One also needs to duplicate the file out/docker/prebuilt-x86_64.tar.xz
and name it out/docker/prebuilt-i686.tar.xz
(similarly out/docker/prebuilt-i386.tar.xz
if applicable) for everything to work alright. I believe the issue largely lies with my system but there are bound to be others suffering the same fate.
The original message showing up both in the pipeline output in the web interface and on the console when using gitlab-runner -- run
reads as follows
ERROR: Failed to create container volume for /builds/carel Unsupported architecture: i686: "Asset prebuilt-i686.tar.xz not found" build=XXX project=XXX runner=XXX
Thanks for making this available the solo dev. types :D
P.S. If I get everything running smoothly I'll post a link to the e-build, also could you allow me about 48 hours to report any further information before closing the issue, for the sake of completeness.