name: Linux on: pull_request: branches: - master push: branches: - master jobs: build: runs-on: ubuntu-20.04 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 apt-get install libturbojpeg0-dev libpng-dev libwebp-dev sudo pip3 install meson - name: Build run: | meson . build -Dlog=true -Dloaders="all, webp_beta" -Dsavers="all" -Dbindings="capi" -Dtools="all" sudo ninja -C build install static_loaders: runs-on: ubuntu-20.04 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 . build -Dlog=true -Dloaders="all" -Dsavers="all" -Dbindings="capi" -Dtools="all" -Dstatic=true sudo ninja -C build install examples: runs-on: ubuntu-20.04 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 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 . build -Dexamples=true -Dloaders="all, webp_beta" -Dsavers="all" -Dbindings="capi" sudo ninja -C build install unit_test: runs-on: ubuntu-20.04 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 . build -Dtests=true -Dloaders="all, webp_beta" -Dsavers="all" -Dbindings="capi" --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 . build -Db_sanitize="address,undefined" -Dloaders="all, webp_beta" -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 }}