Skip to content

Commit d61feea

Browse files
committed
fix 1cedcli behaviour, fix testing in PRs, qa, refactoring
1 parent 009546d commit d61feea

File tree

8 files changed

+202
-210
lines changed

8 files changed

+202
-210
lines changed

.github/workflows/qa.yml

Lines changed: 8 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
# All rights reserved.
44

55
name: Контроль качества
6-
# Любой пуш и pr в проекте но с фильтром по основному проекту
6+
77
on: [push, pull_request]
88
jobs:
99
build:
@@ -16,35 +16,29 @@ jobs:
1616
oscript_version: ['1.9.2']
1717

1818
steps:
19-
# Загрузка проекта
2019
- name: Актуализация
21-
uses: actions/checkout@v2
20+
uses: actions/checkout@v4.2.2
2221

2322
# https://stackoverflow.com/questions/58033366/how-to-get-current-branch-within-github-actions
2423
- name: Извлечение имени текущей ветки
2524
shell: bash
2625
run: echo "##[set-output name=branch;]$(echo ${GITHUB_REF#refs/heads/})"
2726
id: extract_branch
2827

29-
# Установка OneScript конкретной версии
3028
- name: Установка OneScript
31-
uses: otymko/[email protected]
32-
env:
33-
ACTIONS_ALLOW_UNSECURE_COMMANDS: true
29+
uses: otymko/[email protected]
3430
with:
3531
version: ${{ matrix.oscript_version }}
3632

37-
# Установка зависимостей пакета
3833
- name: Установка зависимостей
3934
run: |
4035
opm install opm
4136
opm install --dev
42-
opm install 1testrunner
43-
opm install 1bdd
44-
opm install notify
45-
opm install coverage
37+
opm install gitsync # TODO: должно быть необязательно
38+
39+
- name: Установка gitsync локально
40+
run: opm run install-gitsync
4641

47-
# Запуск тестов и сбор покрытия кода
4842
- name: Покрытие кода
4943
run: oscript ./tasks/coverage.os true
5044

@@ -54,9 +48,8 @@ jobs:
5448
id: extract_version
5549

5650
- name: Установка Sonar-scanner
57-
uses: warchant/setup-sonar-scanner@v1
51+
uses: warchant/setup-sonar-scanner@v7
5852

59-
# Анализ проекта в SonarQube (ветка)
6053
- name: Анализ в SonarQube (branch)
6154
if: github.event_name == 'push'
6255
run: sonar-scanner
@@ -65,7 +58,6 @@ jobs:
6558
-Dsonar.branch.name=${{ steps.extract_branch.outputs.branch }}
6659
-Dsonar.projectVersion=${{ steps.extract_version.outputs.version }}
6760

68-
# Анализ проекта в SonarQube (PR)
6961
# https://docs.sonarqube.org/latest/analysis/pull-request/
7062
- name: Анализ в SonarQube (pull-request)
7163
if: github.event_name == 'pull_request'

.github/workflows/testing.yml

Lines changed: 24 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -3,8 +3,15 @@
33
# All rights reserved.
44

55
name: Тестирование
6-
# Любой пуш и pr в проекте
7-
on: [push, pull_request]
6+
7+
on:
8+
push:
9+
pull_request_target:
10+
workflow_dispatch:
11+
12+
permissions:
13+
checks: write
14+
pull-requests: write
815

916
jobs:
1017
test:
@@ -28,8 +35,6 @@ jobs:
2835
2936
- name: Актуализация
3037
uses: actions/[email protected]
31-
with:
32-
fetch-depth: 0
3338

