2020-04-28 13:00:25 +02:00
|
|
|
name: linux-ci
|
|
|
|
|
|
|
|
on:
|
|
|
|
push:
|
2021-06-05 04:06:58 +02:00
|
|
|
branches: [ main ]
|
2022-07-23 20:26:56 +02:00
|
|
|
tags: ["*.*.*"]
|
2020-04-28 13:00:25 +02:00
|
|
|
pull_request:
|
2021-06-05 04:06:58 +02:00
|
|
|
branches: [ main ]
|
2020-04-28 13:00:25 +02:00
|
|
|
|
2022-06-07 03:08:13 +02:00
|
|
|
permissions:
|
|
|
|
contents: read
|
|
|
|
|
2020-04-28 13:00:25 +02:00
|
|
|
jobs:
|
|
|
|
build:
|
2022-11-30 21:50:16 +01:00
|
|
|
runs-on: ubuntu-20.04
|
2020-04-28 13:00:25 +02:00
|
|
|
|
|
|
|
steps:
|
2023-01-17 19:48:11 +01:00
|
|
|
- name: Checkout
|
|
|
|
uses: actions/checkout@v3
|
|
|
|
- name: Setup Ccache
|
|
|
|
uses: hendrikmuhs/ccache-action@v1.2
|
2023-01-19 23:42:29 +01:00
|
|
|
with:
|
|
|
|
key: ${{ github.job }}-${{ runner.os }}-${{ runner.arch }}
|
2023-01-17 19:48:11 +01:00
|
|
|
- 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
|
2023-01-17 17:09:41 +01:00
|
|
|
run: |
|
|
|
|
ccache --version
|
2023-01-17 19:48:11 +01:00
|
|
|
meson setup build \
|
|
|
|
-Dauto_features=enabled \
|
|
|
|
-Dchafa=disabled \
|
|
|
|
-Dgraphite=enabled \
|
|
|
|
-Doptimization=2 \
|
|
|
|
-Db_coverage=true \
|
2023-03-06 03:40:04 +01:00
|
|
|
-Ddoc_tests=true \
|
2023-01-17 19:48:11 +01:00
|
|
|
-Dragel_subproject=true
|
|
|
|
- name: Build
|
|
|
|
run: meson compile -Cbuild
|
|
|
|
- name: Test
|
2020-04-28 13:00:25 +02:00
|
|
|
run: meson test --print-errorlogs -Cbuild
|
2023-01-17 19:48:11 +01:00
|
|
|
- name: Generate Documentations
|
2020-06-04 00:08:27 +02:00
|
|
|
run: ninja -Cbuild harfbuzz-doc
|
2023-01-17 19:48:11 +01:00
|
|
|
- name: Deploy Documentations
|
2022-07-23 20:26:56 +02:00
|
|
|
if: github.ref_type == 'tag'
|
2020-06-04 00:08:27 +02:00
|
|
|
run: .ci/deploy-docs.sh
|
|
|
|
env:
|
|
|
|
GH_TOKEN: ${{ secrets.GH_TOKEN }}
|
|
|
|
REVISION: ${{ github.sha }}
|
2023-01-17 19:48:11 +01:00
|
|
|
- name: Generate Coverage
|
2021-07-13 13:23:53 +02:00
|
|
|
run: ninja -Cbuild coverage-xml
|
2023-01-17 19:48:11 +01:00
|
|
|
- name: Upload Coverage
|
|
|
|
uses: codecov/codecov-action@v3
|
2020-04-28 13:00:25 +02:00
|
|
|
with:
|
|
|
|
file: build/meson-logs/coverage.xml
|