From bba1dc9de1c12d4d47c05f8da20d2313abe8839a Mon Sep 17 00:00:00 2001 From: Nikita Fedkin Date: Wed, 2 Jul 2025 17:16:11 +0200 Subject: [PATCH 1/2] Create copilot-instructions.md --- .github/copilot-instructions.md | 35 +++++++++++++++++++++++++++++++++ 1 file changed, 35 insertions(+) create mode 100644 .github/copilot-instructions.md diff --git a/.github/copilot-instructions.md b/.github/copilot-instructions.md new file mode 100644 index 0000000..d6fcd48 --- /dev/null +++ b/.github/copilot-instructions.md @@ -0,0 +1,35 @@ +## Общее + +Этот проект написан на языке 1С:Предприятие 8 и выполняется в независимой реализации виртуальной машины под названием OneScript или oscript. Документация доступна на сайте https://oscript.io, исходный код движка - https://github.com/EvilBeaver/OneScript + +Для управления версиями движка OneScript используется OneScript Version Manager (ovm), который уже установлен в окружении Coding Agent. Так же в окружение установлена требуемая версия oscript. Документация по ovm - https://github.com/oscript-library/ovm + +Для работы с зависимостями используется пакетный менеджер OneScript Package Manager (opm), который тоже установлен в окружении. При подготовке окружения автоматически был выполнен шаг установки зависимостей текущего проекта. Они доступны в подкаталоге `oscript_modules`, расположенном в корне проекта. + +Документация о продукте содержится в каталоге docs. + +## Тестирование + +Для запуска тестов используется команда: + +```sh +oscript tasks/test.os +``` + +Для запуска тестов с замером покрытия используется команда: + +```sh +oscript tasks/coverage.os +``` + +Замеры покрытия доступны в подкаталоге `out`. + +## Качество кода + +Проект анализируется на сервере SonarQube sonar.openbsl.ru, к которому у тебя есть прямой доступ, в том числе по web-api. Используется плагин для поддержки 1С, основанный на проекте BSL Language Server. +Документация и список диагностик BSL LS доступны на сайте https://1c-syntax.github.io/bsl-language-server +Реализация диагностик доступна по адресу https://github.com/1c-syntax/bsl-language-server + +При необходимости ты можешь скачать из релизов BSL LS исполняемый файл (для Linux или -exec.jar), и запустить bsl ls в режиме analyze с выводом результатов, используя reporter json. + +В корне проекта лежит файл .bsl-language-server.json с дополнительной конфигурацией BSL LS (включая параметры диагностик). From abadd703f4351e571da914a344bdedf915e42031 Mon Sep 17 00:00:00 2001 From: Nikita Fedkin Date: Wed, 2 Jul 2025 17:17:06 +0200 Subject: [PATCH 2/2] Create copilot-setup-steps.yml --- .github/workflows/copilot-setup-steps.yml | 45 +++++++++++++++++++++++ 1 file changed, 45 insertions(+) create mode 100644 .github/workflows/copilot-setup-steps.yml diff --git a/.github/workflows/copilot-setup-steps.yml b/.github/workflows/copilot-setup-steps.yml new file mode 100644 index 0000000..8b756a5 --- /dev/null +++ b/.github/workflows/copilot-setup-steps.yml @@ -0,0 +1,45 @@ +name: "OneScript Development Environment Setup" + +# Allow testing of the setup steps from your repository's "Actions" tab. +on: workflow_dispatch + +jobs: + # The job MUST be called `copilot-setup-steps` or it will not be picked up by Copilot. + copilot-setup-steps: + runs-on: ubuntu-latest + + # Set the permissions to the lowest permissions possible needed for your steps. + # Copilot will be given its own token for its operations. + permissions: + # Clone the repository to install dependencies + contents: read + + # Setup steps for OneScript development environment + steps: + - name: Checkout code + uses: actions/checkout@v4 + + - run: git config --global core.quotepath false + + - name: Вычисление версии OneScript + shell: bash + id: extract_oscript_version + run: | + set -ex + if [ -f packagedef ]; then + extracted_version=$(cat packagedef | grep ".ВерсияСреды(" | sed 's|[^"]*"||' | sed -r 's/".+//' || true) + version="${extracted_version:-stable}" + else + version="stable" + fi + echo "version=$version" >> $GITHUB_OUTPUT + + - name: Установка OneScript + uses: otymko/setup-onescript@v1.5 + with: + version: ${{ steps.extract_oscript_version.outputs.version }} + + - name: Установка зависимостей + run: | + opm install opm + opm install -l --dev