4
4
5
5
name : Контроль качества
6
6
7
- on : [push, pull_request]
7
+ on :
8
+ push :
9
+ pull_request_target :
10
+ workflow_dispatch :
11
+
8
12
jobs :
9
- build :
13
+ sonar :
10
14
if : github.repository == 'oscript-library/gitsync-plugins'
11
15
runs-on : ${{ matrix.os }}
12
16
strategy :
13
17
fail-fast : false
14
18
matrix :
15
19
os : [ubuntu-latest]
16
20
oscript_version : ['1.9.2']
21
+ v8_version : ['8.3.24.1691']
22
+ edt_version : ['2024.2.5']
23
+ locale : ['ru_RU']
17
24
18
25
steps :
19
26
- name : Актуализация
@@ -36,22 +43,84 @@ jobs:
36
43
opm install --dev
37
44
opm install gitsync # TODO: должно быть необязательно
38
45
46
+ - name : Подготовка окружения (Linux)
47
+ if : startsWith(matrix.os, 'ubuntu')
48
+ run : |
49
+ sudo apt-get update
50
+ sudo DEBIAN_FRONTEND=noninteractive apt-get install -y locales libwebkit2gtk-4.0-37
51
+ sudo localedef -i ${{ matrix.locale }} -c -f UTF-8 -A /usr/share/locale/locale.alias ${{ matrix.locale }}.UTF-8
52
+
53
+ - name : Установка wine для Tool1CD (Linux)
54
+ if : startsWith(matrix.os, 'ubuntu')
55
+ run : |
56
+ sudo dpkg --add-architecture i386
57
+ sudo apt update
58
+ sudo apt install wine -y
59
+
60
+ - name : Установка платформы 1С
61
+ uses : 1CDevFlow/onec-setup-action@main
62
+ with :
63
+ type : onec # Тип устанавливаемого приложения
64
+ onec_version : ${{ matrix.v8_version }}
65
+ cache : true
66
+ cache_distr : true
67
+ env :
68
+ ONEC_USERNAME : ${{ secrets.ONEC_USERNAME }}
69
+ ONEC_PASSWORD : ${{ secrets.ONEC_PASSWORD }}
70
+
71
+ - name : Установка Java 17
72
+ uses : actions/setup-java@v4
73
+ with :
74
+ distribution : ' temurin'
75
+ java-version : ' 17'
76
+
77
+ - name : Установка EDT
78
+ uses : 1CDevFlow/onec-setup-action@main
79
+ with :
80
+ type : edt
81
+ edt_version : ${{ matrix.edt_version }}
82
+ cache : true
83
+ cache_distr : true
84
+ env :
85
+ ONEC_USERNAME : ${{ secrets.ONEC_USERNAME }}
86
+ ONEC_PASSWORD : ${{ secrets.ONEC_PASSWORD }}
87
+
88
+ - name : Установка лицензии (Linux)
89
+ if : startsWith(matrix.os, 'ubuntu')
90
+ run : |
91
+ # Создание каталога
92
+ sudo mkdir -p /var/1C/licenses
93
+
94
+ # Запись лицензии в файл
95
+ echo "${{ secrets.ONEC_LICENSE }}" | sudo tee /var/1C/licenses/licence.lic > /dev/null
96
+
97
+ # Назначение прав
98
+ sudo chmod 777 -R /var/1C/licenses
99
+ shell : bash
100
+ env :
101
+ ONEC_LICENSE : ${{ secrets.ONEC_LICENSE }}
102
+
39
103
- name : Установка gitsync локально
40
104
run : opm run install-gitsync
41
105
42
106
- name : Покрытие кода
43
- run : oscript ./tasks/coverage.os true
107
+ uses : coactions/setup-xvfb@v1
108
+ env :
109
+ EDT_VERSION : ${{ matrix.edt_version }}
110
+ GITSYNC_V8VERSION : ${{ matrix.v8_version }}
111
+ with :
112
+ run : opm run coverage
44
113
45
114
- name : Извлечение версии пакета
46
115
shell : bash
47
116
run : echo "##[set-output name=version;]`cat packagedef | grep ".Версия(" | sed 's|[^"]*"||' | sed -r 's/".+//'`"
48
117
id : extract_version
49
118
50
119
- name : Установка Sonar-scanner
51
- uses : warchant/setup-sonar-scanner@v7
120
+ uses : warchant/setup-sonar-scanner@v8
52
121
53
122
- name : Анализ в SonarQube (branch)
54
- if : github.event_name == 'push'
123
+ if : github.event_name == 'push' || github.event_name == 'workflow_dispatch'
55
124
run : sonar-scanner
56
125
-Dsonar.login=${{ secrets.SONARQUBE_TOKEN }}
57
126
-Dsonar.host.url=${{ secrets.SONARQUBE_HOST }}
0 commit comments