Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
44 commits
Select commit Hold shift + click to select a range
e047c29
Update readme.md
huxuxuya Dec 5, 2024
6edb5ab
Merge pull request #1 from huxuxuya/huxuxuya-readme-link-fix
huxuxuya Dec 5, 2024
6f28c2d
Merge pull request #325 from huxuxuya/develop
nixel2007 Dec 5, 2024
0cf883f
upd workflows
ovcharenko-di Dec 21, 2025
18ebbe5
Update qa.yml
ovcharenko-di Dec 21, 2025
b703de4
fix dep install
ovcharenko-di Dec 21, 2025
1b279bd
upd tests
ovcharenko-di Dec 21, 2025
578c691
fix testing
ovcharenko-di Dec 21, 2025
3aed649
add gitkeep
ovcharenko-di Dec 21, 2025
b657380
rm install-gitsync, fix test command
ovcharenko-di Dec 21, 2025
35ae8b1
Revert "add gitkeep"
ovcharenko-di Dec 21, 2025
77c9d95
upd tasks and debug
ovcharenko-di Dec 21, 2025
a115ff8
fix typo
ovcharenko-di Dec 21, 2025
f023aee
fix typo
ovcharenko-di Dec 21, 2025
42d7773
speed up tests
ovcharenko-di Dec 21, 2025
236065d
fix typo
ovcharenko-di Dec 21, 2025
17e9585
add bsl language config
ovcharenko-di Dec 21, 2025
b2bc418
upd gitignore
ovcharenko-di Dec 21, 2025
17d66e1
rip jenkins
ovcharenko-di Dec 21, 2025
c4ca7cb
rip travis-ci
ovcharenko-di Dec 21, 2025
9d3474d
bump deps and version
ovcharenko-di Dec 21, 2025
e91aff4
upd guide
ovcharenko-di Dec 21, 2025
68e12d3
upd testing workflow
ovcharenko-di Dec 21, 2025
4cc6405
fix
ovcharenko-di Dec 21, 2025
97d66f6
fix steps, features and typos
ovcharenko-di Dec 21, 2025
cc176ba
switch to local
ovcharenko-di Dec 21, 2025
e78236c
implement test
ovcharenko-di Dec 21, 2025
f034d64
upd coverage (from gitsync-plugins)
ovcharenko-di Dec 21, 2025
53afe1e
cleanup
ovcharenko-di Dec 21, 2025
fc674c8
fix naming
ovcharenko-di Dec 21, 2025
3bae2df
rm exe, cleanup
ovcharenko-di Dec 21, 2025
09d1f42
switch to full paths, fix logging
ovcharenko-di Dec 21, 2025
d952a4b
take plugins from master@gitsync-plugins
ovcharenko-di Dec 21, 2025
ca6bc38
bump
ovcharenko-di Dec 21, 2025
49dc4d2
add gitattributes
ovcharenko-di Dec 21, 2025
35b17a6
fix sonar issues
ovcharenko-di Dec 21, 2025
0e289e7
fix deps
ovcharenko-di Dec 21, 2025
ef8e2e6
fix debug
ovcharenko-di Dec 21, 2025
9dade41
fix tasks
ovcharenko-di Dec 21, 2025
74f3e06
upd test.os
ovcharenko-di Dec 21, 2025
d2d2249
fix typos
ovcharenko-di Dec 21, 2025
056e1c0
rm redundant lines
ovcharenko-di Dec 21, 2025
ec2d99c
rm exe, format modules
ovcharenko-di Dec 21, 2025
60e304e
cleanup
ovcharenko-di Dec 21, 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
11 changes: 11 additions & 0 deletions .bsl-language.server.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
{
"$schema": "https://1c-syntax.github.io/bsl-language-server/configuration/schema.json",
"diagnostics": {
"parameters": {
"Typo": {
"minWordLength": 3,
"userWordsToIgnore": "автопоиск,Гитсинк,закоммитить,Коммитом,Коммите,Коммита,коммита,Коммитами,Репо,Сохр"
}
}
}
}
6 changes: 6 additions & 0 deletions .gitattributes
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
*.sh eol=lf
*.md eol=lf
*.yml eol=lf
*.yaml eol=lf

*.bat eol=crlf
55 changes: 18 additions & 37 deletions .github/CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -41,7 +41,7 @@
Соответственно, помимо задач, можно использовать концепцию

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

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

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

* сделайте `fork` репозитория
* склонируйте репозитарий себе на машину ```git clone https://github.com/*ТУТИМЯВАШЕГОПОЛЬЗОВАТЕЛЯ*/gitsync.git ```
* склонируйте репозиторий себе на машину `git clone https://github.com/*ТУТИМЯВАШЕГОПОЛЬЗОВАТЕЛЯ*/gitsync.git`
* переходим в склонированный каталог через `cd gitsync` и выполняем несколько магических комманд
```

```shell
git remote add upstream https://github.com/oscript-library/gitsync.git
git fetch upstream
git checkout -b develop upstream/develop
git pull upstream develop
```
* Далее нужно установить необходимые зависимости:
* в консоли от имени администратора перейти в папку `gitsync` и запустить `opm install`.
* Результатом будет установленные пакеты, необходимые для работы скриптов.
* Этот шаг необходимо сделать всего 1 раз.

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


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

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

* реализуйте функционал или возьмите в работу какую-то задачу

* На основании ветки develop создаем новую ветку с номером задачи или кратким описанием
* Например, `feature/issue-9999`
```
* на основании ветки develop создаем новую ветку с номером задачи или кратким описанием, например, `feature/issue-9999`

