Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
53 changes: 53 additions & 0 deletions .github/workflows/meson-build.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,53 @@
name: Meson build

on:
workflow_dispatch:
push:
branches: [ main ]
pull_request:
branches: [ main ]

permissions:
contents: read

jobs:
native:
name: native examples (${{ matrix.config }})
runs-on: ubuntu-22.04
strategy:
fail-fast: false
matrix:
include:
- config: nnstreamer and nnstreamer-edge
nnstreamer_dev: nnstreamer-dev
edge_examples: 'yes'
- config: nnstreamer-edge only
nnstreamer_dev: ''
edge_examples: 'no'
steps:
- uses: actions/checkout@v4
- name: Install the build dependencies
run: |
sudo add-apt-repository -y ppa:nnstreamer/ppa
sudo apt-get update
sudo apt-get install -y meson ninja-build pkg-config \
libglib2.0-dev libgstreamer1.0-dev libgstreamer-plugins-base1.0-dev \
libunwind-dev libcairo2-dev nnstreamer-edge-dev ${{ matrix.nnstreamer_dev }}
- name: Build the native examples
run: |
meson setup build
meson compile -C build
- name: Check that the built examples match the dependencies
# nnstreamer-edge.pc puts /usr/include/nnstreamer on the command line on
# its own, so an edge example entered without nnstreamer fails on a
# missing header rather than on a missing dependency.
# https://github.com/nnstreamer/nnstreamer/issues/5017
run: |
for name in performance_benchmark_query performance_benchmark_broadcast; do
bin="build/native/edgeAI_performance_benchmark/${name}"
if [ '${{ matrix.edge_examples }}' = 'yes' ]; then
test -x "${bin}"
else
test ! -e "${bin}"
fi
done
30 changes: 24 additions & 6 deletions .github/workflows/tizen-build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ env:

jobs:
native:
runs-on: ubuntu-20.04
runs-on: ubuntu-24.04
strategy:
matrix:
# Only support tizen-8.0 application for now
Expand All @@ -30,8 +30,17 @@ jobs:
bash ${{ github.workspace }}/installer --accept-license ${{ github.workspace }}/tizen-studio

export PATH=$PATH:${{ github.workspace }}/tizen-studio/package-manager
# python3.8 and the equivs name shims are for noble; drop them once the SDK supports it.
sudo add-apt-repository -y ppa:deadsnakes/ppa
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
sudo apt install -y python3.8 libpython3.8 equivs libkf5itemmodels5 libkf5kiowidgets5 libxcb-render-util0 libkchart2 libxcb-image0 libsdl1.2debian libv4l-0 libxcb-randr0 libxcb-shape0 libxcb-icccm4 gettext bridge-utils openvpn libcurl3-gnutls libglib2.0-0
shims="${RUNNER_TEMP}/tizen-sdk-shims"
mkdir -p "${shims}"
for name in libcurl3-gnutls libglib2.0-0 libv4l-0; do
printf '%s\n' "Section: misc" "Priority: optional" "Standards-Version: 3.9.2" "Package: ${name}" "Version: 99:0" "Description: name shim for the Tizen SDK dependency check" > "${shims}/${name}.ctl"
(cd "${shims}" && equivs-build "${name}.ctl")
done
sudo dpkg -i "${shims}"/*.deb
package-manager-cli.bin install NativeToolchain-Gcc-9.2 NativeCLI TIZEN-8.0 TIZEN-8.0-NativeAppDevelopment
- name: Build Tizen native application
shell: bash
Expand All @@ -46,7 +55,7 @@ jobs:
name: tizen_native_${{ matrix.app }}
path: ${{ matrix.app }}.tpk
web:
runs-on: ubuntu-20.04
runs-on: ubuntu-24.04
strategy:
matrix:
app: ['ImageClassificationSingleShot', 'ImageClassificationPipeline', 'ImageClassificationOffloading', 'ImageClassificationOffloadingYolo']
Expand All @@ -73,7 +82,7 @@ jobs:
- name: Download tflite model
if: ${{ matrix.app == 'ImageClassificationOffloadingYolo' }}
run: |
pip install ultralytics==8.3.3
pip install ultralytics==8.3.3 torch==2.4.1 torchvision==0.19.1
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
Expand All @@ -88,8 +97,17 @@ jobs:
if: ${{ matrix.app == 'ImageClassificationOffloading' }}
run: |
export PATH=$PATH:${{ github.workspace }}/tizen-studio/tools/ide/bin:${{ github.workspace }}/tizen-studio/package-manager
# python3.8 and the equivs name shims are for noble; drop them once the SDK supports it.
sudo add-apt-repository -y ppa:deadsnakes/ppa
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
sudo apt install -y python3.8 libpython3.8 equivs libkf5itemmodels5 libkf5kiowidgets5 libxcb-render-util0 libkchart2 libxcb-image0 libsdl1.2debian libv4l-0 libxcb-randr0 libxcb-shape0 libxcb-icccm4 gettext bridge-utils openvpn libcurl3-gnutls libglib2.0-0
shims="${RUNNER_TEMP}/tizen-sdk-shims"
mkdir -p "${shims}"
for name in libcurl3-gnutls libglib2.0-0 libv4l-0; do
printf '%s\n' "Section: misc" "Priority: optional" "Standards-Version: 3.9.2" "Package: ${name}" "Version: 99:0" "Description: name shim for the Tizen SDK dependency check" > "${shims}/${name}.ctl"
(cd "${shims}" && equivs-build "${name}.ctl")
done
sudo dpkg -i "${shims}"/*.deb
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
Expand All @@ -100,7 +118,7 @@ jobs:
name: tizen_web_${{ matrix.app }}
path: ${{ github.workspace }}/Tizen.web/${{ matrix.app }}/.buildResult/${{ matrix.app }}.wgt
csharp:
runs-on: ubuntu-20.04
runs-on: ubuntu-24.04
strategy:
matrix:
app: ['TextClassification', 'OrientationDetection']
Expand Down
8 changes: 4 additions & 4 deletions native/meson.build
Original file line number Diff line number Diff line change
Expand Up @@ -30,11 +30,11 @@ if have_tensorflow_lite
subdir('example_low_light_image_enhancement')
endif

if nns_edge_dep.found()
if nns_edge_dep.found() and nns_dep.found()
subdir('edgeAI_performance_benchmark')
if nntrainer_dep.found()
subdir('example_training_offloading')
endif
if nntrainer_dep.found()
subdir('example_training_offloading')
endif
endif

if have_caffe2
Expand Down
Loading