mirror of
https://github.com/powdr-labs/powdr.git
synced 2026-01-13 11:38:12 -05:00
56 lines
1.7 KiB
Docker
56 lines
1.7 KiB
Docker
#
|
|
# Runner for powdr github actions.
|
|
# We don't automate runner token generation yet. This image should be used as follows:
|
|
# - generate a runner token in github (valid for ~1h)
|
|
# - build the docker image passing the token as argument:
|
|
# docker buildx build -t github-runner --build-arg TOKEN=THE_GENERATED_TOKEN .
|
|
# - this will create an image already registered it with github
|
|
# - the container will start the runner (./run.sh) by default.
|
|
|
|
# this base image was taken from the Dockerfile in the github runner repo
|
|
FROM mcr.microsoft.com/dotnet/runtime-deps:6.0-jammy AS build
|
|
|
|
ARG RUNNER_VERSION=2.319.1
|
|
|
|
RUN apt-get update && apt install -y curl \
|
|
sudo \
|
|
libicu70 \
|
|
liblttng-ust1 \
|
|
libkrb5-3 \
|
|
zlib1g \
|
|
libssl3 \
|
|
git \
|
|
build-essential \
|
|
clang-15 \
|
|
nlohmann-json3-dev \
|
|
libpqxx-dev \
|
|
nasm \
|
|
libgmp-dev \
|
|
uuid-dev \
|
|
zstd
|
|
|
|
RUN adduser --disabled-password --uid 1001 runner \
|
|
&& usermod -aG sudo runner \
|
|
&& echo "%sudo ALL=(ALL:ALL) NOPASSWD:ALL" > /etc/sudoers \
|
|
&& echo "Defaults env_keep += \"DEBIAN_FRONTEND\"" >> /etc/sudoers
|
|
|
|
USER runner
|
|
|
|
WORKDIR /home/runner
|
|
|
|
RUN curl -f -L -o runner.tar.gz https://github.com/actions/runner/releases/download/v${RUNNER_VERSION}/actions-runner-linux-x64-${RUNNER_VERSION}.tar.gz \
|
|
&& tar xzf ./runner.tar.gz \
|
|
&& rm runner.tar.gz
|
|
|
|
RUN curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s - -y
|
|
|
|
ARG TOKEN
|
|
RUN test -n "$TOKEN" || (echo "must set github runner TOKEN: --build-arg TOKEN=XXX" && false)
|
|
|
|
RUN ./config.sh --name arch-server --work work --replace --url https://github.com/powdr-labs/powdr --token ${TOKEN}
|
|
|
|
# anything that should be in the PATH of the runner must be setup here
|
|
ENV PATH="/home/runner/.cargo/bin:$PATH"
|
|
|
|
CMD ["./run.sh"]
|