Skip to content

build

build #4

name: build
on:
push:
branches: [ "master" ]
paths:
- 'HarfBuzz/version'
- '.github/workflows/harfbuzz.yml'
workflow_dispatch:
jobs:
build:
strategy:
matrix:
env:
# - os: windows-latest
# identifier: win
# - os: macos-latest
# identifier: osx
- os: ubuntu-latest
identifier: linux
arch: ['x64'] # 'arm64'
name: build-${{ matrix.env.os }}-${{ matrix.arch }}
runs-on: ${{ matrix.env.os }}
steps:
- uses: actions/checkout@v4
- name: install deps (ubuntu)
if: matrix.env.os == 'ubuntu-latest'
run: |
sudo apt-get update && sudo apt-get install -y meson ninja-build nasm
hb_ver=$(cat ./HarfBuzz/version)
git clone --recurse-submodules https://github.com/harfbuzz/harfbuzz.git -b ${hb_ver} --depth=1 harfbuzz-${hb_ver}
cd harfbuzz-${hb_ver}
- name: build harbuzz-static
if: matrix.env.os == 'ubuntu-latest'
run: |
meson --default-library=static -Dtests=disabled -Dintrospection=disabled -Ddocs=disabled -Dexperimental_api=true -Dbuildtype=release build/linux-x64-static
meson compile -C build/linux-x64-static
- name: build harbuzz-shared
if: matrix.env.os == 'ubuntu-latest'
run: |
meson -Dtests=disabled -Dintrospection=disabled -Ddocs=disabled -Dexperimental_api=true -Dbuildtype=release build/linux-x64
meson compile -C build/linux-x64
- name: upload
uses: actions/upload-artifact@v4
with:
name: harbuzz_linux-x64
path: |
build/linux-x64-static/src/*
build/linux-x64/src/*