3439
# Установка OneScript конкретной версии
3540
- name: Установка OneScript
@@ -51,14 +56,14 @@ jobs:
5156
sudo DEBIAN_FRONTEND=noninteractive apt-get install -y locales libwebkit2gtk-4.0-37
5257
sudo localedef -i ${{ matrix.locale }} -c -f UTF-8 -A /usr/share/locale/locale.alias ${{ matrix.locale }}.UTF-8
5358
54-
- name: Установка libenchant1c2a (Linux)
59+
- name: Установка libenchant1c2a для 8.3.21 (Linux)
5560
if: startsWith(matrix.os, 'ubuntu') && startsWith(matrix.v8_version, '8.3.21')
5661
run: |
5762
sudo echo "deb http://cz.archive.ubuntu.com/ubuntu focal main universe" | sudo tee -a /etc/apt/sources.list
5863
sudo apt-get update
5964
sudo DEBIAN_FRONTEND=noninteractive apt-get install -y libenchant1c2a
6065
61-
- name: Установка wine (требуется для Tool1CD)
66+
- name: Установка wine для Tool1CD (Linux)
6267
if: startsWith(matrix.os, 'ubuntu')
6368
run: |
6469
sudo dpkg --add-architecture i386
@@ -76,16 +81,24 @@ jobs:
7681
ONEC_USERNAME: ${{ secrets.ONEC_USERNAME }}
7782
ONEC_PASSWORD: ${{ secrets.ONEC_PASSWORD }}
7883

79-
- name: Установка Java
84+
- name: Установка Java 11
85+
if: startsWith(matrix.edt_version, '2023')
8086
uses: actions/setup-java@v4
8187
with:
8288
distribution: 'temurin'
8389
java-version: '11'
8490

91+
- name: Установка Java 17
92+
if: startsWith(matrix.edt_version, '2024')
93+
uses: actions/setup-java@v4
94+
with:
95+
distribution: 'temurin'
96+
java-version: '17'
97+
8598
- name: Установка EDT
8699
uses: ovcharenko-di/onec-setup-action@fix/cache-ring-commands-cfg
87100
with:
88-
type: edt # Тип устанавливаемого приложения
101+
type: edt
89102
edt_version: ${{ matrix.edt_version }}
90103
cache: true
91104
cache_distr: true
@@ -117,10 +130,7 @@ jobs:
117130
env:
118131
ONEC_LICENCE: ${{ secrets.ONEC_LICENCE }}
119132

120-
- name: Сборка пакета
121-
run: opm build
122-
123-
- name: Установка gitsync (локально)
133+
- name: Установка gitsync локально
124134
run: opm run install-gitsync
125135

126136
- name: Тестирование
@@ -132,10 +142,10 @@ jobs:
132142
run: oscript ./tasks/test.os
133143

134144
- name: Публикация отчета
135-
if: always()
145+
if: success() || failure()
136146
uses: mikepenz/action-junit-report@v5
137147
with:
138148
report_paths: '**/build/reports/*.xml'
139149
fail_on_failure: true
140150
comment: true
141-
check_name: 'Результаты тестов. ОС: ${{ matrix.os }}. Версия 1С: ${{ matrix.v8_version }}. Версия OneScript: ${{ matrix.oscript_version }}'
151+
check_name: 'Результаты тестов. ОС: ${{ matrix.os }}. Версия 1С: ${{ matrix.v8_version }}. Версия OneScript: ${{ matrix.oscript_version }}. Версия EDT: ${{ matrix.edt_version }}'

CONTRIBUTING.md

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -21,8 +21,6 @@
2121

2222
По умолчанию используется версия 2022.2.5
2323

24-
- Cобрать пакет
25-
- `opm build`
2624
- Выполнить команду, которая устанавливает gitsync в каталог bin_gitsync
2725
- `opm run install-gitsync`
2826
- Запустить тесты

features/edtExport.feature

Lines changed: 13 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -23,17 +23,27 @@
2323
# И Я добавляю параметр "-v" для команды "gitsync"
2424
И Я добавляю параметр "sync" для команды "gitsync"
2525
И Я добавляю параметр "--PN test" для команды "gitsync"
26-
И Я вычисляю имя модуля edt по версии из переменной окружения "EDT_VERSION" в переменную "ИмяМодуляEDT"
27-
И Я добавляю параметр "--module" для команды "gitsync" из переменной "ИмяМодуляEDT"
2826
И Я выключаю все плагины
2927
И Я включаю плагин "edtExport"
3028

