Skip to content
Snippets Groups Projects
Commit 3d73de63 authored by Carl Mai's avatar Carl Mai
Browse files

first test of the ci/dockerfile

parent c53bce66
No related branches found
No related tags found
No related merge requests found
.gitlab-ci
Dockerfile
README.md
LICENSE
.dockerignore
plugin.xml_gen
bin/
target/
tmp/
.settings/
MANIFEST.MF_gen
.DS_Store*
.metadata
runtimeInfo
workspace
*._trace
Thumbs.db
.Rhistory
.pydevproject
deps/
diagrams/*
.idea
log/
catalog-v*.xml
.RData
.Rproj.user
*.tar.gz
*.zip
*.gml
# IntelliJ IDEA
*.iml
# Eclipse
.project
.classpath
### Gradle ###
.gradle
build/
# Ignore Gradle GUI config
gradle-app.setting
# Avoid ignoring Gradle wrapper jar file (.jar files are usually ignored)
!gradle-wrapper.jar
# Cache of project
.gradletasknamecache
hs_err_*.log
replay_*.log
~*.*
*.~*
xtend-gen/
neo4j-server/
out/
*.swp
*.report
image: docker:latest
# mostly taken from: https://docs.gitlab.com/ee/ci/docker/using_docker_build.html
variables:
DOCKER_REPOSITORY: git-st.inf.tu-dresden.de:4567
CONTAINER_RELEASE_IMAGE: $DOCKER_REPOSITORY/stgroup/trainbenchmark:latest
CONTAINER_TEST_IMAGE: $DOCKER_REPOSITORY/stgroup/trainbenchmark:$CI_COMMIT_REF_NAME
stages:
- build
- test
- benchmark
- release
before_script:
- docker login -u gitlab-ci-token -p $CI_JOB_TOKEN $DOCKER_REPOSITORY
build:
stage: build
tags:
- dockered
script:
- docker build --pull -t $CONTAINER_TEST_IMAGE .
- docker push $CONTAINER_TEST_IMAGE
test_test:
stage: test
tags:
- dockered
script:
- docker pull $CONTAINER_TEST_IMAGE
- docker run $CONTAINER_TEST_IMAGE /trainbenchmark/gradlew --no-daemon test
test_check:
stage: test
tags:
- dockered
script:
- docker pull $CONTAINER_TEST_IMAGE
- docker run $CONTAINER_TEST_IMAGE /trainbenchmark/gradlew --no-daemon check
benchmark_inject:
stage: benchmark
tags:
- dockered
script:
- docker pull $CONTAINER_TEST_IMAGE
- docker run $CONTAINER_TEST_IMAGE /trainbenchmark/gradlew --no-daemon individualInjectBenchmark
benchmark_repair:
stage: benchmark
tags:
- dockered
script:
- docker pull $CONTAINER_TEST_IMAGE
- docker run $CONTAINER_TEST_IMAGE /trainbenchmark/gradlew --no-daemon individualRepairBenchmark
release-image:
stage: release
tags:
- dockered
script:
- docker pull $CONTAINER_TEST_IMAGE
- docker tag $CONTAINER_TEST_IMAGE $CONTAINER_RELEASE_IMAGE
- docker push $CONTAINER_RELEASE_IMAGE
only:
- master
# glpk also from https://github.com/dmccloskey/glpk/blob/master/Dockerfile
# Set the base image to Ubuntu
FROM ubuntu:latest
# Switch to root for install
USER root
ENV DEBIAN_FRONTEND noninteractive
RUN apt-get update -y && apt-get install -y \
openjdk-8-jdk \
r-base \
r-base-dev \
libudunits2-dev \
--no-install-recommends \
&& apt-get clean \
&& rm -rf /var/lib/apt/lists/*
RUN mkdir -p /trainbenchmark/trainbenchmark-reporting
COPY trainbenchmark-reporting/install.R /trainbenchmark/trainbenchmark-reporting/install.R
RUN Rscript /trainbenchmark/trainbenchmark-reporting/install.R
ENV HOME /home/user
RUN useradd --create-home --home-dir $HOME user \
&& chmod -R u+rwx $HOME \
&& chown -R user:user $HOME
WORKDIR /trainbenchmark
# START prefetch some gradle-dependencies
COPY gradlew .
COPY gradle gradle
COPY settings.gradle .
COPY build.gradle build.gradle
RUN chown user:user -R /trainbenchmark
USER user
RUN ./gradlew --no-daemon build; true
# build.gradle
COPY trainbenchmark-reporting/build.gradle trainbenchmark-reporting/build.gradle
COPY trainbenchmark-scripts/build.gradle trainbenchmark-scripts/build.gradle
COPY trainbenchmark-server/build.gradle trainbenchmark-server/build.gradle
COPY trainbenchmark-tool-emf/build.gradle trainbenchmark-tool-emf/build.gradle
COPY trainbenchmark-tool-jastadd-namelookup-base/build.gradle trainbenchmark-tool-jastadd-namelookup-base/build.gradle
COPY trainbenchmark-tool-jastadd-namelookup-incremental/build.gradle trainbenchmark-tool-jastadd-namelookup-incremental/build.gradle
COPY trainbenchmark-tool-jastadd-namelookup/build.gradle trainbenchmark-tool-jastadd-namelookup/build.gradle
COPY trainbenchmark-tool-jastadd-optimized-base/build.gradle trainbenchmark-tool-jastadd-optimized-base/build.gradle
COPY trainbenchmark-tool-jastadd-optimized-incremental/build.gradle trainbenchmark-tool-jastadd-optimized-incremental/build.gradle
COPY trainbenchmark-tool-jastadd-optimized/build.gradle trainbenchmark-tool-jastadd-optimized/build.gradle
COPY trainbenchmark-tool-jastadd-specialized-base/build.gradle trainbenchmark-tool-jastadd-specialized-base/build.gradle
COPY trainbenchmark-tool-jastadd-specialized-incremental/build.gradle trainbenchmark-tool-jastadd-specialized-incremental/build.gradle
COPY trainbenchmark-tool-jastadd-specialized/build.gradle trainbenchmark-tool-jastadd-specialized/build.gradle
COPY trainbenchmark-tool-tinkergraph/build.gradle trainbenchmark-tool-tinkergraph/build.gradle
COPY trainbenchmark-tool-viatra-patterns/build.gradle trainbenchmark-tool-viatra-patterns/build.gradle
COPY trainbenchmark-tool-viatra/build.gradle trainbenchmark-tool-viatra/build.gradle
# properties
COPY trainbenchmark-format-emf-model/build.properties trainbenchmark-format-emf-model/build.properties
COPY trainbenchmark-tool-viatra-patterns/build.properties trainbenchmark-tool-viatra-patterns/build.properties
COPY trainbenchmark-tool/build.properties trainbenchmark-tool/build.properties
# core packages
COPY trainbenchmark-config/ trainbenchmark-config/
COPY trainbenchmark-tool/ trainbenchmark-tool/
COPY trainbenchmark-tool-jastadd-base/ trainbenchmark-tool-jastadd-base/
COPY trainbenchmark-format-emf-model/ trainbenchmark-format-emf-model/
COPY trainbenchmark-format-emf/ trainbenchmark-format-emf/
COPY trainbenchmark-generator-dot/ trainbenchmark-generator-dot/
COPY trainbenchmark-generator-emf/ trainbenchmark-generator-emf/
COPY trainbenchmark-generator-graph-tinkerpop/ trainbenchmark-generator-graph-tinkerpop/
COPY trainbenchmark-generator-json4ag-special/ trainbenchmark-generator-json4ag-special/
COPY trainbenchmark-generator-json4ag/ trainbenchmark-generator-json4ag/
COPY trainbenchmark-generator/ trainbenchmark-generator/
RUN ./gradlew --no-daemon initScripts
RUN ./gradlew --no-daemon generate; true
RUN ./gradlew --no-daemon dependencies; true
RUN ./gradlew --no-daemon trainbenchmark-config:build; true
RUN ./gradlew --no-daemon trainbenchmark-tool-jastadd-base:build; true
# END prefetch some gradle-dependencies
COPY diagrams/ diagrams/
COPY logs/ logs/
COPY models/ models/
COPY results/ results/
COPY trainbenchmark-config/ trainbenchmark-config/
COPY trainbenchmark-format-emf/ trainbenchmark-format-emf/
COPY trainbenchmark-format-emf-model/ trainbenchmark-format-emf-model/
COPY trainbenchmark-generator/ trainbenchmark-generator/
COPY trainbenchmark-generator-dot/ trainbenchmark-generator-dot/
COPY trainbenchmark-generator-emf/ trainbenchmark-generator-emf/
COPY trainbenchmark-generator-graph-tinkerpop/ trainbenchmark-generator-graph-tinkerpop/
COPY trainbenchmark-generator-json4ag/ trainbenchmark-generator-json4ag/
COPY trainbenchmark-generator-json4ag-special/ trainbenchmark-generator-json4ag-special/
COPY trainbenchmark-reporting/ trainbenchmark-reporting/
COPY trainbenchmark-scripts/ trainbenchmark-scripts/
COPY trainbenchmark-server/ trainbenchmark-server/
COPY trainbenchmark-tool/ trainbenchmark-tool/
COPY trainbenchmark-tool-emf/ trainbenchmark-tool-emf/
COPY trainbenchmark-tool-jastadd-base/ trainbenchmark-tool-jastadd-base/
COPY trainbenchmark-tool-jastadd-namelookup/ trainbenchmark-tool-jastadd-namelookup/
COPY trainbenchmark-tool-jastadd-namelookup-base/ trainbenchmark-tool-jastadd-namelookup-base/
COPY trainbenchmark-tool-jastadd-namelookup-incremental/ trainbenchmark-tool-jastadd-namelookup-incremental/
COPY trainbenchmark-tool-jastadd-optimized/ trainbenchmark-tool-jastadd-optimized/
COPY trainbenchmark-tool-jastadd-optimized-base/ trainbenchmark-tool-jastadd-optimized-base/
COPY trainbenchmark-tool-jastadd-optimized-incremental/ trainbenchmark-tool-jastadd-optimized-incremental/
COPY trainbenchmark-tool-jastadd-specialized/ trainbenchmark-tool-jastadd-specialized/
COPY trainbenchmark-tool-jastadd-specialized-base/ trainbenchmark-tool-jastadd-specialized-base/
COPY trainbenchmark-tool-jastadd-specialized-incremental/ trainbenchmark-tool-jastadd-specialized-incremental/
COPY trainbenchmark-tool-tinkergraph/ trainbenchmark-tool-tinkergraph/
COPY trainbenchmark-tool-viatra/ trainbenchmark-tool-viatra/
COPY trainbenchmark-tool-viatra-patterns/ trainbenchmark-tool-viatra-patterns/
COPY visualization/ visualization/
USER root
RUN chown -R user:user /trainbenchmark
USER user
RUN ./gradlew --no-daemon initScripts
RUN ./gradlew --no-daemon build shadowJar -x test
RUN ./gradlew --no-daemon generate
# RUN ./gradlew --no-daemon individualInjectBenchmark
# RUN ./gradlew --no-daemon individualRepairBenchmark
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment