2021-07-13 01:12:43 +02:00
|
|
|
name: macos-ci
|
|
|
|
|
|
|
|
on:
|
|
|
|
push:
|
|
|
|
branches: [ main ]
|
|
|
|
pull_request:
|
|
|
|
branches: [ main ]
|
|
|
|
|
2022-06-07 03:08:13 +02:00
|
|
|
permissions:
|
|
|
|
contents: read
|
|
|
|
|
2021-07-13 01:12:43 +02:00
|
|
|
jobs:
|
|
|
|
build:
|
2022-07-20 20:02:38 +02:00
|
|
|
runs-on: macos-latest
|
2021-07-13 01:12:43 +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: |
|
|
|
|
export HOMEBREW_NO_AUTO_UPDATE=1
|
2023-01-19 21:38:36 +01:00
|
|
|
export HOMEBREW_NO_INSTALL_CLEANUP=1
|
2023-01-17 19:48:11 +01:00
|
|
|
brew install \
|
|
|
|
cairo \
|
|
|
|
freetype \
|
|
|
|
glib \
|
|
|
|
gobject-introspection \
|
|
|
|
graphite2 \
|
|
|
|
icu4c \
|
|
|
|
meson \
|
|
|
|
ninja \
|
|
|
|
pkg-config
|
|
|
|
- name: Install Python Dependencies
|
2023-01-19 21:55:11 +01:00
|
|
|
run: pip3 install fonttools gcovr==5.0
|
2023-01-17 19:48:11 +01:00
|
|
|
- name: Setup Meson
|
2023-01-17 17:09:41 +01:00
|
|
|
run: |
|
|
|
|
export PKG_CONFIG_PATH="/usr/local/opt/icu4c/lib/pkgconfig:/usr/local/opt/libffi/lib/pkgconfig"
|
|
|
|
ccache --version
|
2023-01-17 19:48:11 +01:00
|
|
|
meson setup build \
|
|
|
|
-Dauto_features=enabled \
|
2023-01-19 21:41:49 +01:00
|
|
|
-Ddocs=disabled \
|
2023-01-17 19:48:11 +01:00
|
|
|
-Dchafa=disabled \
|
|
|
|
-Dcoretext=enabled \
|
|
|
|
-Dgraphite=enabled \
|
2023-01-19 21:55:11 +01:00
|
|
|
-Doptimization=2 \
|
|
|
|
-Db_coverage=true \
|
2023-01-17 19:48:11 +01:00
|
|
|
- name: Build
|
|
|
|
run: meson compile -Cbuild
|
|
|
|
- name: Test
|
2021-07-13 01:12:43 +02:00
|
|
|
run: meson test --print-errorlogs -Cbuild
|
2023-01-19 21:55:11 +01:00
|
|
|
- name: Generate Coverage
|
|
|
|
run: ninja -Cbuild coverage-xml
|
|
|
|
- name: Upload Coverage
|
|
|
|
uses: codecov/codecov-action@v3
|
|
|
|
with:
|
|
|
|
file: build/meson-logs/coverage.xml
|