31-
Сценарий: Cинхронизация с использованием edtExport
29+
Сценарий: Cинхронизация с использованием edtExport без явного указания версии EDT
3230
Допустим Я добавляю позиционный параметр для команды "gitsync" из переменной "КаталогХранилища1С"
3331
И Я добавляю позиционный параметр для команды "gitsync" из переменной "ПутьКаталогаИсходников"
3432
Когда Я выполняю команду "gitsync"
3533
Тогда Вывод команды "gitsync" содержит "Завершена синхронизации с git"
3634
И Вывод команды "gitsync" не содержит "Внешнее исключение"
35+
И Вывод команды "gitsync" содержит "Версия EDT не передана через параметры, выполняется поиск максимальной установленной версии."
36+
И Код возврата команды "gitsync" равен 0
37+
38+
Сценарий: Cинхронизация с использованием edtExport с явным указанием версии EDT
39+
Дано Я получаю переменную окружения "EDT_VERSION" в переменную "ВерсияEDT"
40+
Дано Я добавляю параметр "--edt-version" для команды "gitsync" из переменной "ВерсияEDT"
41+
Допустим Я добавляю позиционный параметр для команды "gitsync" из переменной "КаталогХранилища1С"
42+
И Я добавляю позиционный параметр для команды "gitsync" из переменной "ПутьКаталогаИсходников"
43+
Когда Я выполняю команду "gitsync"
44+
Тогда Вывод команды "gitsync" содержит "Завершена синхронизации с git"
45+
И Вывод команды "gitsync" не содержит "Внешнее исключение"
46+
И Вывод команды "gitsync" не содержит "Версия EDT не передана через параметры, выполняется поиск максимальной установленной версии."
3747
И Код возврата команды "gitsync" равен 0
3848

3949
Сценарий: Cинхронизация хранилища расширения с использованием edtExport без указания базового проекта

features/step_definitions/edtExport.os

Lines changed: 0 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -15,8 +15,6 @@
1515
ВсеШаги = Новый Массив;
1616

1717
ВсеШаги.Добавить("ЯСкопировалКаталогРабочегоОкруженияEDTВКаталогИзПеременной");
18-
ВсеШаги.Добавить("ЯВычисляюИмяМодуляEdtПоВерсииИзПеременнойОкруженияВПеременную");
19-
2018
Возврат ВсеШаги;
2119
КонецФункции
2220

@@ -40,20 +38,6 @@
4038
ФС.КопироватьСодержимоеКаталога(ПутьКРабочемуОкружениюEDT(), РабочееОкружениеEDT);
4139
КонецПроцедуры
4240

43-
//я вычисляю имя модуля edt по версии из переменной окружения "EDT_VERSION" в переменную "ИмяМодуляEDT"
44-
Процедура ЯВычисляюИмяМодуляEdtПоВерсииИзПеременнойОкруженияВПеременную(Знач ИмяПеременнойОкружения, Знач ИмяПеременной) Экспорт
45-
46-
ВерсияEDT = ПолучитьПеременнуюСреды(ИмяПеременнойОкружения);
47-
48-
Если Не ЗначениеЗаполнено(ВерсияEDT) Тогда
49-
ВерсияEDT = "2022.2.5"; // значение по умолчанию
50-
КонецЕсли;
51-
52-
ИмяМодуля = СтрШаблон("edt@%1:x86_64", ВерсияEDT);
53-
БДД.СохранитьВКонтекст(ИмяПеременной, ИмяМодуля);
54-
55-
КонецПроцедуры
56-
5741
Функция ПутьКРабочемуОкружениюEDT()
5842

5943
Возврат ОбъединитьПути(КаталогFixtures(), "edtWorkspace");

0 commit comments

Comments
 (0)