-
Notifications
You must be signed in to change notification settings - Fork 50
153 lines (136 loc) · 4.76 KB
/
run-tests-linux.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
name: Run tests
on:
workflow_call:
inputs:
v8_version:
description: 'Platform version'
type: string
required: true
locale:
type: string
required: false
default: ru_RU
artifact_name:
type: string
required: true
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}-${{ inputs.v8_version }}-${{ inputs.locale }}
cancel-in-progress: true
jobs:
execute-tests:
runs-on: ubuntu-20.04
- name: download artifact
uses: actions/download-artifact@v3
with:
name: ${{ inputs.artifact_name }}
path: binary
- name: prepare
run: |
sudo DEBIAN_FRONTEND=noninteractive apt-get install -y \
locales \
at-spi2-core \
mesa-utils \
libgl1-mesa-glx
sudo ln -s /usr/lib/x86_64-linux-gnu/libenchant-2.so.2 /usr/lib/libenchant.so.1
sudo localedef -i ${{ inputs.locale }} -c -f UTF-8 -A /usr/share/locale/locale.alias ${{ inputs.locale }}.UTF-8
- name: install platform
uses: IT-Medved/onec-setup-build-env-action@develop
with:
type: onec
onec_version: ${{ inputs.v8_version }}
cache: false
env:
ONEC_USERNAME: ${{ secrets.ONEC_USERNAME }}
ONEC_PASSWORD: ${{ secrets.ONEC_PASSWORD }}
timeout-minutes: 10
- name: install x11
run: sudo apt-get install -y x11-xserver-utils
continue-on-error: true
timeout-minutes: 5
- name: install xserver-dummy
run: sudo apt-get install -y xserver-xorg-video-dummy
timeout-minutes: 5
- name: create dummy-config
uses: DamianReeves/write-file-action@master
with:
path: dummy-1920x1080.conf
contents: |
Section "Monitor"
Identifier "Monitor0"
HorizSync 28.0-80.0
VertRefresh 48.0-75.0
# https://arachnoid.com/modelines/
# 1920x1080 @ 60.00 Hz (GTF) hsync: 67.08 kHz; pclk: 172.80 MHz
Modeline "1920x1080_60.00" 172.80 1920 2040 2248 2576 1080 1081 1084 1118 -HSync +Vsync
EndSection
Section "Device"
Identifier "Card0"
Driver "dummy"
VideoRam 256000
EndSection
Section "Screen"
DefaultDepth 24
Identifier "Screen0"
Device "Card0"
Monitor "Monitor0"
SubSection "Display"
Depth 24
Modes "1920x1080_60.00"
EndSubSection
EndSection
- name: start xserver
run: sudo X :99 -config dummy-1920x1080.conf &
timeout-minutes: 5
- name: create IB
run: ibcmd infobase create --db-path=file-db --load=binary/configuration.cf --apply --force
timeout-minutes: 5
- name: load yaxunit
run: |
ibcmd infobase config load --db-path=file-db --extension=YAXUNIT --force binary/yaxunit.cfe
ibcmd infobase config apply --db-path=file-db --extension=YAXUNIT --force
ibcmd infobase config extension update --db-path=file-db --name=YAXUNIT --safe-mode=no --unsafe-action-protection=no
timeout-minutes: 5
- name: load tests
run: |
ibcmd infobase config load --db-path=file-db --extension=tests --force binary/tests.cfe
ibcmd infobase config apply --db-path=file-db --extension=tests --force
ibcmd infobase config extension update --db-path=file-db --name=tests --safe-mode=no --unsafe-action-protection=no
timeout-minutes: 5
- name: run server
run: |
ibsrv --db-path=file-db --daemon
- name: create test-config
uses: DamianReeves/write-file-action@master
with:
path: unit.json
contents: |
{
"reportFormat": "jUnit",
"reportPath": "reports/report.xml",
"closeAfterTests": true,
"exitCode": "exit-code.txt"
}
- name: run tests
run: |
export LD_PRELOAD=/usr/lib/x86_64-linux-gnu/libstdc++.so.6
export DISPLAY=:99
export LANG=${{ inputs.locale }}.UTF-8
1cv8c /WS "http://localhost:8314" /C"RunUnitTests=${{github.workspace}}/unit.json" /DisableStartupDialogs /DisableStartupMessages /DisableUnrecoverableErrorMessage /Out output.log
timeout-minutes: 5
- name: view output
if: always()
run: cat output.log
- name: upload-artifact
uses: actions/upload-artifact@v3
if: always()
with:
name: report-linux-${{ inputs.v8_version }}-${{ inputs.locale }}
path: reports/*.*
- name: Publish Test Report
uses: mikepenz/action-junit-report@v3
if: always()
with:
report_paths: reports/report.xml
fail_on_failure: true
require_passed_tests: true
update_check: true