Skip to content

Commit 095e55f

Browse files
committed
Настройка travis и sonar
1 parent 0225c18 commit 095e55f

7 files changed

+59
-122
lines changed

.travis-after-script.sh

+14
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
#!/bin/bash
2+
3+
set -e
4+
5+
temp=`cat packagedef | grep ".Версия(" | sed 's|[^"]*"||' | sed -r 's/".+//'`
6+
version=${temp##*|}
7+
8+
if [ "$TRAVIS_SECURE_ENV_VARS" == "true" ]; then
9+
sonar-scanner \
10+
-Dsonar.host.url=$SONAR_HOST \
11+
-Dsonar.login=$SONAR_TOKEN \
12+
-Dsonar.projectVersion=$version\
13+
-Dsonar.scanner.skip=false
14+
fi

.travis.yml

+25-65
Original file line numberDiff line numberDiff line change
@@ -1,77 +1,37 @@
1+
language: none
2+
13
sudo: required
2-
language: generic
34

4-
notifications:
5-
email: false
6-
env:
7-
global:
8-
- CHANNEL=dev
9-
- PACKAGE_NAME=1connector
10-
matrix:
11-
# - OSCRIPT_VERSION=1_1_1
12-
- OSCRIPT_VERSION=night-build
13-
matrix:
14-
allow_failures:
15-
- env: OSCRIPT_VERSION=night-build
5+
dist: trusty
166

17-
services:
18-
- docker
7+
git:
8+
depth: false
199

2010
addons:
21-
sonarqube: true
22-
11+
sonarcloud: true
12+
apt:
13+
sources:
14+
- sourceline: 'deb http://download.mono-project.com/repo/ubuntu trusty main'
15+
key_url: 'http://keyserver.ubuntu.com/pks/lookup?op=get&search=0x3FA7E0328081BFF6A14DA29AA6A19B38D3D831EF'
16+
packages:
17+
- mono-complete
18+
2319
jdk:
2420
- openjdk11
2521

26-
before_install:
27-
# Load cached docker images
28-
- if [[ -d $HOME/docker ]]; then ls $HOME/docker/*.tar.gz | xargs -I {file} sh -c "zcat {file} | docker load"; fi
29-
30-
before_cache:
31-
# Save tagged docker images
32-
- >
33-
mkdir -p $HOME/docker && docker images -a --filter='dangling=false' --format '{{.Repository}}:{{.Tag}} {{.ID}}'
34-
| xargs -n 2 -t sh -c 'test -e $HOME/docker/$1.tar.gz || docker save $0 | gzip -2 > $HOME/docker/$1.tar.gz'
22+
before_install:
23+
- wget -O os.deb http://oscript.io/downloads/night-build/deb
24+
- sudo dpkg -i os.deb; sudo apt install -f
25+
- oscript
3526

3627
install:
37-
- docker pull evilbeaver/onescript:1.1.1
28+
- sudo opm install
29+
- sudo opm install 1bdd
30+
- sudo opm install 1testrunner
31+
- sudo opm install coverage
3832

39-
script:
40-
- docker version
41-
- docker run -it -e OSCRIPT_VERSION=$OSCRIPT_VERSION -v $(pwd):/work_dir evilbeaver/onescript:1.1.1 sh -c 'cd /work_dir; sh /work_dir/travis-ci.sh; exit' | tee /tmp/test.log
42-
- grep 'Результат прогона тестов <Да>' /tmp/test.log
43-
after_success:
44-
# - bash <(curl -s https://codecov.io/bash)
45-
- ./sonar-qube.sh
33+
script:
34+
- oscript ./tasks/coverage.os
4635

47-
cache:
48-
directories:
49-
- '$HOME/.m2/repository'
50-
- '$HOME/.sonar/cache'
51-
- '$HOME/docker'
52-
jobs:
53-
include:
54-
- stage: Сборка и публикация github & hub.oscript.io
55-
script: skip
56-
before_deploy:
57-
- docker run -it -v $(pwd):/work_dir evilbeaver/onescript:1.1.1 sh -c 'cd /work_dir; opm build ./ ; exit'
58-
deploy:
59-
- provider: releases
60-
api_key: "$GITHUB_OAUTH_TOKEN"
61-
file_glob: true
62-
file: $PACKAGE_NAME*.ospx
63-
skip_cleanup: true
64-
on:
65-
branch: master
66-
tags: true
67-
- provider: script
68-
skip_cleanup: true
69-
script: docker run -it -v $(pwd):/work_dir evilbeaver/onescript:1.1.1 sh -c 'cd /work_dir; opm push --token $GITHUB_OAUTH_TOKEN --channel dev --file ./$PACKAGE_NAME-*.ospx; exit'
70-
on:
71-
branch: develop
72-
- provider: script
73-
skip_cleanup: true
74-
script: docker run -it -v $(pwd):/work_dir evilbeaver/onescript:1.1.1 sh -c 'cd /work_dir; opm push --token $GITHUB_OAUTH_TOKEN --channel stable --file ./$PACKAGE_NAME-*.ospx; exit'
75-
on:
76-
branch: master
77-
tags: true
36+
after_script:
37+
- ./.travis-after-script.sh

sonar-project.properties

+3-1
Original file line numberDiff line numberDiff line change
@@ -10,8 +10,10 @@ sonar.projectName=1connector
1010
# the sonar-project.properties file.
1111

1212
sonar.sources=./src
13+
sonar.tests=./tests
1314

1415
# Encoding of the source code. Default is default system encoding
1516
sonar.sourceEncoding=UTF-8
1617

17-
sonar.coverageReportPaths=coverage/genericCoverage.xml
18+
sonar.coverageReportPaths=out/genericCoverage.xml
19+
sonar.testExecutionReportPaths=out/tests.xml

sonar-qube.sh

-17
This file was deleted.

tasks/coverage.os

+10-9
Original file line numberDiff line numberDiff line change
@@ -1,32 +1,33 @@
1-
#Использовать "../src"
21
#Использовать 1commands
32
#Использовать fs
43
#Использовать coverage
54

5+
СистемнаяИнформация = Новый СистемнаяИнформация;
6+
ЭтоWindows = Найти(НРег(СистемнаяИнформация.ВерсияОС), "windows") > 0;
67

7-
ФС.ОбеспечитьПустойКаталог("coverage");
8-
ПутьКСтат = "coverage/stat.json";
8+
ФС.ОбеспечитьПустойКаталог("out");
9+
ПутьКСтат = "out/stat.json";
910

1011
Команда = Новый Команда;
1112
Команда.УстановитьКоманду("oscript");
12-
Команда.ДобавитьПараметр("-encoding=utf-8");
13-
Команда.ДобавитьПараметр(СтрШаблон("-codestat=%1", ПутьКСтат));
14-
Команда.ДобавитьПараметр("tasks/test.os");
13+
Если НЕ ЭтоWindows Тогда
14+
Команда.ДобавитьПараметр("-encoding=utf-8");
15+
КонецЕсли;
16+
Команда.ДобавитьПараметр(СтрШаблон("-codestat=%1", ПутьКСтат));
17+
Команда.ДобавитьПараметр("tasks/test.os"); // Файла запуска тестов
1518
Команда.ПоказыватьВыводНемедленно(Истина);
1619

1720
КодВозврата = Команда.Исполнить();
1821

1922
Файл_Стат = Новый Файл(ПутьКСтат);
2023

21-
ИмяПакета = "1connector";
22-
2324
ПроцессорГенерации = Новый ГенераторОтчетаПокрытия();
2425

2526
ПроцессорГенерации.ОтносительныеПути()
27+
.РабочийКаталог("out")
2628
.ФайлСтатистики(Файл_Стат.ПолноеИмя)
2729
.GenericCoverage()
2830
.Cobertura()
29-
.Clover(ИмяПакета)
3031
.Сформировать();
3132

3233
ЗавершитьРаботу(КодВозврата);

tasks/test.os

+7-13
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,17 @@
11
#Использовать "../src"
22
#Использовать 1bdd
33
#Использовать 1testrunner
4+
#Использовать fs
45

56
Функция ПрогнатьТесты()
67

78
Тестер = Новый Тестер;
9+
Тестер.УстановитьФорматЛогФайла(Тестер.ФорматыЛогФайла().GenericExec);
810

911
ПутьКТестам = ОбъединитьПути(ТекущийСценарий().Каталог, "..", "tests");
10-
ПутьКОтчетуJUnit = ОбъединитьПути(ТекущийСценарий().Каталог, "..");
12+
ПутьКОтчетуJUnit = ОбъединитьПути(ТекущийСценарий().Каталог, "..", "out");
13+
14+
ФС.ОбеспечитьПустойКаталог(ПутьКОтчетуJUnit);
1115

1216
КаталогТестов = Новый Файл(ПутьКТестам);
1317
Если Не КаталогТестов.Существует() Тогда
@@ -27,7 +31,7 @@
2731

2832
Функция ПрогнатьФичи()
2933

30-
ПутьОтчетаJUnit = "./bdd-log.xml";
34+
ПутьОтчетаJUnit = ОбъединитьПути(ТекущийКаталог(), "out", "bdd-log.xml");
3135

3236
КаталогФич = ОбъединитьПути(".", "features");
3337

@@ -57,8 +61,6 @@
5761
Возврат ИтоговыйРезультатВыполнения <> ИсполнительБДД.ВозможныеСтатусыВыполнения().Сломался;
5862
КонецФункции // ПрогнатьФичи()
5963

60-
ТестыПрошли = Истина;
61-
6264
Попытка
6365
ТестыПрошли = ПрогнатьТесты();
6466

@@ -70,17 +72,9 @@
7072

7173
ФичиПрошли = Истина;
7274

73-
Попытка
74-
ФичиПрошли = ПрогнатьФичи();
75-
Исключение
76-
ФичиПрошли = Ложь;
77-
Сообщить(СтрШаблон("Тесты поведения через 1bdd выполнены неудачно
78-
|%1", ПодробноеПредставлениеОшибки(ИнформацияОбОшибке())));
79-
КонецПопытки;
80-
8175
Если Не ТестыПрошли Или Не ФичиПрошли Тогда
8276
ВызватьИсключение "Тестирование завершилось неудачно!";
8377
Иначе
8478
Сообщить(СтрШаблон("Результат прогона тестов <%1>
8579
|", ТестыПрошли));
86-
КонецЕсли;
80+
КонецЕсли;

travis-ci.sh

-17
This file was deleted.

0 commit comments

Comments
 (0)