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:
|
2022-06-08 14:47:05 +02:00
|
|
|
- uses: actions/checkout@v3
|
2023-01-17 17:09:41 +01:00
|
|
|
- uses: hendrikmuhs/ccache-action@v1.2
|
2020-04-28 13:00:25 +02:00
|
|
|
- name: install dependencies
|
2022-08-24 05:02:06 +02:00
|
|
|
run: sudo apt-get update && sudo apt-get install pkg-config gcc gtk-doc-tools libfreetype6-dev libglib2.0-dev libcairo2-dev libicu-dev libgraphite2-dev python3 python3-setuptools ninja-build gobject-introspection libgirepository1.0-dev
|
2022-04-21 21:24:58 +02:00
|
|
|
- run: sudo pip3 install fonttools meson==0.56.0 gcovr==5.0
|
2020-04-28 13:00:25 +02:00
|
|
|
- name: run
|
2023-01-17 17:09:41 +01:00
|
|
|
run: |
|
|
|
|
ccache --version
|
|
|
|
meson setup build -Db_coverage=true --auto-features=enabled -Dgraphite=enabled -Dchafa=disabled -Dragel_subproject=true -Doptimization=2
|
2020-04-28 13:00:25 +02:00
|
|
|
- name: ci
|
|
|
|
run: meson test --print-errorlogs -Cbuild
|
2020-06-04 00:08:27 +02:00
|
|
|
|
|
|
|
- name: generate documentations
|
|
|
|
run: ninja -Cbuild harfbuzz-doc
|
|
|
|
- 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 }}
|
|
|
|
|
2020-06-09 15:07:36 +02:00
|
|
|
# waiting for https://github.com/rhysd/github-action-benchmark/issues/36 to happen
|
|
|
|
# - name: benchmark
|
|
|
|
# run: build/perf/perf --benchmark_format=json > perf/result.json
|
|
|
|
# - name: store benchmark result
|
|
|
|
# uses: rhysd/github-action-benchmark@b2ee598
|
|
|
|
# if: github.event_name != 'pull_request'
|
|
|
|
# with:
|
|
|
|
# name: C++ Benchmark
|
|
|
|
# tool: 'googlecpp'
|
|
|
|
# output-file-path: perf/result.json
|
|
|
|
# gh-pages-branch: gh-pages
|
|
|
|
# github-token: ${{ secrets.PERSONAL_GITHUB_TOKEN }}
|
|
|
|
# auto-push: true
|
|
|
|
# alert-threshold: '150%'
|
|
|
|
# comment-on-alert: true
|
|
|
|
# fail-on-alert: true
|
|
|
|
|
2020-04-28 13:00:25 +02:00
|
|
|
- name: cov
|
2021-07-13 13:23:53 +02:00
|
|
|
run: ninja -Cbuild coverage-xml
|
2022-07-20 21:01:29 +02:00
|
|
|
- uses: codecov/codecov-action@v3
|
2020-04-28 13:00:25 +02:00
|
|
|
with:
|
|
|
|
file: build/meson-logs/coverage.xml
|