Skip to main content

add a Docker-based wrapper for rubocop

ID
f2bb9b2
date
2023-01-13 08:21:57+00:00
author
Alex Chan <alex@alexwlchan.net>
parent
28446e9
message
add a Docker-based wrapper for rubocop
changed files
2 files, 28 additions

Changed files

docker/rubocop.Dockerfile (0) → docker/rubocop.Dockerfile (68)

diff --git a/docker/rubocop.Dockerfile b/docker/rubocop.Dockerfile
new file mode 100644
index 0000000..e551158
--- /dev/null
+++ b/docker/rubocop.Dockerfile
@@ -0,0 +1,5 @@
+FROM ruby:3.1-slim
+
+RUN gem install rubocop
+
+ENTRYPOINT ["rubocop"]

rubocop (0) → rubocop (511)

diff --git a/rubocop b/rubocop
new file mode 100755
index 0000000..fe6d562
--- /dev/null
+++ b/rubocop
@@ -0,0 +1,23 @@
+#!/usr/bin/env bash
+# A wrapper around the Ruby linter/formatter 'rubocop'.
+#
+# This runs Rubocop inside a Docker container so I don't have to maintain
+# a working Ruby runtime on macOS.
+
+set -o errexit
+set -o nounset
+
+if ! docker images | grep alexwlchan/rubocop >/dev/null
+then
+  pushd ~/repos/pathscripts/docker
+    docker build \
+      --tag alexwlchan/rubocop \
+      --file rubocop.Dockerfile \
+      .
+  popd
+fi
+
+docker run \
+  --volume $(pwd):/working \
+  --workdir /working \
+  alexwlchan/rubocop "$@"