mirror of
https://github.com/bia-technologies/yaxunit.git
synced 2025-01-05 12:50:36 +02:00
build && tests
This commit is contained in:
parent
d1cf009e4c
commit
36ca3836f5
200
.github/workflows/build.yml
vendored
Normal file
200
.github/workflows/build.yml
vendored
Normal file
@ -0,0 +1,200 @@
|
||||
name: build
|
||||
on:
|
||||
push:
|
||||
branches: [ feature/**, develop ]
|
||||
concurrency:
|
||||
group: ${{ github.workflow }}-${{ github.ref }}
|
||||
cancel-in-progress: true
|
||||
jobs:
|
||||
build-dev:
|
||||
runs-on: ubuntu-20.04
|
||||
env:
|
||||
V8_VERSION: 8.3.21.1895
|
||||
EDT_VERSION: 2023.1.2
|
||||
IB_PATH: file-db
|
||||
steps:
|
||||
- uses: actions/checkout@v3
|
||||
with:
|
||||
submodules: recursive
|
||||
|
||||
- name: install x11 (for run tests)
|
||||
run: |
|
||||
{
|
||||
sudo apt-get install -y x11-xserver-utils
|
||||
} || set +e
|
||||
continue-on-error: true
|
||||
timeout-minutes: 5
|
||||
|
||||
- name: install xserver-dummy (for run tests)
|
||||
run: sudo apt-get install -y xserver-xorg-video-dummy
|
||||
timeout-minutes: 5
|
||||
|
||||
- name: create dummy-config (for run tests)
|
||||
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 (for run tests)
|
||||
run: sudo X :99 -config dummy-1920x1080.conf &
|
||||
timeout-minutes: 5
|
||||
|
||||
- name: prepare
|
||||
run: |
|
||||
mkdir export
|
||||
mkdir binary
|
||||
mkdir file-db
|
||||
mkdir reports
|
||||
- name: thinck client libs
|
||||
run: |
|
||||
sudo ln -s /usr/lib/x86_64-linux-gnu/libenchant-2.so.2 /usr/lib/libenchant.so.1
|
||||
sudo DEBIAN_FRONTEND=noninteractive apt-get install -y \
|
||||
at-spi2-core \
|
||||
mesa-utils \
|
||||
libgl1-mesa-glx
|
||||
timeout-minutes: 5
|
||||
|
||||
- name: install EDT
|
||||
uses: IT-Medved/onec-setup-build-env-action@develop
|
||||
with:
|
||||
type: edt
|
||||
edt_version: ${{ env.EDT_VERSION }}
|
||||
cache: true
|
||||
env:
|
||||
ONEC_USERNAME: ${{ secrets.ONEC_USERNAME }}
|
||||
ONEC_PASSWORD: ${{ secrets.ONEC_PASSWORD }}
|
||||
timeout-minutes: 10
|
||||
|
||||
- name: install Onec Platform
|
||||
uses: IT-Medved/onec-setup-build-env-action@develop
|
||||
with:
|
||||
type: onec
|
||||
onec_version: ${{ env.V8_VERSION }}
|
||||
cache: false
|
||||
env:
|
||||
ONEC_USERNAME: ${{ secrets.ONEC_USERNAME }}
|
||||
ONEC_PASSWORD: ${{ secrets.ONEC_PASSWORD }}
|
||||
timeout-minutes: 10
|
||||
|
||||
- name: export configuration
|
||||
uses: IT-Medved/onec-edtcli-command-action@feature/init
|
||||
with:
|
||||
export: true
|
||||
from: fixtures/demo-configuration
|
||||
to: export/configuration
|
||||
timeout-minutes: 5
|
||||
|
||||
- name: export yaxunit extension
|
||||
uses: IT-Medved/onec-edtcli-command-action@feature/init
|
||||
with:
|
||||
export: true
|
||||
from: exts/yaxunit
|
||||
to: export/yaxunit
|
||||
timeout-minutes: 5
|
||||
|
||||
- name: export tests extension
|
||||
uses: IT-Medved/onec-edtcli-command-action@feature/init
|
||||
with:
|
||||
export: true
|
||||
from: tests
|
||||
to: export/tests
|
||||
timeout-minutes: 5
|
||||
|
||||
- name: create IB
|
||||
run: ibcmd infobase create --db-path=file-db --import=export/configuration --apply --force
|
||||
timeout-minutes: 5
|
||||
|
||||
- name: import yaxunit
|
||||
run: |
|
||||
ibcmd infobase config import --db-path=file-db --extension=YAXUNIT export/yaxunit
|
||||
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: import tests
|
||||
run: |
|
||||
ibcmd infobase config import --db-path=file-db --extension=tests export/tests
|
||||
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: save yaxunit extension
|
||||
run: ibcmd infobase config save --db-path=file-db --extension=YAXUNIT binary/YAXUNIT.cfe
|
||||
timeout-minutes: 5
|
||||
|
||||
- name: save stage
|
||||
run: ibcmd infobase dump --db-path=file-db binary/dump.dt
|
||||
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
|
||||
1cv8c /WS "http://localhost:8314" /C"RunUnitTests=${{github.workspace}}/unit.json" /DisableStartupDialogs /DisableStartupMessages /DisableUnrecoverableErrorMessage /Out output.log
|
||||
timeout-minutes: 5
|
||||
|
||||
- name: view output
|
||||
if: success() || failure()
|
||||
run: cat output.log
|
||||
|
||||
- name: upload-artifact
|
||||
uses: actions/upload-artifact@v3
|
||||
if: success() || failure() # always run even if the previous step fails
|
||||
with:
|
||||
name: stage
|
||||
path: binary/*.*
|
||||
|
||||
- name: upload-artifact
|
||||
uses: actions/upload-artifact@v3
|
||||
if: success() || failure() # always run even if the previous step fails
|
||||
with:
|
||||
name: reports
|
||||
path: reports/*.*
|
||||
|
||||
- name: Publish Test Report
|
||||
uses: mikepenz/action-junit-report@v3
|
||||
if: success() || failure() # always run even if the previous step fails
|
||||
with:
|
||||
report_paths: reports/report.xml
|
||||
fail_on_failure: true
|
||||
require_passed_tests: true
|
||||
update_check: true
|
Loading…
Reference in New Issue
Block a user