Yep, works
This commit is contained in:
commit
54256d4bba
|
@ -0,0 +1,26 @@
|
|||
FROM alpine AS base
|
||||
RUN apk --no-cache add \
|
||||
build-base \
|
||||
hugo \
|
||||
rsync \
|
||||
openssh-client \
|
||||
python3 \
|
||||
curl \
|
||||
ca-certificates \
|
||||
git
|
||||
RUN curl -L https://go.dev/dl/go1.21.3.linux-armv6l.tar.gz | gunzip | tar x -C /opt -f -
|
||||
RUN ln -s /opt/go/bin/* /usr/local/bin/
|
||||
|
||||
|
||||
FROM base AS runner-build
|
||||
WORKDIR /src
|
||||
RUN git clone https://gitea.com/gitea/act_runner
|
||||
RUN CGO_ENABLED=0 make -C act_runner build
|
||||
|
||||
FROM base
|
||||
COPY --from=runner-build /src/act_runner/act_runner /usr/local/bin
|
||||
COPY entrypoint.sh /
|
||||
RUN adduser -D builder
|
||||
USER builder
|
||||
WORKDIR /app
|
||||
ENTRYPOINT [ "/entrypoint.sh" ]
|
|
@ -0,0 +1,21 @@
|
|||
MIT License
|
||||
|
||||
Copyright © 2023 Neale Pickett
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
in the Software without restriction, including without limitation the rights
|
||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
copies of the Software, and to permit persons to whom the Software is
|
||||
furnished to do so, subject to the following conditions:
|
||||
|
||||
* The above copyright notice and this permission notice shall be included in
|
||||
all copies or substantial portions of the Software.
|
||||
|
||||
The software is provided "as is", without warranty of any kind, express or
|
||||
implied, including but not limited to the warranties of merchantability,
|
||||
fitness for a particular purpose and noninfringement. In no event shall the
|
||||
authors or copyright holders be liable for any claim, damages or other
|
||||
liability, whether in an action of contract, tort or otherwise, arising from,
|
||||
out of or in connection with the software or the use or other dealings in the
|
||||
software.
|
|
@ -0,0 +1,62 @@
|
|||
Big Builder
|
||||
===========
|
||||
|
||||
I personally don't want to be running CI/CD automation
|
||||
with full access to my Docker socket.
|
||||
|
||||
I made this image to hold all my typical build toolset,
|
||||
and also the gitea runner,
|
||||
so now I can just say `runs-on: big-builder`,
|
||||
and stuff works without docker.
|
||||
|
||||
This does mean I can't use github actions.
|
||||
That's okay with me:
|
||||
I don't want to be running node on my Raspberry Pi, either.
|
||||
I know how to use the Bourne shell,
|
||||
so I'm able to do everything I want that way.
|
||||
|
||||
|
||||
How To Set This Up
|
||||
------------------
|
||||
|
||||
This wants its files to live in `/app`.
|
||||
After you do the registration step,
|
||||
that can be mounted read-only.
|
||||
But it will want to write its token in the registration step.
|
||||
|
||||
You should provide custom tags:
|
||||
that's how you keep it from trying to use docker.
|
||||
On my raspberry pi,
|
||||
I used `["big-builder", "aarch64", "go", "python3", "hugo"]`.
|
||||
|
||||
Otherwise, just set this up the same way you would set up the
|
||||
[gitea act runner](https://docs.gitea.com/usage/actions/act-runner).
|
||||
|
||||
To run in daemon mode,
|
||||
you have to give it `daemon` on the commandline:
|
||||
I didn't make a fancypants script to guess the command.
|
||||
|
||||
|
||||
Adding Other Packages
|
||||
---------------------
|
||||
|
||||
Make your own image. Like so:
|
||||
|
||||
```Dockerfile
|
||||
FROM big-builder
|
||||
RUN apk --no-cache add nethack
|
||||
``
|
||||
|
||||
Even better, steal this one's Dockerfile and add stuff to it.
|
||||
You shouldn't trust my image to be malware-free.
|
||||
|
||||
|
||||
Caveats
|
||||
-------
|
||||
|
||||
Right now (October 2023),
|
||||
if anything tries to read from the tty,
|
||||
the runner just sits there forever.
|
||||
This is a problem with the runner that they might fix one day.
|
||||
Just something to bear in mind:
|
||||
I spent a bit of time chasing this one down.
|
|
@ -0,0 +1,4 @@
|
|||
#! /bin/sh
|
||||
|
||||
exec </dev/null
|
||||
exec /usr/local/bin/act_runner "$@"
|
Loading…
Reference in New Issue