[ci] Build win64 binaries as well

This commit is contained in:
Khaled Hosny 2021-08-15 17:24:51 +02:00
parent 44802c8ec4
commit ddb4f9b967
2 changed files with 60 additions and 0 deletions

27
.ci/build-win64.sh Normal file
View File

@ -0,0 +1,27 @@
#!/bin/bash
set -e
meson --cross-file=.ci/win64-cross-file.txt \
--wrap-mode=forcefallback \
--buildtype=release \
-Dtests=disabled \
-Dcairo=enabled \
-Dcairo:fontconfig=disabled \
-Dglib=enabled \
-Dfreetype=enabled \
-Dgdi=enabled \
-Ddirectwrite=enabled \
-Dcairo=enabled \
win64build \
$@
ninja -Cwin64build -j3 # building with all the cores won't work fine with CricleCI for some reason
rm -rf win64build/harfbuzz-win64
mkdir win64build/harfbuzz-win64
cp win64build/util/hb-*.exe win64build/harfbuzz-win64
find win64build -name '*.dll' -exec cp {} win64build/harfbuzz-win64 \;
x86_64-w64-mingw32-strip win64build/harfbuzz-win64/*.{dll,exe}
rm -f harfbuzz-win64.zip
(cd win64build && zip -r ../harfbuzz-win64.zip harfbuzz-win64)
echo "harfbuzz-win64.zip is ready."

View File

@ -126,6 +126,30 @@ jobs:
mv harfbuzz-win32{,-$CIRCLE_TAG}.zip mv harfbuzz-win32{,-$CIRCLE_TAG}.zip
.ci/publish_release_artifact.sh harfbuzz-win32-$CIRCLE_TAG.zip .ci/publish_release_artifact.sh harfbuzz-win32-$CIRCLE_TAG.zip
crossbuild-win64:
executor: win32-executor
steps:
- checkout
- run: sudo apt update && DEBIAN_FRONTEND=noninteractive sudo apt install -y ninja-build gtk-doc-tools python3 python3-pip git g++-mingw-w64-x86-64 zip
- run: pip3 install meson==0.56.0 --upgrade
- run: bash .ci/build-win64.sh
- store_artifacts:
path: harfbuzz-win64.zip
- persist_to_workspace:
root: .
paths: harfbuzz-win64.zip
publish-win64:
executor: win32-executor
steps:
- checkout
- attach_workspace:
at: .
- run: |
mv harfbuzz-win64{,-$CIRCLE_TAG}.zip
.ci/publish_release_artifact.sh harfbuzz-win64-$CIRCLE_TAG.zip
workflows: workflows:
version: 2 version: 2
@ -152,6 +176,7 @@ workflows:
filters: filters:
tags: tags:
only: /^\d+.\d+.\d+$/ only: /^\d+.\d+.\d+$/
- crossbuild-win64
- publish-win32: - publish-win32:
requires: requires:
- crossbuild-win32 - crossbuild-win32
@ -160,3 +185,11 @@ workflows:
only: /^\d+\.\d+\.\d+$/ only: /^\d+\.\d+\.\d+$/
branches: branches:
ignore: /.*/ ignore: /.*/
- publish-win64:
requires:
- crossbuild-win64
filters:
tags:
only: /^\d+\.\d+\.\d+$/
branches:
ignore: /.*/