summaryrefslogtreecommitdiffstats
path: root/Dockerfile
diff options
context:
space:
mode:
Diffstat (limited to 'Dockerfile')
-rw-r--r--Dockerfile25
1 files changed, 25 insertions, 0 deletions
diff --git a/Dockerfile b/Dockerfile
new file mode 100644
index 0000000..8acb222
--- /dev/null
+++ b/Dockerfile
@@ -0,0 +1,25 @@
+FROM alpine
+
+# zig is installed from the upstream tarball, because:
+# - as of writing, alpine has zig only in testing (which is cumbersome to use)
+# - apk get zig pulls in libllvm, which is huge.
+#
+# Upstream tarball is statically linked, making it small and convenient to use.
+RUN apk add make \
+ && wget https://ziglang.org/download/0.11.0/zig-linux-$(uname -m)-0.11.0.tar.xz \
+ && tar -xJf zig-linux-*.tar.xz \
+ && rm zig-linux-*.xz \
+ && mv zig-linux-* zig
+
+WORKDIR inotify-info
+
+COPY . .
+
+RUN CC="/zig/zig cc -target $(uname -m)-linux-musl" \
+ CXX="/zig/zig c++ -target $(uname -m)-linux-musl" \
+ make
+
+FROM scratch
+COPY --from=0 /inotify-info/_release/inotify-info /inotify-info
+
+ENTRYPOINT ["/inotify-info"]