Skip to content

Commit 21d1eda

Browse files
authored
Merge branch 'develop' into develop
2 parents 208ba0f + 13d6933 commit 21d1eda

27 files changed

+383
-304
lines changed

.github/workflows/qa.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ name: Контроль качества
77
on: [push, pull_request]
88
jobs:
99
build:
10-
if: github.repository == 'khorevaa/gitsync-plugins'
10+
if: github.repository == 'oscript-library/gitsync-plugins'
1111
runs-on: ${{ matrix.os }}
1212
strategy:
1313
fail-fast: false

.github/workflows/testing.yml

Lines changed: 113 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -7,24 +7,31 @@ name: Тестирование
77
on: [push, pull_request]
88

99
jobs:
10-
build:
10+
test:
1111
runs-on: ${{ matrix.os }}
1212
strategy:
13-
fail-fast: false
1413
matrix:
15-
os: [ubuntu-latest]
1614
oscript_version: ['1.9.2']
17-
15+
v8_version: ['8.3.21.1624', '8.3.24.1691']
16+
edt_version: ['2023.3.6', '2024.2.5']
17+
os: [windows-latest, ubuntu-22.04]
18+
locale: ['ru_RU']
19+
fail-fast: false
1820
steps:
19-
# Загрузка проекта
21+
- name: Установка локали
22+
if: matrix.os == startsWith(matrix.os, 'windows')
23+
run: |
24+
powershell -Command "Set-WinUILanguageOverride -Language ru-RU"
25+
powershell -Command "Set-WinUserLanguageList ru-RU -Force"
26+
powershell -Command "Set-Culture ru-RU"
27+
powershell -Command "Set-WinSystemLocale ru-RU"
28+
2029
- name: Актуализация
21-
uses: actions/checkout@v2
30+
uses: actions/checkout@v4.2.2
2231

2332
# Установка OneScript конкретной версии
2433
- name: Установка OneScript
25-
env:
26-
ACTIONS_ALLOW_UNSECURE_COMMANDS: true
27-
uses: otymko/[email protected]
34+
uses: otymko/[email protected]
2835
with:
2936
version: ${{ matrix.oscript_version }}
3037

