infra bot: Add Memcheck bot (valgrind)
[platform/core/graphics/tizenvg.git] / .github / workflows / actions.yml
1 name: Build Linux
2
3 on:
4   pull_request:
5     branches:
6       - master
7   push:
8     branches:
9       - master
10
11 jobs:
12   build:
13     runs-on: ubuntu-18.04
14     steps:
15     - uses: actions/checkout@v2
16       with:
17         submodules: true
18
19     - name: Install Packages
20       run: |
21         sudo apt-get update
22         sudo apt-get install ninja-build gcc-multilib g++-multilib meson
23
24     - name: Install TurboJPEG library
25       run: sudo apt-get install libturbojpeg0-dev libjpeg8-dev
26
27     - name: Build
28       run: |
29         meson . build -Dlog=true -Dloaders="svg, tvg, png, jpg" -Dsavers="tvg"
30         cd build
31         sudo ninja -C . install
32
33   examples:
34     runs-on: ubuntu-18.04
35     steps:
36     - uses: actions/checkout@v2
37       with:
38         submodules: true
39
40     - name: Install Packages
41       run: |
42         sudo add-apt-repository ppa:niko2040/e19
43         sudo apt-get install ninja-build gcc-multilib g++-multilib meson
44         sudo apt-get install libefl-dev
45
46     - name: Install TurboJPEG library
47       run: sudo apt-get install libturbojpeg0-dev libjpeg8-dev
48
49     - name: Build
50       run: |
51         meson . build -Dexamples=true -Dloaders="svg, tvg, png, jpg" -Dsavers="tvg"
52         cd build
53         sudo ninja -C . install
54
55   unit_test:
56     runs-on: ubuntu-18.04
57     steps:
58     - uses: actions/checkout@v2
59       with:
60         submodules: true
61
62     - name: Install Packages
63       run: |
64         sudo apt-get update
65         sudo apt-get install ninja-build gcc-multilib g++-multilib libgtest-dev meson cmake cmake-data libasan5 valgrind
66         sudo apt-get install curl jq
67         sudo apt-get install software-properties-common
68
69     - name: Install TurboJPEG library
70       run: sudo apt-get install libturbojpeg0-dev libjpeg8-dev
71
72     - name: Install-ThorVG
73       run: |
74         meson . build -Dloaders="svg, tvg, png, jpg" -Dsavers="tvg" -Dbindings="capi"
75         cd build
76         sudo ninja -C . install
77         cd ..
78         sudo rm -rf ./build
79
80     - name: Build
81       run: |
82         meson . build -Dtests=true -Dloaders="svg, tvg, png, jpg" -Dsavers="tvg" -Dbindings="capi" --errorlogs
83         cd build
84         sudo ninja -C . install test
85
86     - uses: actions/upload-artifact@v2
87       with:
88         name: UnitTestReport
89         path: build/meson-logs/testlog.txt
90
91     - name: Run memcheck Script(valgrind)
92       run: |
93         export PATH=$PATH:~/.local/bin/
94         chmod +x "${GITHUB_WORKSPACE}/.github/workflows/memcheck_valgrind.sh"
95         "${GITHUB_WORKSPACE}/.github/workflows/memcheck_valgrind.sh"
96       env:
97         GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
98