thorvg/.github/workflows/actions.yml
Hermet Park d694e6adef infra github: updated script
Specify the build option "all" for the future expansion.
2023-04-13 10:56:04 +09:00

116 lines
3.1 KiB
YAML

name: Build Linux
on:
pull_request:
branches:
- master
push:
branches:
- master
jobs:
build:
runs-on: ubuntu-20.04
steps:
- uses: actions/checkout@v2
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: Install TurboJPEG library
run: sudo apt-get install libturbojpeg0-dev libjpeg8-dev
- name: Build
run: |
meson . build -Dlog=true -Dloaders="all" -Dsavers="all"
cd build
sudo ninja -C . install
examples:
runs-on: ubuntu-20.04
steps:
- uses: actions/checkout@v2
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 libefl-all-dev
sudo apt-get install python3-pip
sudo pip3 install meson
- name: Install TurboJPEG library
run: sudo apt-get install libturbojpeg0-dev libjpeg8-dev
- name: Build
run: |
meson . build -Dexamples=true -Dloaders="all" -Dsavers="all"
cd build
sudo ninja -C . install
unit_test:
runs-on: ubuntu-20.04
steps:
- uses: actions/checkout@v2
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 pip3 install meson
- name: Install TurboJPEG library
run: sudo apt-get install libturbojpeg0-dev libjpeg8-dev
- name: Install-ThorVG
run: |
meson . build -Dloaders="all" -Dsavers="all" -Dbindings="capi"
cd build
sudo ninja -C . install
cd ..
sudo rm -rf ./build
- name: Build
run: |
meson . build -Dtests=true -Dloaders="all" -Dsavers="all" -Dbindings="capi" --errorlogs
cd build
sudo ninja -C . install test
- uses: actions/upload-artifact@v2
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 . build -Db_sanitize="address,undefined" -Dloaders="all" -Dsavers="all" -Dtests="true" -Dbindings="capi"
cd build
sudo ninja -C . 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 }}