mirror of
https://github.com/thorvg/thorvg.git
synced 2025-06-21 15:32:49 +00:00

Built to libwebp code in to support the static option of webp loader. Code from :https://github.com/jacklicn/libwebp This forking version only contains the minimal webp decoding feature. Binary Size: +68kb Co-authored-by: Hermet Park <hermet@lottiefiles.com> issue: https://github.com/thorvg/thorvg/issues/1427
96 lines
2.8 KiB
YAML
96 lines
2.8 KiB
YAML
name: Ubuntu
|
|
|
|
on:
|
|
pull_request:
|
|
branches:
|
|
- main
|
|
push:
|
|
branches:
|
|
- main
|
|
|
|
jobs:
|
|
build:
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- uses: actions/checkout@v3
|
|
with:
|
|
submodules: true
|
|
|
|
- name: Install Packages
|
|
run: |
|
|
sudo apt-get update
|
|
sudo apt-get install ninja-build gcc-multilib g++-multilib libunwind-dev
|
|
sudo apt-get install libefl-all-dev
|
|
sudo apt-get install python3-pip
|
|
sudo apt-get install libturbojpeg0-dev libpng-dev libwebp-dev
|
|
sudo pip3 install meson
|
|
|
|
- name: Build
|
|
run: |
|
|
meson setup build -Dlog=true -Dexamples=true -Dloaders="all" -Dsavers="all" -Dbindings="capi" -Dtools="all"
|
|
sudo ninja -C build install
|
|
|
|
static_loaders:
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- uses: actions/checkout@v3
|
|
with:
|
|
submodules: true
|
|
|
|
- name: Install Packages
|
|
run: |
|
|
sudo apt-get update
|
|
sudo apt-get install ninja-build gcc-multilib g++-multilib
|
|
sudo apt-get install python3-pip
|
|
sudo pip3 install meson
|
|
|
|
- name: Build
|
|
run: |
|
|
meson setup build -Dlog=true -Dloaders="all" -Dsavers="all" -Dbindings="capi" -Dtools="all" -Dstatic=true
|
|
sudo ninja -C build install
|
|
|
|
unit_test:
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- uses: actions/checkout@v3
|
|
with:
|
|
submodules: true
|
|
|
|
- name: Install Packages
|
|
run: |
|
|
sudo apt-get update
|
|
sudo apt-get install ninja-build gcc-multilib g++-multilib libgtest-dev cmake cmake-data libasan5 valgrind
|
|
sudo apt-get install curl jq
|
|
sudo apt-get install software-properties-common
|
|
sudo apt-get install python3-pip
|
|
sudo apt-get install libturbojpeg0-dev libpng-dev libwebp-dev
|
|
sudo pip3 install meson
|
|
|
|
- name: Build
|
|
run: |
|
|
meson setup build -Dloaders="all" -Dsavers="all" -Dbindings="capi" -Dtests=true --errorlogs
|
|
sudo ninja -C build install test
|
|
|
|
- uses: actions/upload-artifact@v3
|
|
with:
|
|
name: UnitTestReport
|
|
path: build/meson-logs/testlog.txt
|
|
|
|
- name: Run memcheck Script(valgrind)
|
|
run: |
|
|
export PATH=$PATH:~/.local/bin/
|
|
chmod +x "${GITHUB_WORKSPACE}/.github/workflows/memcheck_valgrind.sh"
|
|
"${GITHUB_WORKSPACE}/.github/workflows/memcheck_valgrind.sh"
|
|
env:
|
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
|
|
|
- name: Build & Run memcheck Script(ASAN)
|
|
run: |
|
|
sudo rm -rf ./build
|
|
meson setup build -Db_sanitize="address,undefined" -Dloaders="all" -Dsavers="all" -Dtests="true" -Dbindings="capi"
|
|
sudo ninja -C build install
|
|
export PATH=$PATH:~/.local/bin/
|
|
chmod +x "${GITHUB_WORKSPACE}/.github/workflows/memcheck_asan.sh"
|
|
"${GITHUB_WORKSPACE}/.github/workflows/memcheck_asan.sh"
|
|
env:
|
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|