name: linux-ci on: push: branches: [ main ] tags: ["*.*.*"] pull_request: branches: [ main ] permissions: contents: read jobs: build: runs-on: ubuntu-20.04 steps: - name: Checkout uses: actions/checkout@v3 - name: Setup Ccache uses: hendrikmuhs/ccache-action@v1.2 with: key: ${{ github.job }}-${{ runner.os }}-${{ runner.arch }} - name: Install Dependencies run: | sudo apt-get update sudo apt-get install \ gcc \ gobject-introspection \ gtk-doc-tools \ libcairo2-dev \ libfreetype6-dev \ libgirepository1.0-dev \ libglib2.0-dev \ libgraphite2-dev \ libicu-dev \ ninja-build \ pkg-config \ python3 \ python3-setuptools - name: Install Python Dependencies run: sudo pip3 install fonttools meson==0.56.0 gcovr==5.0 - name: Setup Meson run: | ccache --version meson setup build \ -Dauto_features=enabled \ -Dchafa=disabled \ -Dgraphite=enabled \ -Doptimization=2 \ -Db_coverage=true \ -Ddoc_tests=true \ -Dragel_subproject=true - name: Build run: meson compile -Cbuild - name: Test run: meson test --print-errorlogs -Cbuild - name: Generate Documentations run: ninja -Cbuild harfbuzz-doc - name: Deploy Documentations if: github.ref_type == 'tag' run: .ci/deploy-docs.sh env: GH_TOKEN: ${{ secrets.GH_TOKEN }} REVISION: ${{ github.sha }} - name: Generate Coverage run: ninja -Cbuild coverage-xml - name: Upload Coverage uses: codecov/codecov-action@v3 with: file: build/meson-logs/coverage.xml