diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index bc1fd65c9a6e7934dff55f7f121285eb49b61555..e44f9787687f0f5384b1a3fc76fe87eb9dbc1392 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -12,3 +12,15 @@ docker-build-master: - docker push "$CI_REGISTRY_IMAGE" only: - master + +docker-build-autograder: + # Official docker image. + image: docker:latest + stage: build + services: + - docker:dind + before_script: + - docker login -u "$CI_REGISTRY_USER" -p "$CI_REGISTRY_PASSWORD" $CI_REGISTRY + script: + - docker build --pull -t "$CI_REGISTRY_IMAGE:autograder" Dockerfile_autograder + - docker push "$CI_REGISTRY_IMAGE:autograder" diff --git a/Dockerfile b/Dockerfile index 5b08ba9706ca6c5d950e501fbc9e1c0a52768bcd..facf6e98ef00f3591200da9033d8746fb37df88a 100644 --- a/Dockerfile +++ b/Dockerfile @@ -26,4 +26,4 @@ RUN make RUN make install #RUN make install RELEASE=1 -WORKDIR /work \ No newline at end of file +WORKDIR /work diff --git a/Dockerfile_autograder b/Dockerfile_autograder new file mode 100644 index 0000000000000000000000000000000000000000..733ea745c86706970fc0d3ad9850d11478d7f759 --- /dev/null +++ b/Dockerfile_autograder @@ -0,0 +1,56 @@ +FROM ubuntu:20.04 +MAINTAINER Autolab Team <autolab-dev@andrew.cmu.edu> + +RUN apt-get update && apt-get install -y \ + build-essential \ + gcc \ + git \ + make \ + freeglut3-dev \ + gtkwave \ + texinfo \ + libncurses-dev \ + elfutils \ + swig \ + python3-pip \ + ctags \ + libelf1 \ + libelf-dev \ + libglib2.0-dev \ + gcc-avr \ + gdb-avr \ + avr-libc \ + sudo \ + && rm -rf /var/lib/apt/lists/* + +# Install autodriver +WORKDIR /home +RUN useradd autolab +RUN useradd autograde +RUN mkdir autolab autograde output +RUN chown autolab:autolab autolab +RUN chown autolab:autolab output +RUN chown autograde:autograde autograde +RUN git clone --depth 1 https://github.com/autolab/Tango.git +WORKDIR Tango/autodriver +RUN make clean && make +RUN cp autodriver /usr/bin/autodriver +RUN chmod +s /usr/bin/autodriver + +# Get us Simavr +WORKDIR /tmp/ +RUN git clone https://github.com/buserror/simavr.git --single-branch --depth 1 + +WORKDIR /tmp/simavr +RUN make +RUN make install +#RUN make install RELEASE=1 +RUN pip3 install pysimavr + +# Clean up +WORKDIR /home +RUN apt-get remove -y git && apt-get -y autoremove && rm -rf Tango/ + +# Check installation +RUN ls -l /home +RUN which autodriver