Skip to content

Commit

Permalink
decomposition
Browse files Browse the repository at this point in the history
  • Loading branch information
alkoleft committed Aug 26, 2023
1 parent eab6df8 commit e07f72e
Show file tree
Hide file tree
Showing 3 changed files with 236 additions and 128 deletions.
160 changes: 32 additions & 128 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
@@ -1,90 +1,35 @@
name: build
name: Build
on:
push:
branches: [ feature/**, develop ]
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
workflow_call:
inputs:
v8_version:
type: string
required: true
edt_version:
type: string
required: true
artifact_name:
type: string
required: 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

- uses: actions/checkout@v3n

- name: prepare
run: |
mkdir export
mkdir binary
mkdir file-db
mkdir reports
sudo apt-get install -y locales
sudo localedef -i ru_RU -c -f UTF-8 -A /usr/share/locale/locale.alias ru_RU.UTF-8
- 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: 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 }}
edt_version: ${{ inputs.edt_version }}
cache: true
env:
ONEC_USERNAME: ${{ secrets.ONEC_USERNAME }}
Expand All @@ -95,7 +40,7 @@ jobs:
uses: IT-Medved/onec-setup-build-env-action@develop
with:
type: onec
onec_version: ${{ env.V8_VERSION }}
onec_version: ${{ inputs.v8_version }}
cache: false
env:
ONEC_USERNAME: ${{ secrets.ONEC_USERNAME }}
Expand All @@ -108,97 +53,56 @@ jobs:
export: true
from: fixtures/demo-configuration
to: export/configuration
timeout-minutes: 5
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
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
timeout-minutes: 5

- name: create IB
run: ibcmd infobase create --db-path=file-db --import=export/configuration --apply --force
timeout-minutes: 5
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
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
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 yaxunit
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: save yaxunit
run: ibcmd infobase config save --db-path=file-db --extension=tests binary/tests.cfe
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=ru_RU.UTF-8
1cv8c /WS "http://localhost:8314" /C"RunUnitTests=${{github.workspace}}/unit.json" /DisableStartupDialogs /DisableStartupMessages /DisableUnrecoverableErrorMessage /Out output.log
- name: save yaxunit
run: ibcmd infobase config save --db-path=file-db binary/configuration.cf
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
name: ${{ inputs.artifact_name }}
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
51 changes: 51 additions & 0 deletions .github/workflows/main-build.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,51 @@
name: Build and test
on:
push:
branches: [ feature/**, develop ]
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true

env:
v8_version: 8.3.21.1895

jobs:
build-artifacts:
uses: ./.github/workflows/build.yml
with:
v8_version: ${{ env.v8_version }}
edt_version: 2023.1.2
artifact_name: build-artifacts
secrets: inherit

tests Linux;ru_RU:
uses: ./.github/workflows/run-tests-linux.yml
need: build-artifacts
with:
v8_version: ${{ env.v8_version }}
artifact_name: build-artifacts
secrets: inherit

tests Linux;en_US:
uses: ./.github/workflows/run-tests-linux.yml
need: build-artifacts
with:
v8_version: ${{ env.v8_version }}
artifact_name: build-artifacts
secrets: inherit

tests Windows;ru_RU:
uses: ./.github/workflows/run-tests-windows.yml
need: build-artifacts
with:
v8_version: ${{ env.v8_version }}
artifact_name: build-artifacts
secrets: inherit

tests MacOS;ru_RU:
uses: ./.github/workflows/run-tests-macos.yml
need: build-artifacts
with:
v8_version: ${{ env.v8_version }}
artifact_name: build-artifacts
secrets: inherit
Loading

0 comments on commit e07f72e

Please sign in to comment.