Skip to content

Commit

Permalink
[MINOR] Added package to R dependency; updated Docker test image
Browse files Browse the repository at this point in the history
* Upcoming TomekLink builtin needs the R package "unbalanced"
* The docker image for our automated testing was updated to add the missing R package.
* Due to a missing java 8 package in Debian testing, the docker image for automated tests now uses a binary OpenJDK distribution from http://adoptopenjdk.net.
* Readme.m in the docker sub directory was changed to point to SystemDS "official" docker images.
  • Loading branch information
corepointer committed Mar 1, 2021
1 parent 4649eb1 commit 030fdab
Show file tree
Hide file tree
Showing 3 changed files with 19 additions and 13 deletions.
12 changes: 6 additions & 6 deletions docker/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -31,16 +31,16 @@ To Build the docker image simply run the build script.
./docker/build.sh
```

Afterwards you should have a local image with the id `sebaba/sysds:0.2`.
Afterwards you should have a local image with the id `systemds/sysds:latest`.
To execute any given DML script follow the step Run.

## Run

Running SystemDS in a docker container is as simple as constructing any DML script
Then Download the docker image `sebaba/sysds:0.2` or build your own.
Then Download the docker image `systemds/sysds:latest` or build your own.

```bash
docker pull sebaba/sysds:0.2
docker pull systemds/sysds:latest
```

Verify that the docker image correctly works simply by running it, make sure that your terminal is pointing at the root of you systemds git clone.
Expand All @@ -56,7 +56,7 @@ You can mount any such folder and execute systemds on by changing the first part
```bash
docker run \
-v $(pwd)/docker/mountFolder:/input \
--rm sebaba/sysds:0.2
--rm systemds/sysds:latest
```

## Testing
Expand All @@ -72,7 +72,7 @@ To build this image simply run the same command as above.
Because the github action pulls the image from docker hub the image has to be pushed to docker hub to produce any change in the behavior of the testing.

```bash
docker push sebaba/testingsysds:0.2
docker push systemds/testingsysds:latest
```

For each of the tests that require R, this image is simply used, because it skips the installation of the R packages, since they are installed in this image.
Expand All @@ -82,6 +82,6 @@ Test your testing image locally by running the following command:
```bash
docker run \
-v $(pwd):/github/workspace \
sebaba/testingsysds:0.2 \
systemds/testingsysds:latest \
org.apache.sysds.test.component.*.**
```
17 changes: 11 additions & 6 deletions docker/testsysds.Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -29,17 +29,22 @@ WORKDIR /usr/src/

ENV MAVEN_VERSION 3.6.3
ENV MAVEN_HOME /usr/lib/mvn
ENV PATH $MAVEN_HOME/bin:$PATH
ENV JAVA_HOME /usr/lib/jvm/java-8-openjdk-amd64
ENV PATH $JAVA_HOME/bin:$MAVEN_HOME/bin:$PATH

RUN wget http://archive.apache.org/dist/maven/maven-3/$MAVEN_VERSION/binaries/apache-maven-$MAVEN_VERSION-bin.tar.gz && \
tar -zxvf apache-maven-$MAVEN_VERSION-bin.tar.gz && \
rm apache-maven-$MAVEN_VERSION-bin.tar.gz && \
mv apache-maven-$MAVEN_VERSION /usr/lib/mvn
RUN mkdir /usr/lib/jvm
RUN wget -qO- \
https://github.com/AdoptOpenJDK/openjdk8-binaries/releases/download/jdk8u282-b08/OpenJDK8U-jdk_x64_linux_hotspot_8u282b08.tar.gz \
| tar xzf -
RUN mv jdk8u282-b08 /usr/lib/jvm/java-8-openjdk-amd64

RUN wget -qO- \
http://archive.apache.org/dist/maven/maven-3/$MAVEN_VERSION/binaries/apache-maven-$MAVEN_VERSION-bin.tar.gz | tar xzf -
RUN mv apache-maven-$MAVEN_VERSION /usr/lib/mvn

# Install Extras
RUN apt-get update -qq && \
apt-get upgrade -y && \
apt-get install openjdk-8-jdk-headless -y && \
apt-get install libcurl4-openssl-dev -y && \
apt-get install libxml2-dev -y && \
apt-get install r-cran-xml -y
Expand Down
3 changes: 2 additions & 1 deletion src/test/scripts/installDependencies.R
Original file line number Diff line number Diff line change
Expand Up @@ -60,6 +60,7 @@ custom_install("dbscan");
custom_install("imputeTS");
custom_install("FNN");
custom_install("class");
custom_install("unbalanced");

print("Installation Done")

Expand All @@ -68,4 +69,4 @@ print("Installation Done")
# e.g. "sudo Rscript installDependencies.R a b"
if (length(args) == 2) {
list_user_pkgs()
}
}

0 comments on commit 030fdab

Please sign in to comment.