```shell
git checkout -b feature/issue-9999
```

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

* **При готовности зафиксировать изменения**
* **При готовности зафиксировать изменения**

* В гите проверить необходимые изменения в исходниках и зафиксировать только их.

Команды для программного добавления необходимых файлов в git

* Смотрим, какие файлы изменились - `git status`

```
Изменения, которые не в индексе для коммита:
(используйте «git add <файл>…», чтобы добавить файл в индекс)
(используйте «git checkout -- <файл>…», чтобы отменить изменения
в рабочем каталоге)

изменено: src/cmd/ПараметрыПриложения.os

нет изменений добавленных для коммита
(используйте «git add» и/или «git commit -a»)
```
* Смотрим, какие файлы изменились - `git status`

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

* Добавляем необходимые файлы в индекс
* `git add src/cmd/ПараметрыПриложения.os `
* Фиксируем изменения с комментарием `git commit -m "Наш комментарий!"`

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

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

# Если ничего не понятно
## Если ничего не понятно

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

```(c) oscript-library - последнее обновление: 26.08.2021```
`(c) oscript-library - последнее обновление: 14.12.2025`
113 changes: 107 additions & 6 deletions .github/workflows/qa.yml
Original file line number Diff line number Diff line change
@@ -1,14 +1,115 @@
# MIT License
# Copyright (C) 2020 Tymko Oleg <olegtymko@yandex.ru> and contributors
# All rights reserved.

name: Контроль качества

on:
push:
pull_request:
pull_request_target:
workflow_dispatch:

jobs:
sonar:
uses: autumn-library/workflows/.github/workflows/sonar.yml@main
with:
github_repository: oscript-library/gitsync
secrets:
SONAR_TOKEN: ${{ secrets.SONARQUBE_TOKEN }}
if: github.repository == 'oscript-library/gitsync'
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
os: [ubuntu-22.04]
oscript_version: ['1.9.2']
v8_version: ['8.3.24.1691']
locale: ['ru_RU']

steps:
- name: Актуализация
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

- name: Установка OneScript
uses: otymko/setup-onescript@v1.5
with:
version: ${{ matrix.oscript_version }}

- name: Установка зависимостей
run: |
opm install opm
opm install -l --dev

- 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: Установка платформы 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: Установка лицензии (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: Покрытие кода
uses: coactions/setup-xvfb@v1
env:
GITSYNC_V8VERSION: ${{ matrix.v8_version }}
with:
run: oscript ./tasks/coverage.os

- 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@v8

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

# https://docs.sonarqube.org/latest/analysis/pull-request/
- name: Анализ в SonarQube (pull-request)
if: github.event_name == 'pull_request' || github.event_name == 'pull_request_target'
env:
SONAR_TOKEN: ${{ secrets.SONARQUBE_TOKEN }}
run: sonar-scanner
-Dsonar.host.url=${{ secrets.SONARQUBE_HOST }}
-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 }}
-Dsonar.scm.revision=${{ github.event.pull_request.head.sha }}
36 changes: 8 additions & 28 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -6,27 +6,24 @@ name: Подготовка релиза и публикация в хабе
# Только события создания и изменения релиза
on:
release:
types: [published]
types: [published, edited]
jobs:
build:
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
os: [ubuntu-latest]
oscript_version: ['1.9.0']
oscript_version: ['1.9.2']
package_mask: ["gitsync-*.ospx"]
package_exe_mask: ["gitsync.exe"]
steps:
# Загрузка проекта
- name: Актуализация
uses: actions/checkout@v2
uses: actions/checkout@v4.2.2

# Установка 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 }}

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

- name: Заливка артифактов
uses: actions/upload-artifact@v2
- name: Заливка артефактов
uses: actions/upload-artifact@v6.0.0
with:
name: gitsync.ospx.zip
path: ./${{ matrix.package_mask }}

- name: Заливка в релиз
uses: AButler/upload-release-assets@v1.0
uses: AButler/upload-release-assets@v3.0.1
with:
files: ./${{ matrix.package_mask }}
repo-token: ${{ secrets.GITHUB_TOKEN }}
Expand All @@ -55,21 +52,4 @@ jobs:
shell: bash
run: opm push -f ./${{ matrix.package_mask }} --token ${{ env.TOKEN }} -c stable
env:
TOKEN: ${{ secrets.OSHUB_TOKEN }}

- name: Сборка пакета exe
run: |
opm run pack
opm run make

- name: Заливка артифактов
uses: actions/upload-artifact@v2
with:
name: gitsync.exe.zip
path: ./bin/${{ matrix.package_exe_mask }}

- name: Заливка в релиз exe
uses: AButler/upload-release-assets@v1.0
with:
files: ./bin/${{ matrix.package_exe_mask }}
repo-token: ${{ secrets.GITHUB_TOKEN }}
TOKEN: ${{ secrets.ACCESS_TOKEN }}
Loading
Loading