aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLibravatar Kristóf Marussy <marussy@mit.bme.hu>2021-09-24 18:21:45 +0200
committerLibravatar Kristóf Marussy <marussy@mit.bme.hu>2021-09-24 18:21:45 +0200
commite83016134a713318c2b25ceb47bd79ec653e5313 (patch)
tree1510f6a0c55597b37a58bb8b27e61d5ede2d36d6
parentdocs: add EPL-2.0 license (diff)
downloadrefinery-e83016134a713318c2b25ceb47bd79ec653e5313.tar.gz
refinery-e83016134a713318c2b25ceb47bd79ec653e5313.tar.zst
refinery-e83016134a713318c2b25ceb47bd79ec653e5313.zip
ci: add GH actions build and SonarScanner
-rw-r--r--.editorconfig4
-rw-r--r--.github/workflows/build.yml48
-rw-r--r--build.gradle11
-rw-r--r--gradle/xtend.gradle7
-rw-r--r--gradle/xtext-common.gradle7
-rw-r--r--language-model/build.gradle6
-rw-r--r--language-web/build.gradle14
7 files changed, 94 insertions, 3 deletions
diff --git a/.editorconfig b/.editorconfig
index 8ef13825..4615cdbf 100644
--- a/.editorconfig
+++ b/.editorconfig
@@ -2,13 +2,15 @@ root = true
2 2
3[*] 3[*]
4charset = utf-8 4charset = utf-8
5end_of_line = lf
6trim_trailing_whitespace = true
5insert_final_newline = true 7insert_final_newline = true
6 8
7[*.{gradle,java,mwe2,xtend,xtext}] 9[*.{gradle,java,mwe2,xtend,xtext}]
8indent_style = tab 10indent_style = tab
9indent_size = 4 11indent_size = 4
10 12
11[*.{html,js,json,jsx,scss,ts,tsx}] 13[*.{html,js,json,jsx,scss,ts,tsx,yml}]
12indent_style = space 14indent_style = space
13indent_size = 2 15indent_size = 2
14 16
diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml
new file mode 100644
index 00000000..d674bae0
--- /dev/null
+++ b/.github/workflows/build.yml
@@ -0,0 +1,48 @@
1name: Build
2on:
3 push:
4 branches:
5 - main
6 pull_request:
7 types: [opened, synchronize, reopened]
8jobs:
9 build:
10 name: Build
11 runs-on: ubuntu-latest
12 steps:
13 - name: Checkout code
14 uses: actions/checkout@v2
15 with:
16 fetch-depth: 0 # Shallow clones should be disabled for a better relevancy of SonarCloud analysis
17 - name: Set up JDK 11
18 uses: actions/setup-java@v1
19 with:
20 java-version: 11
21 - name: Cache Gradle packages
22 uses: actions/cache@v2
23 with:
24 path: |
25 ~/.gradle/caches
26 **/.gradle/npm
27 **/.gradle/nodejs
28 key: ${{ runner.os }}-gradle-${{ hashFiles('**/*.gradle') }}
29 restore-keys: ${{ runner.os }}-gradle
30 - name: Cache Sonar packages
31 uses: actions/cache@v2
32 with:
33 path: ~/.sonar/cache
34 key: ${{ runner.os }}-sonar
35 restore-keys: ${{ runner.os }}-sonar
36 - name: Cache npm packages
37 uses: actions/cache@v2
38 with:
39 path: **/node_modules
40 key: ${{ runner.os }}-npm-${{ hashFiles('**/package-lock.json') }}
41 restore-keys: ${{ runner.os }}-npm
42 - name: Gradle build
43 run: ./gradlew build --info
44 - name: Sonar analyze
45 env:
46 GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} # Needed to get PR information, if any
47 SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }}
48 run: ./gradlew sonarqube --info
diff --git a/build.gradle b/build.gradle
index 1736d644..fa9bef8d 100644
--- a/build.gradle
+++ b/build.gradle
@@ -9,10 +9,17 @@ buildscript {
9 9
10plugins { 10plugins {
11 id 'com.github.johnrengelman.shadow' version '5.2.0' apply false 11 id 'com.github.johnrengelman.shadow' version '5.2.0' apply false
12 id 'com.moowork.node' version "1.3.1" apply false 12 id 'com.moowork.node' version '1.3.1' apply false
13 id 'org.sonarqube' version '3.3'
13} 14}
14 15
15allprojects { 16allprojects {
16 group = 'org.eclipse.viatra.solver' 17 group = 'org.eclipse.viatra.solver'
17 version = '1.0.0-SNAPSHOT' 18 version = '0.0.0-SNAPSHOT'
19}
20
21sonarqube.properties {
22 property "sonar.projectKey", "graphs4value_refainery"
23 property "sonar.organization", "graphs4value"
24 property "sonar.host.url", "https://sonarcloud.io"
18} 25}
diff --git a/gradle/xtend.gradle b/gradle/xtend.gradle
index 855dc624..f8637a1f 100644
--- a/gradle/xtend.gradle
+++ b/gradle/xtend.gradle
@@ -13,3 +13,10 @@ clean.doLast {
13 delete 'src/main/xtend-gen' 13 delete 'src/main/xtend-gen'
14 delete 'src/test/xtend-gen' 14 delete 'src/test/xtend-gen'
15} 15}
16
17sonarqube.properties {
18 properties['sonar.exlusions'] += [
19 'src/main/xtend-gen/**',
20 'src/test/xtend-gen/**',
21 ]
22}
diff --git a/gradle/xtext-common.gradle b/gradle/xtext-common.gradle
index 7fb2b2b5..9353b46f 100644
--- a/gradle/xtext-common.gradle
+++ b/gradle/xtext-common.gradle
@@ -19,3 +19,10 @@ clean.doLast {
19 delete 'src/main/xtext-gen' 19 delete 'src/main/xtext-gen'
20 delete 'src/test/xtext-gen' 20 delete 'src/test/xtext-gen'
21} 21}
22
23sonarqube.properties {
24 properties['sonar.exlusions'] += [
25 'src/main/xtext-gen/**',
26 'src/test/xtext-gen/**',
27 ]
28}
diff --git a/language-model/build.gradle b/language-model/build.gradle
index 3950140c..d60115de 100644
--- a/language-model/build.gradle
+++ b/language-model/build.gradle
@@ -31,6 +31,12 @@ task generateEPackage(type: JavaExec) {
31compileJava.dependsOn(generateEPackage) 31compileJava.dependsOn(generateEPackage)
32clean.dependsOn(cleanGenerateEPackage) 32clean.dependsOn(cleanGenerateEPackage)
33 33
34sonarqube.properties {
35 properties['sonar.exlusions'] += [
36 'src/main/emf-gen/**',
37 ]
38}
39
34eclipse.project.natures += [ 40eclipse.project.natures += [
35 'org.eclipse.sirius.nature.modelingproject', 41 'org.eclipse.sirius.nature.modelingproject',
36 'org.eclipse.pde.PluginNature', 42 'org.eclipse.pde.PluginNature',
diff --git a/language-web/build.gradle b/language-web/build.gradle
index 6910fea0..c5e27dc6 100644
--- a/language-web/build.gradle
+++ b/language-web/build.gradle
@@ -108,6 +108,20 @@ task eslint(type: NpmTask) {
108 108
109check.dependsOn += [eslint] 109check.dependsOn += [eslint]
110 110
111sonarqube.properties {
112 properties['sonar.sources'] += [
113 'src/main/css',
114 'src/main/html',
115 'src/main/js',
116 "${buildDir}/genrated/sources/xtext/js",
117 ]
118 properties['sonar.exclusions'] += [
119 'src/main/css/xtext/**',
120 'src/main/js/xtext/**',
121 "${buildDir}/genrated/sources/xtext/js/**"
122 ]
123}
124
111eclipse { 125eclipse {
112 project.file.whenMerged { 126 project.file.whenMerged {
113 natures.remove('org.eclipse.wst.common.modulecore.ModuleCoreNature') 127 natures.remove('org.eclipse.wst.common.modulecore.ModuleCoreNature')