Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
86 commits
Select commit Hold shift + click to select a range
06eedb9
add T param
Jun 16, 2024
1f5abf4
иса=правил имя параметра
Jun 16, 2024
76deb20
Merge pull request #85 from 1cv8/ibcmd-multithreading
arkuznetsov Jun 27, 2024
51697db
feat: добавил параметр push-options
Oct 4, 2024
1a651e7
feat: поднял версию до 1.7.0
Oct 4, 2024
5e7eabd
fix: Для плагина sync-remote добавлен параметр branch (B) для указани…
arkuznetsov Dec 18, 2024
6851071
fix: Реализован вызов исключения при ошибке вызова утилиты ibcmd;
arkuznetsov Dec 18, 2024
6028ba7
Версия плагина `use-ibcmd`
arkuznetsov Dec 18, 2024
94c9c04
Версия плагинов
arkuznetsov Dec 18, 2024
3dbafa7
feat: Добавлена поддержка `edtcli` для версий EDT 2024 и старше.
arkuznetsov Dec 18, 2024
0650a61
refactor: Изменено краткое имя опции '--push' P -> PS для совместимос…
arkuznetsov Dec 18, 2024
208ba0f
ci: Изменена требуемая версия oscript.
arkuznetsov Dec 18, 2024
36e6900
fix tests
ovcharenko-di Jun 2, 2025
e32e844
fix gitsync install path
ovcharenko-di Jun 2, 2025
9bcd05b
fixes
ovcharenko-di Jun 2, 2025
7d3fd46
speed up testing, switch to tmp action branch
ovcharenko-di Jun 2, 2025
babb5ee
fix: Для плагина sync-remote добавлен параметр branch (B) для указани…
arkuznetsov Dec 18, 2024
82ab887
fix: Реализован вызов исключения при ошибке вызова утилиты ibcmd;
arkuznetsov Dec 18, 2024
22dc504
Версия плагина `use-ibcmd`
arkuznetsov Dec 18, 2024
e13c2a2
Версия плагинов
arkuznetsov Dec 18, 2024
a9218be
feat: Добавлена поддержка `edtcli` для версий EDT 2024 и старше.
arkuznetsov Dec 18, 2024
fd9e61d
refactor: Изменено краткое имя опции '--push' P -> PS для совместимос…
arkuznetsov Dec 18, 2024
35ffffd
ci: Изменена требуемая версия oscript.
arkuznetsov Dec 18, 2024
de8b78f
add quotes
ovcharenko-di Jun 2, 2025
a5382e8
fix edtExport after rebase
ovcharenko-di Jun 2, 2025
48f9a65
fix features
ovcharenko-di Jun 2, 2025
a7e6c6f
fix features again
ovcharenko-di Jun 2, 2025
f153274
rm scripts
ovcharenko-di Jun 2, 2025
b583197
add testing on EDT 2024 for 1cedtcli
ovcharenko-di Jun 3, 2025
13d6933
Merge pull request #89 from ovcharenko-di/continue-pr-87-without-scripts
arkuznetsov Jun 3, 2025
21d1eda
Merge branch 'develop' into develop
arkuznetsov Jun 3, 2025
c245439
Merge pull request #87 from arkuznetsov/develop
arkuznetsov Jun 3, 2025
2eda466
Merge branch 'develop' into feature/add-push-options
arkuznetsov Jun 3, 2025
1642423
Merge pull request #86 from komarovps/feature/add-push-options
arkuznetsov Jun 3, 2025
72798d2
add workflow for PR from forks
ovcharenko-di Jun 5, 2025
16fb4de
Merge pull request #91 from ovcharenko-di/feature/allow-secrets-in-pr…
ovcharenko-di Jun 5, 2025
1de77e3
Revert "add workflow for PR from forks"
ovcharenko-di Jun 6, 2025
1c66a4c
add fetch-depth
ovcharenko-di Jun 6, 2025
009546d
Merge pull request #93 from ovcharenko-di/fix/revert-pre-testing
ovcharenko-di Jun 6, 2025
d61feea
fix 1cedcli behaviour, fix testing in PRs, qa, refactoring
ovcharenko-di Jun 6, 2025
d0d2ca1
bump version
ovcharenko-di Jun 6, 2025
9f698f4
Merge pull request #92 from ovcharenko-di/fix/1cedtcli
ovcharenko-di Jun 6, 2025
c4a1328
fix secret name
ovcharenko-di Jun 6, 2025
ab4d412
Merge pull request #94 from ovcharenko-di/fix/1cedtcli
ovcharenko-di Jun 6, 2025
beba92d
fix workflows
ovcharenko-di Jun 6, 2025
b994d63
run qa in fork (temp change)
ovcharenko-di Jun 6, 2025
d7f72bc
switch to ubuntu 22.04
ovcharenko-di Jun 6, 2025
144b4ec
speed up features, add helper files
ovcharenko-di Jun 7, 2025
0558e70
revert onec-setup-action
ovcharenko-di Jun 7, 2025
010fa54
ignore coverage
ovcharenko-di Jun 8, 2025
78ed476
fix coverage
ovcharenko-di Jun 8, 2025
d4cf47d
add if
ovcharenko-di Jun 8, 2025
09a8f89
Merge pull request #95 from ovcharenko-di/fix/qa-workflow
ovcharenko-di Jun 8, 2025
9849ba9
fix projectKey
ovcharenko-di Jun 8, 2025
d1fd09c
add fetch-depth: 0
ovcharenko-di Jun 8, 2025
d3be0aa
add feature coverage
ovcharenko-di Jun 9, 2025
e3c6d84
rename SQ project
ovcharenko-di Jun 9, 2025
ad28b72
run SQ on pull_request_target as well
ovcharenko-di Jun 9, 2025
494d87d
Merge pull request #96 from ovcharenko-di/fix/feature-coverage
ovcharenko-di Jun 9, 2025
f3bf7f4
fix bug, add feature
ovcharenko-di Jun 9, 2025
3907f31
fix qa on PR
ovcharenko-di Jun 9, 2025
2c9a559
fix junit report path
ovcharenko-di Jun 9, 2025
d03445d
Merge pull request #97 from ovcharenko-di/useIbcmd-test
ovcharenko-di Jun 9, 2025
1bfbb7e
fix params, add ibcmd --incremental feature
ovcharenko-di Jun 9, 2025
c335028
fix ibcmd-data parameter
ovcharenko-di Jun 9, 2025
16a5465
fix qa
ovcharenko-di Jun 9, 2025
1162017
Merge pull request #98 from ovcharenko-di/useIbcmd-test
ovcharenko-di Jun 9, 2025
b991601
upd libstdc++6
ovcharenko-di Jun 11, 2025
14de646
add compatibility features
ovcharenko-di Jun 11, 2025
9eba9a5
add ibcmd-data
ovcharenko-di Jun 13, 2025
21e4535
fix param name
ovcharenko-di Sep 29, 2025
0fc3b87
maximize space, rm libstdc
ovcharenko-di Sep 29, 2025
7b6b469
revert rm
ovcharenko-di Sep 29, 2025
cb7bf73
reduce swap
ovcharenko-di Sep 29, 2025
5e092ba
increase root size
ovcharenko-di Sep 29, 2025
d6b4e85
increase root size
ovcharenko-di Sep 29, 2025
ebb6a2e
switch to original onec-setup-action
ovcharenko-di Sep 29, 2025
8eba251
Merge pull request #103 from ovcharenko-di/fix/use-ibcmd-pwd
ovcharenko-di Dec 5, 2025
f3c3322
fix qa
ovcharenko-di Dec 5, 2025
0eb1d0d
fix testing
ovcharenko-di Dec 5, 2025
04a92ed
add maximize-build-space
ovcharenko-di Dec 6, 2025
9d6e21e
Merge pull request #101 from ovcharenko-di/compatibility
ovcharenko-di Dec 6, 2025
af29320
upd versions
ovcharenko-di Dec 13, 2025
52532f2
add bls config
ovcharenko-di Dec 13, 2025
7f39f40
upd contrib
ovcharenko-di Dec 13, 2025
8a2a213
Merge pull request #104 from ovcharenko-di/fix/versions
ovcharenko-di Dec 13, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
18 changes: 18 additions & 0 deletions .bsl-language-server.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
{
"$schema": "https://1c-syntax.github.io/bsl-language-server/configuration/schema.json",
"language": "ru",
"diagnostics": {
"parameters": {
"LineLength": {
"maxLineLength": 150
},
"MissingSpace": {
"allowMultipleCommas": true
},
"Typo": {
"minWordLength": 3,
"userWordsToIgnore": "Закоммитить,Коммитом,Коммита,Коммите,тэг,Тэг,Инкрементально,"
}
}
}
}
131 changes: 104 additions & 27 deletions .github/workflows/qa.yml
Original file line number Diff line number Diff line change
Expand Up @@ -3,76 +3,153 @@
# All rights reserved.

name: Контроль качества
# Любой пуш и pr в проекте но с фильтром по основному проекту
on: [push, pull_request]

on:
push:
pull_request_target:
workflow_dispatch:

jobs:
build:
if: github.repository == 'khorevaa/gitsync-plugins'
sonar:
if: github.repository == 'oscript-library/gitsync-plugins'
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
os: [ubuntu-latest]
oscript_version: ['1.8.3']
os: [ubuntu-22.04]
oscript_version: ['1.9.2']
v8_version: ['8.3.24.1691']
edt_version: ['2024.2.5']
locale: ['ru_RU']

steps:
# Загрузка проекта
- name: Освобождение места
if: startsWith(matrix.os, 'ubuntu')
uses: easimon/maximize-build-space@master
with:
root-reserve-mb: 20480
swap-size-mb: 1024
remove-android: 'true'
remove-haskell: 'true'
remove-codeql: 'true'
remove-docker-images: 'true'

- name: Актуализация
uses: actions/checkout@v2
uses: actions/checkout@v4.2.2
with:
repository: ${{ github.event.pull_request.head.repo.full_name || github.repository }}
ref: ${{ github.event.pull_request.head.ref || github.ref_name }}
fetch-depth: 0

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

# Установка OneScript конкретной версии
- name: Установка OneScript
uses: otymko/setup-onescript@v1.0
env:
ACTIONS_ALLOW_UNSECURE_COMMANDS: true
uses: otymko/setup-onescript@v1.5
with:
version: ${{ matrix.oscript_version }}

# Установка зависимостей пакета
- name: Установка зависимостей
run: |
opm install opm
opm install --dev
opm install 1testrunner
opm install 1bdd
opm install notify
opm install coverage
opm install gitsync # TODO: должно быть необязательно

- name: Подготовка окружения (Linux)
if: startsWith(matrix.os, 'ubuntu')
run: |
sudo apt-get update
sudo DEBIAN_FRONTEND=noninteractive apt-get install -y locales libwebkit2gtk-4.0-37
sudo localedef -i ${{ matrix.locale }} -c -f UTF-8 -A /usr/share/locale/locale.alias ${{ matrix.locale }}.UTF-8

- name: Установка wine для Tool1CD (Linux)
if: startsWith(matrix.os, 'ubuntu')
run: |
sudo dpkg --add-architecture i386
sudo apt update
sudo apt install wine -y

- name: Установка платформы 1С
uses: 1CDevFlow/onec-setup-action@main
with:
type: onec # Тип устанавливаемого приложения
onec_version: ${{ matrix.v8_version }}
cache: true
cache_distr: true
env:
ONEC_USERNAME: ${{ secrets.ONEC_USERNAME }}
ONEC_PASSWORD: ${{ secrets.ONEC_PASSWORD }}

- name: Установка Java 17
uses: actions/setup-java@v4
with:
distribution: 'temurin'
java-version: '17'

- name: Установка EDT
uses: 1CDevFlow/onec-setup-action@main
with:
type: edt
edt_version: ${{ matrix.edt_version }}
cache: true
cache_distr: true
env:
ONEC_USERNAME: ${{ secrets.ONEC_USERNAME }}
ONEC_PASSWORD: ${{ secrets.ONEC_PASSWORD }}

- name: Установка лицензии (Linux)
if: startsWith(matrix.os, 'ubuntu')
run: |
# Создание каталога
sudo mkdir -p /var/1C/licenses

# Запись лицензии в файл
echo "${{ secrets.ONEC_LICENSE }}" | sudo tee /var/1C/licenses/licence.lic > /dev/null

# Назначение прав
sudo chmod 777 -R /var/1C/licenses
shell: bash
env:
ONEC_LICENSE: ${{ secrets.ONEC_LICENSE }}

- name: Установка gitsync локально
run: opm run install-gitsync

# Запуск тестов и сбор покрытия кода
- name: Покрытие кода
run: oscript ./tasks/coverage.os true
uses: coactions/setup-xvfb@v1
env:
EDT_VERSION: ${{ matrix.edt_version }}
GITSYNC_V8VERSION: ${{ matrix.v8_version }}
with:
run: opm run coverage

- name: Извлечение версии пакета
shell: bash
run: echo "##[set-output name=version;]`cat packagedef | grep ".Версия(" | sed 's|[^"]*"||' | sed -r 's/".+//'`"
id: extract_version

- name: Установка Sonar-scanner
uses: warchant/setup-sonar-scanner@v1
uses: warchant/setup-sonar-scanner@v8

# Анализ проекта в SonarQube (ветка)
- name: Анализ в SonarQube (branch)
if: github.event_name == 'push'
if: github.event_name == 'push' || github.event_name == 'workflow_dispatch'
env:
SONAR_TOKEN: ${{ secrets.SONARQUBE_TOKEN }}
run: sonar-scanner
-Dsonar.login=${{ secrets.SONARQUBE_TOKEN }}
-Dsonar.host.url=${{ secrets.SONARQUBE_HOST }}
-Dsonar.branch.name=${{ steps.extract_branch.outputs.branch }}
-Dsonar.projectVersion=${{ steps.extract_version.outputs.version }}

# Анализ проекта в SonarQube (PR)
# https://docs.sonarqube.org/latest/analysis/pull-request/
- name: Анализ в SonarQube (pull-request)
if: github.event_name == 'pull_request'
if: github.event_name == 'pull_request' || github.event_name == 'pull_request_target'
env:
SONAR_TOKEN: ${{ secrets.SONARQUBE_TOKEN }}
run: sonar-scanner
-Dsonar.login=${{ secrets.SONARQUBE_TOKEN }}
-Dsonar.host.url=${{ secrets.SONARQUBE_HOST }}
-Dsonar.branch.name=${{ steps.extract_branch.outputs.branch }}
-Dsonar.pullrequest.key=${{ github.event.pull_request.number }}
-Dsonar.pullrequest.branch=${{ github.event.pull_request.head.ref }}
-Dsonar.pullrequest.base=${{ github.event.pull_request.base.ref }}
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ jobs:
fail-fast: false
matrix:
os: [ubuntu-latest]
oscript_version: ['1.8.3']
oscript_version: ['1.9.2']
package_mask: ["gitsync-plugins-*.ospx"]

steps:
Expand Down
169 changes: 142 additions & 27 deletions .github/workflows/testing.yml
Original file line number Diff line number Diff line change
Expand Up @@ -3,46 +3,161 @@
# All rights reserved.

name: Тестирование
# Любой пуш и pr в проекте
on: [push, pull_request]

on:
push:
pull_request_target:
workflow_dispatch:

permissions:
checks: write
pull-requests: write

jobs:
build:
test:
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
os: [ubuntu-latest]
oscript_version: ['1.8.3']

oscript_version: ['1.9.2']
v8_version: ['8.3.21.1624', '8.3.24.1691']
edt_version: ['2023.3.6', '2024.2.5']
os: [windows-latest, ubuntu-22.04]
locale: ['ru_RU']
fail-fast: false
steps:
# Загрузка проекта
- name: Освобождение места
if: startsWith(matrix.os, 'ubuntu')
uses: easimon/maximize-build-space@master
with:
root-reserve-mb: 20480
swap-size-mb: 1024
remove-android: 'true'
remove-haskell: 'true'
remove-codeql: 'true'
remove-docker-images: 'true'

- name: Установка локали
if: matrix.os == startsWith(matrix.os, 'windows')
run: |
powershell -Command "Set-WinUILanguageOverride -Language ru-RU"
powershell -Command "Set-WinUserLanguageList ru-RU -Force"
powershell -Command "Set-Culture ru-RU"
powershell -Command "Set-WinSystemLocale ru-RU"

- name: Актуализация
uses: actions/checkout@v2
uses: actions/checkout@v4.2.2
with:
repository: ${{ github.event.pull_request.head.repo.full_name || github.repository }}
ref: ${{ github.event.pull_request.head.ref || github.ref_name }}

# Установка OneScript конкретной версии
- name: Установка OneScript
env:
ACTIONS_ALLOW_UNSECURE_COMMANDS: true
uses: otymko/setup-onescript@v1.0
uses: otymko/setup-onescript@v1.5
with:
version: ${{ matrix.oscript_version }}

# Установка зависимостей пакета
- name: Установка зависимостей
run: |
opm install opm
opm install --dev
opm install 1testrunner
opm install 1bdd
opm install notify
opm install coverage

# Задача тестирования, в результате ожидается успешное выполнение
- name: Тестирование Unit
run: oscript ./tasks/test.os true

# - name: Тестирование Integrated
# run: |
# 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'
# grep 'Результат прогона тестов <Да>' /tmp/test.log
opm install gitsync # TODO: должно быть необязательно

- name: Подготовка окружения (Linux)
if: startsWith(matrix.os, 'ubuntu')
run: |
sudo apt-get update
sudo DEBIAN_FRONTEND=noninteractive apt-get install -y locales libwebkit2gtk-4.0-37
sudo localedef -i ${{ matrix.locale }} -c -f UTF-8 -A /usr/share/locale/locale.alias ${{ matrix.locale }}.UTF-8

- name: Установка libenchant1c2a для 8.3.21 (Linux)
if: startsWith(matrix.os, 'ubuntu') && startsWith(matrix.v8_version, '8.3.21')
run: |
sudo echo "deb http://cz.archive.ubuntu.com/ubuntu focal main universe" | sudo tee -a /etc/apt/sources.list
sudo apt-get update
sudo DEBIAN_FRONTEND=noninteractive apt-get install -y libenchant1c2a

- name: Установка wine для Tool1CD (Linux)
if: startsWith(matrix.os, 'ubuntu')
run: |
sudo dpkg --add-architecture i386
sudo apt update
sudo apt install wine -y

- name: Установка платформы 1С
uses: 1CDevFlow/onec-setup-action@main
with:
type: onec # Тип устанавливаемого приложения
onec_version: ${{ matrix.v8_version }}
cache: true
cache_distr: true
env:
ONEC_USERNAME: ${{ secrets.ONEC_USERNAME }}
ONEC_PASSWORD: ${{ secrets.ONEC_PASSWORD }}

- name: Установка Java 11
if: startsWith(matrix.edt_version, '2023')
uses: actions/setup-java@v4
with:
distribution: 'temurin'
java-version: '11'

- name: Установка Java 17
if: startsWith(matrix.edt_version, '2024')
uses: actions/setup-java@v4
with:
distribution: 'temurin'
java-version: '17'

- name: Установка EDT
uses: 1CDevFlow/onec-setup-action@main
with:
type: edt
edt_version: ${{ matrix.edt_version }}
cache: true
cache_distr: true
env:
ONEC_USERNAME: ${{ secrets.ONEC_USERNAME }}
ONEC_PASSWORD: ${{ secrets.ONEC_PASSWORD }}

- name: Установка лицензии (Linux)
if: startsWith(matrix.os, 'ubuntu')
run: |
# Создание каталога
sudo mkdir -p /var/1C/licenses

# Запись лицензии в файл
echo "${{ secrets.ONEC_LICENSE }}" | sudo tee /var/1C/licenses/licence.lic > /dev/null

# Назначение прав
sudo chmod 777 -R /var/1C/licenses
shell: bash
env:
ONEC_LICENSE: ${{ secrets.ONEC_LICENSE }}

- name: Установка лицензии (Windows)
if: startsWith(matrix.os, 'windows')
run: |
mkdir "C:\ProgramData\1C\licenses" -Force
echo $Env:ONEC_LICENSE | Out-File -FilePath "C:\ProgramData\1C\licenses\licence.lic" -Encoding ascii
shell: pwsh
env:
ONEC_LICENSE: ${{ secrets.ONEC_LICENSE }}

- name: Установка gitsync локально
run: opm run install-gitsync

- name: Тестирование
uses: coactions/setup-xvfb@v1
env:
EDT_VERSION: ${{ matrix.edt_version }}
GITSYNC_V8VERSION: ${{ matrix.v8_version }}
with:
run: oscript ./tasks/test.os

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