Skip to content

Commit 603b747

Browse files
committed
ga prepare
1 parent 599b808 commit 603b747

File tree

9 files changed

+218
-84
lines changed

9 files changed

+218
-84
lines changed

.github/workflows/qa.yml

Lines changed: 73 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,73 @@
1+
# MIT License
2+
# Copyright (C) 2020 Tymko Oleg <olegtymko@yandex.ru> and contributors
3+
# All rights reserved.
4+
5+
name: Контроль качества
6+
# Любой пуш и pr в проекте но с фильтром по основному проекту
7+
on: [push, pull_request]
8+
jobs:
9+
build:
10+
if: github.repository == 'oscript-library/gitsync'
11+
runs-on: ${{ matrix.os }}
12+
strategy:
13+
fail-fast: false
14+
matrix:
15+
os: [ubuntu-latest]
16+
oscript_version: ['1.4.0']
17+
18+
steps:
19+
# Загрузка проекта
20+
- name: Актуализация
21+
uses: actions/checkout@v2
22+
23+
# https://stackoverflow.com/questions/58033366/how-to-get-current-branch-within-github-actions
24+
- name: Извлечение имени текущей ветки
25+
shell: bash
26+
run: echo "##[set-output name=branch;]$(echo ${GITHUB_REF#refs/heads/})"
27+
id: extract_branch
28+
29+
# Установка OneScript конкретной версии
30+
- name: Установка OneScript
31+
uses: otymko/setup-onescript@v1.0
32+
with:
33+
version: ${{ matrix.oscript_version }}
34+
35+
# Установка зависимостей пакета
36+
- name: Установка зависимостей
37+
run: |
38+
opm install opm
39+
opm install --dev
40+
41+
# Запуск тестов и сбор покрытия кода
42+
# - name: Покрытие кода
43+
# run: oscript ./tasks/coverage.os
44+
45+
- name: Извлечение версии пакета
46+
shell: bash
47+
run: echo "##[set-output name=version;]`cat packagedef | grep ".Версия(" | sed 's|[^"]*"||' | sed -r 's/".+//'`"
48+
id: extract_version
49+
50+
- name: Установка Sonar-scanner
51+
uses: warchant/setup-sonar-scanner@v1
52+
53+
# Анализ проекта в SonarQube (ветка)
54+
- name: Анализ в SonarQube (branch)
55+
if: github.event_name == 'push'
56+
run: sonar-scanner
57+
-Dsonar.login=${{ secrets.SONARQUBE_TOKEN }}
58+
-Dsonar.host.url=${{ secrets.SONARQUBE_HOST }}
59+
-Dsonar.branch.name=${{ steps.extract_branch.outputs.branch }}
60+
-Dsonar.projectVersion=${{ steps.extract_version.outputs.version }}
61+
62+
# Анализ проекта в SonarQube (PR)
63+
# https://docs.sonarqube.org/latest/analysis/pull-request/
64+
- name: Анализ в SonarQube (pull-request)
65+
if: github.event_name == 'pull_request'
66+
run: sonar-scanner
67+
-Dsonar.login=${{ secrets.SONARQUBE_TOKEN }}
68+
-Dsonar.host.url=${{ secrets.SONARQUBE_HOST }}
69+
-Dsonar.branch.name=${{ steps.extract_branch.outputs.branch }}
70+
-Dsonar.pullrequest.key=${{ github.event.pull_request.number }}
71+
-Dsonar.pullrequest.branch=${{ github.event.pull_request.head.ref }}
72+
-Dsonar.pullrequest.base=${{ github.event.pull_request.base.ref }}
73+
-Dsonar.scm.revision=${{ github.event.pull_request.head.sha }}

.github/workflows/release.yml

