I believe the proper way to run mkimage.sh is:
--- Dockerfile
+++ Dockerfile
@@ -14,10 +14,11 @@ RUN if [ "${TARGETARCH}" = "amd64" ]; then apk add syslinux; fi
COPY --from=binfmt /usr/bin /binfmt
-RUN addgroup root abuild
-RUN abuild-keygen -i -a -n
RUN apk update
+RUN adduser -D build && addgroup build abuild
+USER build
+RUN abuild-keygen -a -n
-ADD src/aports /home/build/aports
+ADD --chown=build:build src/aports /home/build/aports
WORKDIR /home/build/aports/scripts
ENTRYPOINT ["sh", "./mkimage.sh"]
The problem was that xorriso did not work without root on GitHub runners:
>>> mkimage-x86_64: Creating alpine-lima-std-3.23.0-x86_64.iso
xorriso 1.5.6 : RockRidge filesystem manipulator, libburnia project.
xorriso : NOTE : Environment variable SOURCE_DATE_EPOCH encountered with value 1767662178
libburn : SORRY : Failed to open device (a pseudo-drive) : Permission denied
libburn : FATAL : Burn run failed
xorriso : FATAL : -abort_on 'FAILURE' encountered 'FATAL' during image writing
libisofs: MISHAP : Image write cancelled
xorriso : FAILURE : libburn indicates failure with writing.
It worked fine for me locally on macOS with a Lima based docker container.
Ref #142
I believe the proper way to run
mkimage.shis:The problem was that
xorrisodid not work withoutrooton GitHub runners:It worked fine for me locally on macOS with a Lima based docker container.
Ref #142