@@ -33,16 +40,100 @@ jobs:
3340
run: |
3441
opm install opm
3542
opm install --dev
36-
opm install 1testrunner
37-
opm install 1bdd
38-
opm install notify
39-
opm install coverage
40-
41-
# Задача тестирования, в результате ожидается успешное выполнение
42-
- name: Тестирование Unit
43-
run: oscript ./tasks/test.os true
44-
45-
# - name: Тестирование Integrated
46-
# run: |
47-
# docker run -e OSCRIPT_VERSION=${{ matrix.oscript_version }} -v $(pwd):/work_dir harmit/ci-image sh -c 'cd /work_dir; sh /work_dir/travis-ci.sh; exit'
48-
# grep 'Результат прогона тестов <Да>' /tmp/test.log
43+
opm install gitsync # TODO: должно быть необязательно
44+
45+
- name: Подготовка окружения (Linux)
46+
if: startsWith(matrix.os, 'ubuntu')
47+
run: |
48+
sudo apt-get update
49+
sudo DEBIAN_FRONTEND=noninteractive apt-get install -y locales libwebkit2gtk-4.0-37
50+
sudo localedef -i ${{ matrix.locale }} -c -f UTF-8 -A /usr/share/locale/locale.alias ${{ matrix.locale }}.UTF-8
51+
52+
- name: Установка libenchant1c2a (Linux)
53+
if: startsWith(matrix.os, 'ubuntu') && startsWith(matrix.v8_version, '8.3.21')
54+
run: |
55+
sudo echo "deb http://cz.archive.ubuntu.com/ubuntu focal main universe" | sudo tee -a /etc/apt/sources.list
56+
sudo apt-get update
57+
sudo DEBIAN_FRONTEND=noninteractive apt-get install -y libenchant1c2a
58+
59+
- name: Установка wine (требуется для Tool1CD)
60+
if: startsWith(matrix.os, 'ubuntu')
61+
run: |
62+
sudo dpkg --add-architecture i386
63+
sudo apt update
64+
sudo apt install wine -y
65+
66+
- name: Установка платформы 1С
67+
uses: ovcharenko-di/onec-setup-action@fix/cache-ring-commands-cfg
68+
with:
69+
type: onec # Тип устанавливаемого приложения
70+
onec_version: ${{ matrix.v8_version }}
71+
cache: true
72+
cache_distr: true
73+
env:
74+
ONEC_USERNAME: ${{ secrets.ONEC_USERNAME }}
75+
ONEC_PASSWORD: ${{ secrets.ONEC_PASSWORD }}
76+
77+
- name: Установка Java
78+
uses: actions/setup-java@v4
79+
with:
80+
distribution: 'temurin'
81+
java-version: '11'
82+
83+
- name: Установка EDT
84+
uses: ovcharenko-di/onec-setup-action@fix/cache-ring-commands-cfg
85+
with:
86+
type: edt # Тип устанавливаемого приложения
87+
edt_version: ${{ matrix.edt_version }}
88+
cache: true
89+
cache_distr: true
90+
env:
91+
ONEC_USERNAME: ${{ secrets.ONEC_USERNAME }}
92+
ONEC_PASSWORD: ${{ secrets.ONEC_PASSWORD }}
93+
94+
- name: Установка лицензии (Linux)
95+
if: startsWith(matrix.os, 'ubuntu')
96+
run: |
97+
# Создание каталога
98+
sudo mkdir -p /var/1C/licenses
99+
100+
# Запись лицензии в файл
101+
echo "${{ secrets.ONEC_LICENCE }}" | sudo tee /var/1C/licenses/licence.lic > /dev/null
102+
103+
# Назначение прав
104+
sudo chmod 777 -R /var/1C/licenses
105+
shell: bash
106+
env:
107+
ONEC_LICENCE: ${{ secrets.ONEC_LICENCE }}
108+
109+
- name: Установка лицензии (Windows)
110+
if: startsWith(matrix.os, 'windows')
111+
run: |
112+
mkdir "C:\ProgramData\1C\licenses" -Force
113+
echo $Env:ONEC_LICENCE | Out-File -FilePath "C:\ProgramData\1C\licenses\licence.lic" -Encoding ascii
114+
shell: pwsh
115+
env:
116+
ONEC_LICENCE: ${{ secrets.ONEC_LICENCE }}
117+
118+
- name: Сборка пакета
119+
run: opm build
120+
121+
- name: Установка gitsync (локально)
122+
run: opm run install-gitsync
123+
124+
- name: Тестирование
125+
uses: coactions/setup-xvfb@v1
126+
env:
127+
EDT_VERSION: ${{ matrix.edt_version }}
128+
GITSYNC_V8VERSION: ${{ matrix.v8_version }}
129+
with:
130+
run: oscript ./tasks/test.os
131+
132+
- name: Публикация отчета
133+
if: always()
134+
uses: mikepenz/action-junit-report@v5
135+
with:
136+
report_paths: '**/build/reports/*.xml'
137+
fail_on_failure: true
138+
comment: true
139+
check_name: 'Результаты тестов. ОС: ${{ matrix.os }}. Версия 1С: ${{ matrix.v8_version }}. Версия OneScript: ${{ matrix.oscript_version }}'

.gitignore

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2,13 +2,13 @@
22

