Skip to content
Snippets Groups Projects
Commit 7bcc22c2 authored by René Schöne's avatar René Schöne
Browse files

Merge branch 'ci' into 'master'

CI and other bugs

See merge request !2
parents c232aa17 1b2dde33
Branches
Tags v0.0
1 merge request!2CI and other bugs
Pipeline #9642 passed
Showing
with 103 additions and 145 deletions
stages: stages:
- build - build
# - test - test
- benchmark
before_script: before_script:
- export GRADLE_USER_HOME=`pwd`/.gradle - export GRADLE_USER_HOME=`pwd`/.gradle
...@@ -10,6 +9,7 @@ cache: ...@@ -10,6 +9,7 @@ cache:
paths: paths:
- .gradle/wrapper - .gradle/wrapper
- .gradle/caches - .gradle/caches
- ttc2018liveContest
build: build:
image: openjdk:11 image: openjdk:11
...@@ -17,25 +17,16 @@ build: ...@@ -17,25 +17,16 @@ build:
script: script:
- ./gradlew --console=plain assemble - ./gradlew --console=plain assemble
#test: test:
# image: openjdk:11
# stage: test
# needs:
# - build
# script:
# - ./gradlew --console=plain --info test
# artifacts:
# when: always
# reports:
# junit: "*/build/test-results/test/**/TEST-*.xml"
timing:
image: openjdk:11 image: openjdk:11
stage: benchmark stage: test
needs: needs:
- build - build
script: script:
- ./all-timed-benchmark.sh - "[ -d ttc2018liveContest ] || git clone --depth=1 https://github.com/TransformationToolContest/ttc2018liveContest.git ttc2018liveContest"
- ln -sf ../../../../ttc2018liveContest/models solve/src/test/resources
- ./gradlew --console=plain test
artifacts: artifacts:
paths: when: always
- results/ reports:
junit: "*/build/test-results/test/**/TEST-*.xml"
...@@ -3,6 +3,6 @@ mkdir -p "results" ...@@ -3,6 +3,6 @@ mkdir -p "results"
query=2 query=2
size=32 size=32
for d in relast-* namelookup-xml-*; do for d in relast-* namelookup-xml-*; do
./timedBenchmark.sh $d $query $size ./gradlew ":${d}:installDist"
mv events-xml-${size}-Q${query}.csv results/events-${d}-${size}-Q${query}.csv ./timedBenchmark.sh "$d" $query $size > "results/results-${d}-${size}-Q${query}.csv"
done done
#!/usr/bin/env bash target="../ttc2018liveContest/solutions"
# skipping "namelookup-xml-*"
function build_sed_activate() { for s in relast-* ; do
# enable integration echo ">> Building $s"
sed -i 's/enabled = false/enabled = true/g' solve/build.gradle ./gradlew ":${s}:installDist"
# disable debug solutionDir="$target/jastadd-$s"
sed -i 's|"--debug",|//"--debug",|g' solve/build.gradle echo ">> Copy to $solutionDir"
} rm -rI "$solutionDir"
mkdir -p "$solutionDir/bin"
function build_sed_deactivate() { cp solution.ini "$solutionDir/"
sed -i 's/enabled = true/enabled = false/g' solve/build.gradle cp "solve/README-for-TTC-repo.md" "$solutionDir/README.md"
sed -i 's|//"--debug",|"--debug",|g' solve/build.gradle cp "${s}/build/libs/solve-1.0-SNAPSHOT.jar" "${solutionDir}/bin/solve.jar"
sed -i 's/"--incremental=[^"]*"/"--incremental=param,debug"/g' solve/build.gradle done
sed -i 's/--flush=[^"]*/--flush=api/g' solve/build.gradle
} # source code
echo "Copying source"
function build_incremental() { copySourceDir="$target/jastadd-source"
#TODO rm -rI "$copySourceDir"
name="$1-inc" mkdir -p "$copySourceDir/src"
echo ">> Building $name" cp -a solve/gradle-parts solve/build.gradle solve/jastadd_modules solve/.gitignore "$copySourceDir/"
build_sed_activate cp -a solve/src/main "$copySourceDir/src/"
sed -i 's/--flush=full/--flush=api/g' solve/build.gradle cp "solve/README-for-TTC-repo.md" "$copySourceDir/README.md"
sed -i 's/"--incremental=[^"]*"/"--incremental=param"/g' solve/build.gradle
./gradlew --console=plain distTar
build_sed_deactivate
copy_to_ttc $name
}
function build_flushing() {
#TODO
name="$1-flush"
echo ">> Building $name"
build_sed_activate
sed -i 's/--flush=api/--flush=full/g' solve/build.gradle
sed -i 's/"--incremental=[^"]*"/"--incremental=none"/g' solve/build.gradle
./gradlew --console=plain distTar
build_sed_deactivate
copy_to_ttc $name
}
function copy_to_ttc() {(
name=$1
ls -lh solve/build/distributions
# ensure directory exists and unpack into it
mkdir -p ../ttc2018liveContest/solutions/$name
tar -xf solve/build/distributions/solve-1.0-SNAPSHOT.tar -C ../ttc2018liveContest/solutions/$name/ solve-1.0-SNAPSHOT/bin/ solve-1.0-SNAPSHOT/lib/
# cp solution.ini
cp solution.ini ../ttc2018liveContest/solutions/$name/
# fix directory layout
cd ../ttc2018liveContest/solutions/$name/
rm -r bin/ lib/
mv solve-1.0-SNAPSHOT/bin/ .
mv solve-1.0-SNAPSHOT/lib/ .
rmdir solve-1.0-SNAPSHOT
)}
function build() {
build_flushing $@
build_incremental $@
}
function prepare_namelookup() {
# deactivate preprocess
sed -i 's|^generateAst.dependsOn preprocess|//generateAst.dependsOn preprocess|g' solve/build.gradle
# remove generated AST and helper files, activate namelookup AST and helper jadd files
( cd solve/src/main/jastadd &&
rm SocialNetworkGen.ast SocialNetworkGen.jadd &&
mv Refs.jadd.unused Refs.jadd &&
mv SocialNetworkNamelookup.ast.unused SocialNetworkNamelookup.ast )
}
function revert_namelookup() {
# activate preprocess
sed -i 's|//generateAst.dependsOn preprocess|generateAst.dependsOn preprocess|g' solve/build.gradle
# deactivate normal AST and helper jadd files
( cd solve/src/main/jastadd &&
mv Refs.jadd Refs.jadd.unused &&
mv SocialNetworkNamelookup.ast SocialNetworkNamelookup.ast.unused )
}
prepare_namelookup
# Build jastadd-ttc18-xml (namelookup)
sed -i 's/LiveContestDriverEMF/LiveContestDriverXml/' solve/build.gradle
build "jastadd-ttc18-xml"
revert_namelookup
# workaround for failing build
echo ">> Prepare building relast building"
sleep 1
./gradlew --console=plain preprocess jastadd build 2> /dev/null
sleep 1
./gradlew --console=plain preprocess jastadd build 2> /dev/null
# Build jastadd-ttc18-xml
sed -i 's/LiveContestDriverEMF/LiveContestDriverXml/' solve/build.gradle
build "jastadd-ttc18-relast-xml"
# Build jastadd-ttc18-emf
sed -i 's/LiveContestDriverXml/LiveContestDriverEMF/' solve/build.gradle
build "jastadd-ttc18-relast-emf"
...@@ -14,8 +14,8 @@ plugins { ...@@ -14,8 +14,8 @@ plugins {
ext.relastFiles = [] ext.relastFiles = []
apply from: '../solve/gradle-parts/base.gradle' apply from: '../solve/gradle-parts/01-inc-flush.gradle'
apply from: '../solve/gradle-parts/inc-flush.gradle' apply from: '../solve/gradle-parts/02-base.gradle'
apply from: '../solve/gradle-parts/rel-namelookup.gradle' apply from: '../solve/gradle-parts/03-rel-namelookup.gradle'
...@@ -14,8 +14,8 @@ plugins { ...@@ -14,8 +14,8 @@ plugins {
ext.relastFiles = [] ext.relastFiles = []
apply from: '../solve/gradle-parts/base.gradle' apply from: '../solve/gradle-parts/01-inc-incremental.gradle'
apply from: '../solve/gradle-parts/inc-incremental.gradle' apply from: '../solve/gradle-parts/02-base.gradle'
apply from: '../solve/gradle-parts/rel-namelookup.gradle' apply from: '../solve/gradle-parts/03-rel-namelookup.gradle'
../solve/.gitignore
\ No newline at end of file
buildscript {
repositories.mavenCentral()
dependencies {
classpath group: 'org.jastadd', name: 'jastaddgradle', version: '1.13.3'
}
}
plugins {
id 'application'
id 'maven'
id 'java'
id 'idea'
}
project.ext.relastFiles = ["src/main/jastadd/base/SocialNetwork.relast",
"src/main/jastadd/reusable/dg/DependencyGraph.relast",
"src/main/jastadd/reusable/CommentToDG.relast"]
apply from: '../solve/gradle-parts/01-inc-flush.gradle'
apply from: '../solve/gradle-parts/02-base.gradle'
apply from: '../solve/gradle-parts/03-rel-relast.gradle'
module("solve") {
jastadd {
basedir "src/"
include "main/jastadd/base/**/*.ast"
include "main/jastadd/base/**/*.jadd"
include "main/jastadd/base/**/*.jrag"
include "main/jastadd/reusable/dg/DependencyGraphReachability.jrag"
include "main/jastadd/reusable/CommentToDG.jrag"
include "main/jastadd/reusable/queriesRefined.jrag"
include "gen/jastadd/**/*.ast"
include "gen/jastadd/**/*.jadd"
}
}
../solve/libs
\ No newline at end of file
../../solve/src/main
\ No newline at end of file
../../solve/src/test
\ No newline at end of file
...@@ -16,8 +16,8 @@ project.ext.relastFiles = ["src/main/jastadd/base/SocialNetwork.relast", ...@@ -16,8 +16,8 @@ project.ext.relastFiles = ["src/main/jastadd/base/SocialNetwork.relast",
"src/main/jastadd/reusable/dg/DependencyGraph.relast", "src/main/jastadd/reusable/dg/DependencyGraph.relast",
"src/main/jastadd/reusable/CommentToDG.relast"] "src/main/jastadd/reusable/CommentToDG.relast"]
apply from: '../solve/gradle-parts/base.gradle' apply from: '../solve/gradle-parts/01-inc-incremental.gradle'
apply from: '../solve/gradle-parts/inc-incremental.gradle' apply from: '../solve/gradle-parts/02-base.gradle'
apply from: '../solve/gradle-parts/rel-relast.gradle' apply from: '../solve/gradle-parts/03-rel-relast.gradle'
...@@ -14,8 +14,8 @@ plugins { ...@@ -14,8 +14,8 @@ plugins {
ext.relastFiles = ["src/main/jastadd/base/SocialNetwork.relast"] ext.relastFiles = ["src/main/jastadd/base/SocialNetwork.relast"]
apply from: '../solve/gradle-parts/base.gradle' apply from: '../solve/gradle-parts/01-inc-flush.gradle'
apply from: '../solve/gradle-parts/inc-flush.gradle' apply from: '../solve/gradle-parts/02-base.gradle'
apply from: '../solve/gradle-parts/rel-relast.gradle' apply from: '../solve/gradle-parts/03-rel-relast.gradle'
...@@ -14,8 +14,8 @@ plugins { ...@@ -14,8 +14,8 @@ plugins {
ext.relastFiles = ["src/main/jastadd/base/SocialNetwork.relast"] ext.relastFiles = ["src/main/jastadd/base/SocialNetwork.relast"]
apply from: '../solve/gradle-parts/base.gradle' apply from: '../solve/gradle-parts/01-inc-incremental.gradle'
apply from: '../solve/gradle-parts/inc-incremental.gradle' apply from: '../solve/gradle-parts/02-base.gradle'
apply from: '../solve/gradle-parts/rel-relast.gradle' apply from: '../solve/gradle-parts/03-rel-relast.gradle'
include ':solve' include ':solve'
include ':namelookup-xml-flush' include ':namelookup-xml-flush'
include ':namelookup-xml-inc' include ':namelookup-xml-inc'
include ':relast-reusable-flush'
include ':relast-reusable-inc' include ':relast-reusable-inc'
include ':relast-xml-flush' include ':relast-xml-flush'
include ':relast-xml-inc' include ':relast-xml-inc'
...@@ -3,5 +3,5 @@ default=echo "It is already built" ...@@ -3,5 +3,5 @@ default=echo "It is already built"
skipTests=echo "It is already built" skipTests=echo "It is already built"
[run] [run]
Q1=bin/solve Q1=java -Xms6G -Xmx6G -jar bin/solve.jar
Q2=bin/solve Q2=java -Xms6G -Xmx6G -jar bin/solve.jar
The sources for all JastAdd solutions can be found in a [separate repository](https://git-st.inf.tu-dresden.de/stgroup/ttc18live).
...@@ -14,8 +14,8 @@ plugins { ...@@ -14,8 +14,8 @@ plugins {
ext.relastFiles = ["src/main/jastadd/base/SocialNetwork.relast"] ext.relastFiles = ["src/main/jastadd/base/SocialNetwork.relast"]
apply from: '../solve/gradle-parts/base.gradle' apply from: 'gradle-parts/01-inc-incremental.gradle'
apply from: '../solve/gradle-parts/inc-incremental.gradle' apply from: 'gradle-parts/02-base.gradle'
apply from: '../solve/gradle-parts/rel-relast.gradle' apply from: 'gradle-parts/03-rel-relast.gradle'
project.ext.extraJastAddOptions = [
'--lineColumnNumbers',
'--cache=all',
"--flush=full",
"--incremental=none",
"--tracing=api",
]
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment