Addshore has uploaded a new change for review. (
https://gerrit.wikimedia.org/r/378831 )
Change subject: WIP DNM dicker: lintr image - linter for R
......................................................................
WIP DNM dicker: lintr image - linter for R
Bug: T176194
Change-Id: I8bf8328f2b4cbcc89e45335d76792b41939e43ee
---
A dockerfiles/lintr/Dockerfile
A dockerfiles/lintr/run.sh
2 files changed, 56 insertions(+), 0 deletions(-)
git pull ssh://gerrit.wikimedia.org:29418/integration/config
refs/changes/31/378831/1
diff --git a/dockerfiles/lintr/Dockerfile b/dockerfiles/lintr/Dockerfile
new file mode 100644
index 0000000..9d00bd3
--- /dev/null
+++ b/dockerfiles/lintr/Dockerfile
@@ -0,0 +1,23 @@
+FROM docker-registry.wikimedia.org/wikimedia-jessie:latest as builder
+
+RUN apt-get update && \
+ DEBIAN_FRONTEND=noninteractive apt-get install --yes
--no-install-recommends \
+ # The r language itself
+ r-base \
+ # Needed to build lintr
+ make gcc g++ ca-certificates gfortran liblapack-dev libxml2-dev
libssl-dev libcurl4-openssl-dev \
+ && \
+ Rscript -e 'install.packages("devtools",
repos="http://cran.rstudio.com/")' && \
+ Rscript -e 'devtools::install_github("jimhester/[email protected]")' && \
+ apt-get remove --yes make gcc g++ gfortran liblapack-dev libxml2-dev
libssl-dev libcurl4-openssl-dev && \
+ apt-get autoremove --yes && apt-get clean && rm -rf /var/lib/apt/lists/*
+
+COPY run.sh /run.sh
+
+RUN groupadd -r lintr && useradd --no-log-init -r -g lintr lintr
+
+#USER lintr
+USER root
+
+#ENTRYPOINT /bin/bash /run.sh
+ENTRYPOINT /bin/bash
\ No newline at end of file
diff --git a/dockerfiles/lintr/run.sh b/dockerfiles/lintr/run.sh
new file mode 100644
index 0000000..aa3c237
--- /dev/null
+++ b/dockerfiles/lintr/run.sh
@@ -0,0 +1,33 @@
+#!/bin/bash
+
+#TODO loop over all *.R files and lint them
+
+cd /tmp
+echo "library(httr)" > test.R
+Rscript -e 'lintr::lint("test.R")'
+
+# TODO fix the following error!!!:
+# TODO alos this run.sh doesnt appear to be working anyway...
+# $ docker run --rm -it wmfreleng/lintr:v2017.09.19.02.19
+# root@7bf6c24566ac:/# cd /tmp
+# root@7bf6c24566ac:/tmp# echo "library(httr)" > test.R
+# root@7bf6c24566ac:/tmp# Rscript -e 'lintr::lint("test.R")'
+# Error in dyn.load(file, DLLpath = DLLpath, ...) :
+# unable to load shared object
'/usr/local/lib/R/site-library/igraph/libs/igraph.so':
+# libxml2.so.2: cannot open shared object file: No such file or directory
+# Calls: <Anonymous> ... tryCatch -> tryCatchList -> tryCatchOne -> <Anonymous>
+# Execution halted
+
+
+# Could do something like the below?
+#find ./ -type f -name \*.R -exec Rscript -e 'lintr::lint("{}")' \;
+#
+##Flip the exit code
+#if [ $? -ne 0 ]
+#then
+# exit 0
+#else
+# exit 1
+#fi
+
+# https://github.com/jimhester/lintr/blob/master/README.md makes me feel like
there is actually a better way to do this
\ No newline at end of file
--
To view, visit https://gerrit.wikimedia.org/r/378831
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings
Gerrit-MessageType: newchange
Gerrit-Change-Id: I8bf8328f2b4cbcc89e45335d76792b41939e43ee
Gerrit-PatchSet: 1
Gerrit-Project: integration/config
Gerrit-Branch: master
Gerrit-Owner: Addshore <[email protected]>
_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits