Skip to content

Commit cfd9280

Browse files
Merge pull request #343 from oscript-library/develop
Релиз v.3.7.0
2 parents 87b623e + 60e304e commit cfd9280

File tree

63 files changed

+874
-830
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

63 files changed

+874
-830
lines changed

.bsl-language.server.json

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
{
2+
"$schema": "https://1c-syntax.github.io/bsl-language-server/configuration/schema.json",
3+
"diagnostics": {
4+
"parameters": {
5+
"Typo": {
6+
"minWordLength": 3,
7+
"userWordsToIgnore": "автопоиск,Гитсинк,закоммитить,Коммитом,Коммите,Коммита,коммита,Коммитами,Репо,Сохр"
8+
}
9+
}
10+
}
11+
}

.gitattributes

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
*.sh eol=lf
2+
*.md eol=lf
3+
*.yml eol=lf
4+
*.yaml eol=lf
5+
6+
*.bat eol=crlf

.github/CONTRIBUTING.md

Lines changed: 18 additions & 37 deletions
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,7 @@
4141
Соответственно, помимо задач, можно использовать концепцию
4242

4343
* git-flow - коллективная разработка с помощью github
44-
* pull-request - для черновиков функционала используется каталог ```.\features\drafts```
44+
* pull-request - для черновиков функционала используется каталог `.\features\drafts`
4545

4646
### Процесс коллективной разработки
4747

@@ -63,30 +63,28 @@
6363
* т.е. `git, oscript, opm` вызываются без указания полного пути в коммандной строке.
6464

6565
* сделайте `fork` репозитория
66-
* склонируйте репозитарий себе на машину ```git clone https://github.com/*ТУТИМЯВАШЕГОПОЛЬЗОВАТЕЛЯ*/gitsync.git ```
66+
* склонируйте репозиторий себе на машину `git clone https://github.com/*ТУТИМЯВАШЕГОПОЛЬЗОВАТЕЛЯ*/gitsync.git`
6767
* переходим в склонированный каталог через `cd gitsync` и выполняем несколько магических комманд
68-
```
68+
69+
```shell
6970
git remote add upstream https://github.com/oscript-library/gitsync.git
7071
git fetch upstream
7172
git checkout -b develop upstream/develop
72-
git pull upstream develop
7373
```
74-
* Далее нужно установить необходимые зависимости:
75-
* в консоли от имени администратора перейти в папку `gitsync` и запустить `opm install`.
76-
* Результатом будет установленные пакеты, необходимые для работы скриптов.
77-
* Этот шаг необходимо сделать всего 1 раз.
7874

79-
> ВНИМАНИЕ: команды `opm` необходимо выполнять в обычном виндовом `cmd\far` , но не в bash-консоли, т.к. не сможет найти команду `opm`
75+
Далее нужно установить необходимые зависимости:
76+
в консоли от имени администратора перейти в папку `gitsync` и запустить `opm install`. Результатом будет установленные пакеты, необходимые для работы скриптов.
77+
Этот шаг необходимо сделать всего 1 раз.
78+
8079

8180
#### Штатная разработка/доработка
8281

8382
##### Выбор задачи и предварительная подготовка
8483

8584
* реализуйте функционал или возьмите в работу какую-то задачу
86-
87-
* На основании ветки develop создаем новую ветку с номером задачи или кратким описанием
88-
* Например, `feature/issue-9999`
89-
```
85+
* на основании ветки develop создаем новую ветку с номером задачи или кратким описанием, например, `feature/issue-9999`
86+
87+
```shell
9088
git checkout -b feature/issue-9999
9189
```
9290

@@ -98,33 +96,16 @@ git checkout -b feature/issue-9999
9896
* в каталоге ./src реализуйте требуемый функционал
9997
* или прогоните тесты `opm run test`
10098

101-
* **При готовности зафиксировать изменения**
99+
* **При готовности зафиксировать изменения**
102100

103101
* В гите проверить необходимые изменения в исходниках и зафиксировать только их.
104-
105-
Команды для программного добавления необходимых файлов в git
106-
107-
* Смотрим, какие файлы изменились - `git status`
108-
109-
```
110-
Изменения, которые не в индексе для коммита:
111-
(используйте «git add <файл>…», чтобы добавить файл в индекс)
112-
(используйте «git checkout -- <файл>…», чтобы отменить изменения
113-
в рабочем каталоге)
114-
115-
изменено: src/cmd/ПараметрыПриложения.os
116-
117-
нет изменений добавленных для коммита
118-
(используйте «git add» и/или «git commit -a»)
119-
```
102+
* Смотрим, какие файлы изменились - `git status`
120103

121104
##### Отправка изменений
122105

123-
* Добавляем необходимые файлы в индекс
124-
* `git add src/cmd/ПараметрыПриложения.os `
125-
* Фиксируем изменения с комментарием `git commit -m "Наш комментарий!"`
126-
127-
* Отправляем все изменения своей ветки на github ```git push origin feature/issue-9999```
106+
* Добавляем необходимые файлы в индекс `git add src/cmd/ПараметрыПриложения.os`
107+
* Фиксируем изменения с комментарием `git commit -m "Наш комментарий!"`
108+
* Отправляем все изменения своей ветки на github `git push origin feature/issue-9999`
128109
* Далее формируем `pull-request` в [интерфейсе github](https://github.com/oscript-library/gitsync/pulls)
129110

130111
### Участие в архитектурных обсуждениях
@@ -136,8 +117,8 @@ git checkout -b feature/issue-9999
136117
* участвуйте, обосновывайте, приводите примеры
137118
* используйте ТРИЗ для построения непротиворечивых решений
138119

139-
# Если ничего не понятно
120+
## Если ничего не понятно
140121

141122
* используйте [Telegram](https://t.me/oscript_library) для того, чтобы задать вопрос
142123

143-
```(c) oscript-library - последнее обновление: 26.08.2021```
124+
`(c) oscript-library - последнее обновление: 14.12.2025`

.github/workflows/qa.yml

Lines changed: 107 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,115 @@
1+
# MIT License
2+
# Copyright (C) 2020 Tymko Oleg <[email protected]> and contributors
3+
# All rights reserved.
4+
15
name: Контроль качества
26

37
on:
48
push:
5-
pull_request:
9+
pull_request_target:
610
workflow_dispatch:
711

812
jobs:
913
sonar:
10-
uses: autumn-library/workflows/.github/workflows/sonar.yml@main
11-
with:
12-
github_repository: oscript-library/gitsync
13-
secrets:
14-
SONAR_TOKEN: ${{ secrets.SONARQUBE_TOKEN }}
14+
if: github.repository == 'oscript-library/gitsync'
15+
runs-on: ${{ matrix.os }}
16+
strategy:
17+
fail-fast: false
18+
matrix:
19+
os: [ubuntu-22.04]
20+
oscript_version: ['1.9.2']
21+
v8_version: ['8.3.24.1691']
22+
locale: ['ru_RU']
23+
24+
steps:
25+
- name: Актуализация
26+
uses: actions/[email protected]
27+
with:
28+
repository: ${{ github.event.pull_request.head.repo.full_name || github.repository }}
29+
ref: ${{ github.event.pull_request.head.ref || github.ref_name }}
30+
fetch-depth: 0
31+
32+
# https://stackoverflow.com/questions/58033366/how-to-get-current-branch-within-github-actions
33+
- name: Извлечение имени текущей ветки
34+
shell: bash
35+
run: echo "##[set-output name=branch;]$(echo ${GITHUB_REF#refs/heads/})"
36+
id: extract_branch
37+
38+
- name: Установка OneScript
39+
uses: otymko/[email protected]
40+
with:
41+
version: ${{ matrix.oscript_version }}
42+
43+
- name: Установка зависимостей
44+
run: |
45+
opm install opm
46+
opm install -l --dev
47+
48+
- name: Подготовка окружения (Linux)
49+
if: startsWith(matrix.os, 'ubuntu')
50+
run: |
51+
sudo apt-get update
52+
sudo DEBIAN_FRONTEND=noninteractive apt-get install -y locales libwebkit2gtk-4.0-37
53+
sudo localedef -i ${{ matrix.locale }} -c -f UTF-8 -A /usr/share/locale/locale.alias ${{ matrix.locale }}.UTF-8
54+
55+
- name: Установка платформы 1С
56+
uses: 1CDevFlow/onec-setup-action@main
57+
with:
58+
type: onec # Тип устанавливаемого приложения
59+
onec_version: ${{ matrix.v8_version }}
60+
cache: true
61+
cache_distr: true
62+
env:
63+
ONEC_USERNAME: ${{ secrets.ONEC_USERNAME }}
64+
ONEC_PASSWORD: ${{ secrets.ONEC_PASSWORD }}
65+
66+
- name: Установка лицензии (Linux)
67+
if: startsWith(matrix.os, 'ubuntu')
68+
run: |
69+
# Создание каталога
70+
sudo mkdir -p /var/1C/licenses
71+
72+
# Запись лицензии в файл
73+
echo "${{ secrets.ONEC_LICENSE }}" | sudo tee /var/1C/licenses/licence.lic > /dev/null
74+
75+
# Назначение прав
76+
sudo chmod 777 -R /var/1C/licenses
77+
shell: bash
78+
env:
79+
ONEC_LICENSE: ${{ secrets.ONEC_LICENSE }}
80+
81+
- name: Покрытие кода
82+
uses: coactions/setup-xvfb@v1
83+
env:
84+
GITSYNC_V8VERSION: ${{ matrix.v8_version }}
85+
with:
86+
run: oscript ./tasks/coverage.os
87+
88+
- name: Извлечение версии пакета
89+
shell: bash
90+
run: echo "##[set-output name=version;]`cat packagedef | grep ".Версия(" | sed 's|[^"]*"||' | sed -r 's/".+//'`"
91+
id: extract_version
92+
93+
- name: Установка sonar-scanner
94+
uses: warchant/setup-sonar-scanner@v8
95+
96+
- name: Анализ в SonarQube (branch)
97+
if: github.event_name == 'push' || github.event_name == 'workflow_dispatch'
98+
env:
99+
SONAR_TOKEN: ${{ secrets.SONARQUBE_TOKEN }}
100+
run: sonar-scanner
101+
-Dsonar.host.url=${{ secrets.SONARQUBE_HOST }}
102+
-Dsonar.branch.name=${{ steps.extract_branch.outputs.branch }}
103+
-Dsonar.projectVersion=${{ steps.extract_version.outputs.version }}
104+
105+
# https://docs.sonarqube.org/latest/analysis/pull-request/
106+
- name: Анализ в SonarQube (pull-request)
107+
if: github.event_name == 'pull_request' || github.event_name == 'pull_request_target'
108+
env:
109+
SONAR_TOKEN: ${{ secrets.SONARQUBE_TOKEN }}
110+
run: sonar-scanner
111+
-Dsonar.host.url=${{ secrets.SONARQUBE_HOST }}
112+
-Dsonar.pullrequest.key=${{ github.event.pull_request.number }}
113+
-Dsonar.pullrequest.branch=${{ github.event.pull_request.head.ref }}
114+
-Dsonar.pullrequest.base=${{ github.event.pull_request.base.ref }}
115+
-Dsonar.scm.revision=${{ github.event.pull_request.head.sha }}

.github/workflows/release.yml

Lines changed: 8 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -6,27 +6,24 @@ name: Подготовка релиза и публикация в хабе
66
# Только события создания и изменения релиза
77
on:
88
release:
9-
types: [published]
9+
types: [published, edited]
1010
jobs:
1111
build:
1212
runs-on: ${{ matrix.os }}
1313
strategy:
1414
fail-fast: false
1515
matrix:
1616
os: [ubuntu-latest]
17-
oscript_version: ['1.9.0']
17+
oscript_version: ['1.9.2']
1818
package_mask: ["gitsync-*.ospx"]
19-
package_exe_mask: ["gitsync.exe"]
2019
steps:
2120
# Загрузка проекта
2221
- name: Актуализация
23-
uses: actions/checkout@v2
22+
uses: actions/checkout@v4.2.2
2423

2524
# Установка OneScript конкретной версии
2625
- name: Установка OneScript
27-
uses: otymko/[email protected]
28-
env:
29-
ACTIONS_ALLOW_UNSECURE_COMMANDS: true
26+
uses: otymko/[email protected]
3027
with:
3128
version: ${{ matrix.oscript_version }}
3229

@@ -39,14 +36,14 @@ jobs:
3936
- name: Сборка пакета
4037
run: opm run build
4138

42-
- name: Заливка артифактов
43-
uses: actions/upload-artifact@v2
39+
- name: Заливка артефактов
40+
uses: actions/upload-artifact@v6.0.0
4441
with:
4542
name: gitsync.ospx.zip
4643
path: ./${{ matrix.package_mask }}
4744

4845
- name: Заливка в релиз
49-
uses: AButler/upload-release-assets@v1.0
46+
uses: AButler/upload-release-assets@v3.0.1
5047
with:
5148
files: ./${{ matrix.package_mask }}
5249
repo-token: ${{ secrets.GITHUB_TOKEN }}
@@ -55,21 +52,4 @@ jobs:
5552
shell: bash
5653
run: opm push -f ./${{ matrix.package_mask }} --token ${{ env.TOKEN }} -c stable
5754
env:
58-
TOKEN: ${{ secrets.OSHUB_TOKEN }}
59-
60-
- name: Сборка пакета exe
61-
run: |
62-
opm run pack
63-
opm run make
64-
65-
- name: Заливка артифактов
66-
uses: actions/upload-artifact@v2
67-
with:
68-
name: gitsync.exe.zip
69-
path: ./bin/${{ matrix.package_exe_mask }}
70-
71-
- name: Заливка в релиз exe
72-
uses: AButler/[email protected]
73-
with:
74-
files: ./bin/${{ matrix.package_exe_mask }}
75-
repo-token: ${{ secrets.GITHUB_TOKEN }}
55+
TOKEN: ${{ secrets.ACCESS_TOKEN }}

0 commit comments

Comments
 (0)