Skip to content

[FEAT] Добавлен параметр ibsrv для запуска команд с использование автономного сервера #550

[FEAT] Добавлен параметр ibsrv для запуска команд с использование автономного сервера

[FEAT] Добавлен параметр ibsrv для запуска команд с использование автономного сервера #550

Workflow file for this run

name: Контроль качества
on:
push:
pull_request_target:
workflow_dispatch:
concurrency:
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref_name }}
cancel-in-progress: true
jobs:
sonar:
if: (github.repository == 'vanessa-opensource/vanessa-runner')
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
oscript_version: ['stable']
v8_version: ['8.3.23.1997']
locale: ['ru_RU']
steps:
- name: Set Russian locale
if: matrix.os == 'windows-latest'
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: Verify locale settings
if: matrix.os == 'windows-latest'
run: |
powershell -Command "Get-WinUILanguageOverride"
powershell -Command "Get-WinUserLanguageList"
powershell -Command "Get-Culture"
powershell -Command "Get-WinSystemLocale"
- name: Актуализация
uses: actions/checkout@v4
with:
repository: ${{ github.event.pull_request.head.repo.full_name }}
ref: ${{ github.event.pull_request.head.ref }}
fetch-depth: 0
- name: Вычисление имени ветки
uses: nelonoel/[email protected]
- name: Вычисление версии OneScript
shell: bash
id: extract_oscript_version
run: |
set -ex
if [ "${{ matrix.oscript_version }}" = "default" ]
then
extracted_version=$(cat packagedef | grep ".ВерсияСреды(" | sed 's|[^"]*"||' | sed -r 's/".+//' || true)
version="${extracted_version:-stable}"
else
version="${{ matrix.oscript_version }}"
fi
echo "version=$version" >> $GITHUB_OUTPUT
- name: Установка OneScript
uses: otymko/[email protected]
with:
version: ${{ steps.extract_oscript_version.outputs.version }}
- name: Установка зависимостей пакета
run: |
opm install opm
opm install -l --dev
- name: Установка дополнительных пакетов
run: opm install add
- name: Установка 1С:Предприятие
if: matrix.v8_version != ''
uses: 1CDevFlow/onec-setup-action@main
with:
type: onec # Тип устанавливаемого приложения
onec_version: ${{ matrix.v8_version }}
cache: false
env:
ONEC_USERNAME: ${{ secrets.ONEC_USERNAME }}
ONEC_PASSWORD: ${{ secrets.ONEC_PASSWORD }}
- name: Подготовка окружения (Linux)
run: |
sudo DEBIAN_FRONTEND=noninteractive apt-get install -y locales
sudo ln -s /usr/lib/x86_64-linux-gnu/libenchant-2.so.2 /usr/lib/libenchant.so.1
sudo localedef -i ${{ matrix.locale }} -c -f UTF-8 -A /usr/share/locale/locale.alias ${{ matrix.locale }}.UTF-8
- name: Установка лицензии (Linux)
run: |
# Создание каталога
sudo mkdir -p /var/1C/licenses
# Запись лицензии в файл
echo "${{ secrets.ONEC_LICENCE }}" | sudo tee /var/1C/licenses/licence.lic > /dev/null
# Назначение группы владельца каталога
sudo chown root:grp1cv8 /var/1C/licenses/licence.lic
# Назначение прав
sudo chmod 777 -R /var/1C/licenses
shell: bash
env:
ONEC_LICENCE: ${{ secrets.ONEC_LICENCE }}
- name: Создание файла конфигурации conf.cfg (Linux)
run: |
sudo mkdir -p /opt/1cv8/conf/
sudo tee /opt/1cv8/conf/conf.cfg > /dev/null <<EOF
DisableUnsafeActionProtection=.*
SystemLanguage=System
EOF
sudo chown root:grp1cv8 /opt/1cv8/conf/conf.cfg
# Назначение прав
sudo chmod 777 -R /opt/1cv8/conf/
- name: Запуск тестов
uses: coactions/setup-xvfb@v1
with:
run: oscript ./tasks/coverage.os
- name: Извлечение версии пакета
shell: bash
run: echo "version=`cat packagedef | grep ".Версия(" | sed 's|[^"]*"||' | sed -r 's/".+//'`" >> $GITHUB_OUTPUT
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:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
SONAR_TOKEN: ${{ secrets.SONARQUBE_TOKEN }}
SONARQUBE_HOST: ${{ secrets.SONARQUBE_HOST }}
run: sonar-scanner
-Dsonar.host.url=${{ env.SONARQUBE_HOST }}
-Dsonar.branch.name=${{ env.BRANCH_NAME }}
-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_target'
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
SONAR_TOKEN: ${{ secrets.SONARQUBE_TOKEN }}
SONARQUBE_HOST: ${{ secrets.SONARQUBE_HOST }}
run: sonar-scanner
-Dsonar.host.url=${{ env.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 }}