Lines changed: 73 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,73 @@
1+
# MIT License
2+
# Copyright (C) 2020 Tymko Oleg <olegtymko@yandex.ru> and contributors
3+
# All rights reserved.
4+
5+
name: Подготовка релиза и публикация в хабе
6+
# Только события создания и изменения релиза
7+
on:
8+
release:
9+
types: [published, edited]
10+
pull_request:
11+
push:
12+
jobs:
13+
build:
14+
runs-on: ${{ matrix.os }}
15+
strategy:
16+
fail-fast: false
17+
matrix:
18+
os: [ubuntu-latest]
19+
oscript_version: ['1.4.0']
20+
package_mask: ["gitsync-*.ospx"]
21+
package_exe_mask: ["gitsync.exe"]
22+
steps:
23+
# Загрузка проекта
24+
- name: Актуализация
25+
uses: actions/checkout@v2
26+
27+
# Установка OneScript конкретной версии
28+
- name: Установка OneScript
29+
uses: otymko/setup-onescript@v1.0
30+
with:
31+
version: ${{ matrix.oscript_version }}
32+
33+
# Установка зависимостей пакета
34+
- name: Установка зависимостей
35+
run: |
36+
opm install opm
37+
opm install
38+
39+
# - name: Сборка пакета
40+
# run: opm build
41+
42+
# - name: Заливка артифактов
43+
# uses: actions/upload-artifact@v2
44+
# with:
45+
# name: package.zip
46+
# path: ./${{ matrix.package_mask }}
47+
48+
# - name: Заливка в релиз
49+
# uses: AButler/upload-release-assets@v1.0
50+
# with:
51+
# files: ./${{ matrix.package_mask }}
52+
# repo-token: ${{ secrets.GITHUB_TOKEN }}
53+
54+
# - name: Публикация в hub.oscript.io
55+
# shell: bash
56+
# run: opm push -f ./${{ matrix.package_mask }} --token ${{ env.TOKEN }} -c stable
57+
# env:
58+
# TOKEN: ${{ secrets.OSHUB_TOKEN }}
59+
60+
- name: Сборка пакета exe
61+
run: opm run make
62+
63+
- name: Заливка артифактов
64+
uses: actions/upload-artifact@v2
65+
with:
66+
name: exe_package.zip
67+
path: ./bin/${{ matrix.package_exe_mask }}
68+
69+
- name: Заливка в релиз exe
70+
uses: AButler/upload-release-assets@v1.0
71+
with:
72+
files: ./bin/${{ matrix.package_exe_mask }}
73+
repo-token: ${{ secrets.GITHUB_TOKEN }}

.github/workflows/testing.yml

Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,37 @@
1+
# MIT License
2+
# Copyright (C) 2020 Tymko Oleg <olegtymko@yandex.ru> and contributors
3+
# All rights reserved.
4+
5+
name: Тестирование
6+
# Любой пуш и pr в проекте
7+
on: [push, pull_request]
8+
9+
jobs:
10+
build:
11+
runs-on: ${{ matrix.os }}
12+
strategy:
13+
fail-fast: false
14+
matrix:
15+
os: [ubuntu-latest]
16+
oscript_version: ['1.4.0']
17+
18+
steps:
19+
# Загрузка проекта
20+
- name: Актуализация
21+
uses: actions/checkout@v2
22+
23+
# Установка OneScript конкретной версии
24+
- name: Установка OneScript
25+
uses: otymko/setup-onescript@v1.0
26+
with:
27+
version: ${{ matrix.oscript_version }}
28+
29+
# Установка зависимостей пакета
30+
- name: Установка зависимостей
31+
run: |
32+
opm install opm
33+
opm install --dev
34+
35+
# Задача тестирования, в результате ожидается успешное выполнение
36+
- name: Тестирование
37+
run: oscript ./tasks/test.os

.travis.yml

Lines changed: 0 additions & 54 deletions
This file was deleted.

packagedef

Lines changed: 10 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,21 +1,27 @@
11

