-
Notifications
You must be signed in to change notification settings - Fork 71
129 lines (125 loc) · 5.88 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
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
name: Tizen app build
on:
workflow_dispatch:
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
csharp:
runs-on: ubuntu-20.04
strategy:
matrix:
app: ['TextClassification', 'OrientationDetection']
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
- name: Build Tizen .NET application
shell: bash
run: |
export PATH=$PATH:${{ github.workspace }}/tizen-studio/tools/ide/bin
tizen build-cs -- ${{ github.workspace }}/Tizen.NET/${{ matrix.app }}
mkdir -p ${{ github.workspace }}/Tizen.NET/${{ matrix.app }}/tpk
find . -name '*.tpk' -exec mv {} ${{ github.workspace }}/Tizen.NET/${{ matrix.app }}/tpk \;
- name: Upload tpk package
uses: actions/upload-artifact@v4
with:
name: tizen_cs_${{ matrix.app }}
path: ${{ github.workspace }}/Tizen.NET/${{ matrix.app }}/tpk