HarfBuzz text shaping engine
http://harfbuzz.github.io/
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
71 lines
1.8 KiB
71 lines
1.8 KiB
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 -r .ci/requirements.txt --require-hashes |
|
- 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
|
|
|