Skip to content
20 linesCodeBlameRaw
1# syntax=docker/dockerfile:1.7
2#
3# The sandbox workflow jobs, g1t.page builds and g1t's own work (the merge
4# queue, merge checks, dependency updates, backups) run in: the base image
5# (services/runner/base/Dockerfile, everything but the runner) and the g1t
6# runner, a static Linux binary built outside Docker by
7# scripts/build-runner.mjs.
8#
9# Deploys do not build this file: scripts/deploy/registry.mjs makes the
10# same image in the registry, adding one layer with the binary to the
11# base's layers (the same path, mode and entrypoint; a test in
12# scripts/deploy holds the two together), so a deploy job never pulls the
13# base. scripts/deploy.mjs builds it with Docker for a dry run, or when
14# that fails, passing BASE (the image recorded in services/runner/base.json)
15# and a build context holding only the binary.
16
17ARG BASE
18FROM ${BASE}
19COPY --chmod=0755 g1t-runner /usr/local/bin/g1t-runner
20ENTRYPOINT ["g1t-runner"]