-
Notifications
You must be signed in to change notification settings - Fork 71
100 lines (96 loc) · 4.7 KB
/
tizen-build.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
name: Tizen app build
on:
push:
branches: [ main ]
pull_request:
branches: [ main ]
env:
TIZEN_STUDIO_URL: "http://download.tizen.org/sdk/Installer/tizen-studio_5.6/web-cli_Tizen_Studio_5.6_ubuntu-64.bin"
jobs:
native:
runs-on: ubuntu-20.04
strategy:
matrix:
# Only support tizen-8.0 application for now
app: ['yolo_model_training']
steps:
- uses: actions/checkout@v4
with:
ref: ${{ github.event.pull_request.head.sha }}
fetch-depth: -${{ github.event.pull_request.commits }}
- name: Install Tizen Studio
shell: bash
run: |
wget -nc -O ${{ github.workspace }}/installer $TIZEN_STUDIO_URL
chmod a+x ${{ github.workspace }}/installer
bash ${{ github.workspace }}/installer --accept-license ${{ github.workspace }}/tizen-studio
export PATH=$PATH:${{ github.workspace }}/tizen-studio/package-manager
sudo apt update
sudo apt install -y libpython2.7 libkf5itemmodels5 libkf5kiowidgets5 libxcb-render-util0 libkchart2 libxcb-image0 libsdl1.2debian libv4l-0 libxcb-randr0 libxcb-shape0 libxcb-icccm4 gettext bridge-utils openvpn
package-manager-cli.bin install NativeToolchain-Gcc-9.2 NativeCLI TIZEN-8.0 TIZEN-8.0-NativeAppDevelopment
- name: Build Tizen native application
shell: bash
run: |
export PATH=$PATH:${{ github.workspace }}/tizen-studio/tools/ide/bin
tizen build-native -a arm -c llvm -C Debug -- ${{ github.workspace }}/Tizen.native/${{ matrix.app }}
tizen package -t tpk -- ${{ github.workspace }}/Tizen.native/${{ matrix.app }}/Debug
mv ${{ github.workspace }}/Tizen.native/${{ matrix.app }}/Debug/*${{ matrix.app }}*.tpk ${{ matrix.app }}.tpk
- name: Upload tpk package
uses: actions/upload-artifact@v4
with:
name: tizen_native_${{ matrix.app }}
path: ${{ matrix.app }}.tpk
web:
runs-on: ubuntu-20.04
strategy:
matrix:
app: ['ImageClassificationSingleShot', 'ImageClassificationPipeline', 'ImageClassificationOffloading', 'ImageClassificationOffloadingYolo']
steps:
- uses: actions/setup-python@v5
with:
python-version: '3.11'
- uses: actions/checkout@v4
with:
ref: ${{ github.event.pull_request.head.sha }}
fetch-depth: -${{ github.event.pull_request.commits }}
- name: Lint check
run: |
pushd Tizen.web
npm i -g eslint
npm i
eslint --config eslint.config.mjs .
popd
- name: Install Tizen Studio
run: |
wget -nc -O ${{ github.workspace }}/installer $TIZEN_STUDIO_URL
chmod a+x ${{ github.workspace }}/installer
bash ${{ github.workspace }}/installer --accept-license ${{ github.workspace }}/tizen-studio
- name: Download tflite model
if: ${{ matrix.app == 'ImageClassificationOffloadingYolo' }}
run: |
pip install ultralytics
python3 ${{ github.workspace }}/Tizen.web/${{ matrix.app }}/get_tflite_model.py
mv yolov8s_saved_model/yolov8s_float32.tflite ${{ github.workspace }}/Tizen.web/${{ matrix.app }}/res
shell: bash
- name: Build Tizen web application
shell: bash
run: |
export PATH=$PATH:${{ github.workspace }}/tizen-studio/tools/ide/bin
tizen build-web -- ${{ github.workspace }}/Tizen.web/${{ matrix.app }}
tizen package -t wgt -- ${{ github.workspace }}/Tizen.web/${{ matrix.app }}/.buildResult
- name: Build native service and create hybrid application
shell: bash
if: ${{ matrix.app == 'ImageClassificationOffloading' }}
run: |
export PATH=$PATH:${{ github.workspace }}/tizen-studio/tools/ide/bin:${{ github.workspace }}/tizen-studio/package-manager
sudo apt update
sudo apt install -y libpython2.7 libkf5itemmodels5 libkf5kiowidgets5 libxcb-render-util0 libkchart2 libxcb-image0 libsdl1.2debian libv4l-0 libxcb-randr0 libxcb-shape0 libxcb-icccm4 gettext bridge-utils openvpn
package-manager-cli.bin install NativeToolchain-Gcc-9.2 NativeCLI TIZEN-8.0 TIZEN-8.0-NativeAppDevelopment
tizen build-native -a arm -c llvm -C Debug -- ${{ github.workspace }}/Tizen.web/ImageClassificationOffloadingService
tizen package -t tpk -- ${{ github.workspace }}/Tizen.web/ImageClassificationOffloadingService/Debug
tizen package -t wgt -r ${{ github.workspace }}/Tizen.web/ImageClassificationOffloadingService/Debug/EQmf4iSfpX-1.0.0-arm.tpk -- ${{ github.workspace }}/Tizen.web/${{ matrix.app }}/.buildResult/${{ matrix.app }}.wgt
- name: Upload wgt package
uses: actions/upload-artifact@v4
with:
name: tizen_web_${{ matrix.app }}
path: ${{ github.workspace }}/Tizen.web/${{ matrix.app }}/.buildResult/${{ matrix.app }}.wgt