33
build/*
44

5-
bin/gitsync/*
5+
bin_gitsync/*
66
bin/gitsync.exe
7-
bin/gitsync.bat
7+
bin/gitsync
8+
bin/build_gitsync.bat
89
tests/*.xml
910

10-
exec/*.log
11-
11+
exec.log
1212
bdd-log*.xml
1313

1414
.enabled-plugins

CONTRIBUTING.md

Lines changed: 22 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -2,14 +2,28 @@
22

33
Доработка проводится по git-flow. Жду ваших PR.
44

5-
## Первоначальная настройка
5+
## Требования к окружению
66

7-
- Необходимо предварительно выполнить команду
8-
- `opm run install-gitsync`
9-
- он устанавливает версию gitsync в каталог bin
10-
- После необходимо собрать и установить плагины из исходников
11-
- `opm run testing-build`
7+
- Установленная Платформа 1С
8+
- Установленная EDT
9+
10+
## Запуск тестов
11+
12+
- Установить значение переменной GITSYNC_V8VERSION, например:
13+
- `set GITSYNC_V8VERSION=8.3.21` # Windows
14+
- `export GITSYNC_V8VERSION=8.3.21` # Linux
1215

13-
А вот потом можно запускать тесты )
16+
По умолчанию версию платформы выберет библиотека v8find
1417

15-
- через команду `opm test`
18+
- Установить значение переменной EDT_VERSION, например:
19+
- `set EDT_VERSION=2023.3.6` # Windows
20+
- `export EDT_VERSION=2023.3.6` # Linux
21+
22+
По умолчанию используется версия 2022.2.5
23+
24+
- Cобрать пакет
25+
- `opm build`
26+
- Выполнить команду, которая устанавливает gitsync в каталог bin_gitsync
27+
- `opm run install-gitsync`
28+
- Запустить тесты
29+
- `opm test`

bin/v8unpack/v8unpack.exe

-64 KB
Binary file not shown.

bin/v8unpack/zlib1.dll

-58.5 KB
Binary file not shown.

features/check-authors.feature

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -7,26 +7,26 @@
77

88
Контекст: Тестовый контекст check-authors
99
Когда Я очищаю параметры команды "gitsync" в контексте
10-
И Я устанавливаю рабочей каталог во временный каталог
10+
И Я устанавливаю рабочий каталог во временный каталог
1111
И Я создаю новый объект ГитРепозиторий
1212
И Я устанавливаю путь выполнения команды "gitsync" к текущей библиотеке
1313
И Я устанавливаю текущие плагины
1414
И Я создаю временный каталог и сохраняю его в переменной "КаталогХранилища1С"
1515
И я скопировал каталог тестового хранилища конфигурации в каталог из переменной "КаталогХранилища1С"
1616
И Я создаю временный каталог и сохраняю его в переменной "ПутьКаталогаИсходников"
1717
И Я инициализирую репозиторий в каталоге из переменной "ПутьКаталогаИсходников"
18-
И Я создаю тестовой файл AUTHORS
18+
И Я создаю тестовый файл AUTHORS
1919
И Я записываю "0" в файл VERSION
2020
И я включаю отладку лога с именем "oscript.app.gitsync"
2121
И Я создаю временный каталог и сохраняю его в переменной "ВременнаяДиректория"
2222
И Я добавляю параметр "--tempdir" для команды "gitsync" из переменной "ВременнаяДиректория"
23-
И Я добавляю параметр "-v" для команды "gitsync"
23+
# И Я добавляю параметр "-v" для команды "gitsync"
2424
И Я добавляю параметр "sync" для команды "gitsync"
2525
И Я выключаю все плагины
2626
И Я включаю плагин "check-authors"
2727

28-
Сценарий: Cинхронизация c простым использованием
29-
Допустим Я создаю неполный тестовой файл AUTHORS
28+
Сценарий: Cинхронизация с простым использованием
29+
Допустим Я создаю неполный тестовый файл AUTHORS
3030
И Я добавляю позиционный параметр для команды "gitsync" из переменной "КаталогХранилища1С"
3131
И Я добавляю позиционный параметр для команды "gitsync" из переменной "ПутьКаталогаИсходников"
3232
Когда Я выполняю команду "gitsync"

features/check-comments.feature

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -7,20 +7,20 @@
77

88
Контекст: Тестовый контекст check-comments
99
Когда Я очищаю параметры команды "gitsync" в контексте
10-
И Я устанавливаю рабочей каталог во временный каталог
10+
И Я устанавливаю рабочий каталог во временный каталог
1111
И Я создаю новый объект ГитРепозиторий
1212
И Я устанавливаю путь выполнения команды "gitsync" к текущей библиотеке
1313
И Я устанавливаю текущие плагины
1414
И Я создаю временный каталог и сохраняю его в переменной "КаталогХранилища1С"
1515
И я скопировал каталог тестового хранилища конфигурации в каталог из переменной "КаталогХранилища1С"
1616
И Я создаю временный каталог и сохраняю его в переменной "ПутьКаталогаИсходников"
1717
И Я инициализирую репозиторий в каталоге из переменной "ПутьКаталогаИсходников"
18-
И Я создаю тестовой файл AUTHORS
18+
И Я создаю тестовый файл AUTHORS
1919
И Я записываю "0" в файл VERSION
2020
И я включаю отладку лога с именем "oscript.app.gitsync"
2121
И Я создаю временный каталог и сохраняю его в переменной "ВременнаяДиректория"
2222
И Я добавляю параметр "--tempdir" для команды "gitsync" из переменной "ВременнаяДиректория"
23-
И Я добавляю параметр "-v" для команды "gitsync"
23+
# И Я добавляю параметр "-v" для команды "gitsync"
2424
И Я добавляю параметр "sync" для команды "gitsync"
2525
И Я выключаю все плагины
2626
И Я включаю плагин "check-comments"

features/edtExport.feature

Lines changed: 11 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77

88
Контекст: Тестовый контекст edtExport
99
Когда Я очищаю параметры команды "gitsync" в контексте
10-
И Я устанавливаю рабочей каталог во временный каталог
10+
И Я устанавливаю рабочий каталог во временный каталог
1111
И Я создаю новый объект ГитРепозиторий
1212
И Я устанавливаю путь выполнения команды "gitsync" к текущей библиотеке
1313
И Я устанавливаю текущие плагины
@@ -16,22 +16,23 @@
1616
И я скопировал каталог тестового хранилища конфигурации в каталог из переменной "КаталогХранилища1С"
1717
И Я создаю временный каталог и сохраняю его в переменной "ПутьКаталогаИсходников"
1818
И Я инициализирую репозиторий в каталоге из переменной "ПутьКаталогаИсходников"
19-
И Я создаю тестовой файл AUTHORS
19+
И Я создаю тестовый файл AUTHORS
2020
И Я записываю "0" в файл VERSION
2121
И Я создаю временный каталог и сохраняю его в переменной "ВременнаяДиректория"
2222
И Я добавляю параметр "--tempdir" для команды "gitsync" из переменной "ВременнаяДиректория"
23-
И Я добавляю параметр "-v" для команды "gitsync"
23+
# И Я добавляю параметр "-v" для команды "gitsync"
2424
И Я добавляю параметр "sync" для команды "gitsync"
25-
И Я добавляю параметр "-P test" для команды "gitsync"
25+
И Я добавляю параметр "--PN test" для команды "gitsync"
26+
И Я вычисляю имя модуля edt по версии из переменной окружения "EDT_VERSION" в переменную "ИмяМодуляEDT"
27+
И Я добавляю параметр "--module" для команды "gitsync" из переменной "ИмяМодуляEDT"
2628
И Я выключаю все плагины
2729
И Я включаю плагин "edtExport"
28-
И Я включаю плагин "edtExport"
2930

3031
Сценарий: Cинхронизация с использованием edtExport
3132
Допустим Я добавляю позиционный параметр для команды "gitsync" из переменной "КаталогХранилища1С"
3233
И Я добавляю позиционный параметр для команды "gitsync" из переменной "ПутьКаталогаИсходников"
3334
Когда Я выполняю команду "gitsync"
34-
Тогда Вывод команды "gitsync" содержит "ИНФОРМАЦИЯ - Завершена синхронизации с git"
35+
Тогда Вывод команды "gitsync" содержит "Завершена синхронизации с git"
3536
И Вывод команды "gitsync" не содержит "Внешнее исключение"
3637
И Код возврата команды "gitsync" равен 0
3738

@@ -42,19 +43,19 @@
4243
И Я добавляю позиционный параметр для команды "gitsync" из переменной "КаталогХранилища1С"
4344
И Я добавляю позиционный параметр для команды "gitsync" из переменной "ПутьКаталогаИсходников"
4445
Когда Я выполняю команду "gitsync"
45-
Тогда Вывод команды "gitsync" содержит "ИНФОРМАЦИЯ - Завершена синхронизации с git"
46+
Тогда Вывод команды "gitsync" содержит "Завершена синхронизации с git"
4647
И Вывод команды "gitsync" не содержит "Внешнее исключение"
4748
И Код возврата команды "gitsync" равен 0
4849

49-
Сценарий: Cинхронизация хранилища расширения с использованием edtExport c указанием базового проекта
50+
Сценарий: Cинхронизация хранилища расширения с использованием edtExport с указанием базового проекта
5051
Допустим Я скопировал каталог тестового хранилища конфигурации расширения в каталог из переменной "КаталогХранилища1С"
5152
И я скопировал каталог рабочего окружения EDT в каталог из переменной "РабочееОкружениеEDT"
5253
И Я добавляю параметр "-e test" для команды "gitsync"
5354
И Я добавляю параметр "-W" для команды "gitsync" из переменной "РабочееОкружениеEDT"
54-
И Я добавляю параметр "-B edtExport" для команды "gitsync"
55+
И Я добавляю параметр "--BP edtExport" для команды "gitsync"
5556
И Я добавляю позиционный параметр для команды "gitsync" из переменной "КаталогХранилища1С"
5657
И Я добавляю позиционный параметр для команды "gitsync" из переменной "ПутьКаталогаИсходников"
5758
Когда Я выполняю команду "gitsync"
58-
Тогда Вывод команды "gitsync" содержит "ИНФОРМАЦИЯ - Завершена синхронизации с git"
59+
Тогда Вывод команды "gitsync" содержит "Завершена синхронизации с git"
5960
И Вывод команды "gitsync" не содержит "Внешнее исключение"
6061
И Код возврата команды "gitsync" равен 0

0 commit comments

Comments
 (0)