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 }}