Sign inSign up

kjanat/runner

By kjanat

Updated 9 days ago

Universal project task runner. Tab-completes (almost) everything.

Image
Developer tools
1

2.3K

kjanat/runner repository overview

runner

The runner and run binaries, packaged for COPY --from.

runner is a universal project task runner. It detects the project, finds its tasks, and completes them through one command shape, whatever the toolchain underneath.

Usage

This image is a file carrier, not a service. Copy the binaries into a build stage:

COPY --from=kjanat/runner:0.26.2 /run /usr/local/bin/run
COPY --from=kjanat/runner:0.26.2 /runner /usr/local/bin/runner

Same image on GHCR, if you prefer to pull from there:

COPY --from=ghcr.io/kjanat/runner:0.26.2 /run /usr/local/bin/run

The binaries are musl-static, so one tag serves Alpine and Debian stages alike. Nothing else is required in the target stage.

It also runs directly, though that is the secondary use:

docker run --rm kjanat/runner:0.26.2 --version
docker run --rm --entrypoint /run -v "${PWD}:/w" kjanat/runner build

Without -v/--volume, the container sees no project. Only --version or --help are meaningful without a mount.

Why

Projects whose package scripts call run break inside build containers. The alternative is downloading an installer on every cache bust, which needs curl and network access in the build stage and pins per Dockerfile instead of per tag. A published image makes the binaries a content-addressed, cacheable build artifact.

Contents

FROM scratch, holding exactly two files:

pathwhat
/runnerthe full CLI
/runalias for runner run

ENTRYPOINT is /runner.

Tags and platforms

Semver tags track releases: 0.26.2, 0.26, and latest. Prereleases never take latest.

Platforms: linux/amd64, linux/arm64.

Binaries come from the same build as the GitHub release and the npm platform packages, so a given version is byte-identical across channels.

Other install channels

npm, crates.io, AUR, and a shell installer are described in the README.

MIT © Kaj Kowalski

Tag summary

Content type

Image

Digest

sha256:6ee8d54d4

Size

5 MB

Last updated

9 days ago

docker pull kjanat/runner