22
Описание.Имя("gitsync")
3-
.Версия("3.1.0")
4-
.ВерсияСреды("1.0.21")
3+
.Версия("3.2.0")
4+
.ВерсияСреды("1.4.0")
55
.ЗависитОт("logos", "1.2.1")
66
.ЗависитОт("tempfiles", "1.0.0")
7-
.ЗависитОт("v8runner", "1.3.0")
7+
.ЗависитОт("v8runner", "1.8.0")
88
.ЗависитОт("gitrunner", "1.6.0")
99
.ЗависитОт("strings", "0.4.1")
1010
.ЗависитОт("1commands", "1.4.0")
1111
.ЗависитОт("json", "1.1.1")
1212
.ЗависитОт("fs", "1.0.0")
1313
.ЗависитОт("delegate", "0.2.0")
14-
.ЗависитОт("v8storage", "0.8.0")
14+
.ЗависитОт("v8storage", "0.9.3")
1515
.ЗависитОт("reflector", "0.4.0")
1616
.ЗависитОт("opm", "0.15.3")
1717
.ЗависитОт("cli", "0.9.10")
1818
.ЗависитОт("configor", "0.6.3")
19+
.РазработкаЗависитОт("1bdd")
20+
.РазработкаЗависитОт("1testrunner")
21+
.РазработкаЗависитОт("asserts")
22+
.РазработкаЗависитОт("coverage")
23+
.РазработкаЗависитОт("1commands")
24+
.РазработкаЗависитОт("fs")
1925
.ВключитьФайл("src")
2026
.ВключитьФайл("docs")
2127
.ВключитьФайл("embedded_plugins")

sonar-project.properties

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
# must be unique in a given SonarQube instance
2-
sonar.projectKey=opensource-gitsync
3-
sonar.organization=sonar-opensource-add
2+
sonar.projectKey=gitsync
43

54
# this is the name displayed in the SonarQube UI
65
sonar.projectName=1S storage and git sync for OScript

sonar-qube.sh

Lines changed: 0 additions & 22 deletions
This file was deleted.

tasks/coverage.os

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,13 @@
22
#Использовать coverage
33
#Использовать 1commands
44

5+
6+
Если АргументыКоманднойСтроки.Количество() = 0 Тогда
7+
ТолькоЮнитТесты = Ложь;
8+
Иначе
9+
ТолькоЮнитТесты = Булево(АргументыКоманднойСтроки[0]);
10+
КонецЕсли;
11+
512
Функция ЭтоWindows()
613
Если ЭтоWindows = Неопределено Тогда
714
СистемнаяИнформация = Новый СистемнаяИнформация;
@@ -24,6 +31,11 @@
2431
УстановитьДвижок(Команда);
2532
Команда.ДобавитьПараметр(СтрШаблон("-codestat=%1", ПутьКСтат));
2633
Команда.ДобавитьПараметр("tasks/test.os");
34+
35+
Если ТолькоЮнитТесты Тогда
36+
Команда.ДобавитьПараметр("true");
37+
КонецЕсли;
38+
2739
Команда.ПоказыватьВыводНемедленно(Истина);
2840

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

tasks/test.os

Lines changed: 12 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -187,8 +187,12 @@
187187
Возврат ИтоговыйРезультатВыполнения <> ИсполнительБДД.ВозможныеСтатусыВыполнения().Сломался;
188188
КонецФункции // ПрогнатьФичи()
189189

190-
Функция ПрогнатьФичи()
190+
Функция ПрогнатьФичи(ТолькоЮнитТесты)
191191

192+
Если ТолькоЮнитТесты Тогда
193+
Возврат Истина;
194+
КонецЕсли;
195+
192196
ФичиПрошли_opm = ПрогнатьФичи_opm();
193197
ФичиПрошли_core = ПрогнатьФичи_core();
194198
ФичиПрошли_cmd = ПрогнатьФичи_cmd();
@@ -206,6 +210,12 @@
206210

207211
ТестыПрошли = Истина;
208212

213+
Если АргументыКоманднойСтроки.Количество() = 0 Тогда
214+
ТолькоЮнитТесты = Ложь;
215+
Иначе
216+
ТолькоЮнитТесты = Булево(АргументыКоманднойСтроки[0]);
217+
КонецЕсли;
218+
209219
// Попытка
210220
// ТестыПрошли = ПрогнатьТесты();
211221

@@ -218,7 +228,7 @@
218228
ФичиПрошли = Истина;
219229

220230
Попытка
221-
ФичиПрошли = ПрогнатьФичи();
231+
ФичиПрошли = ПрогнатьФичи(ТолькоЮнитТесты);
222232
Исключение
223233
ФичиПрошли = Ложь;
224234
Сообщить(СтрШаблон("Тесты поведения через 1bdd выполнены неудачно

0 commit comments

Comments
 (0)