[rust] Oops #282
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: crossbuild-mingw | |
on: | |
push: | |
branches: [ main ] | |
tags: ["*.*.*"] | |
pull_request: | |
branches: [ main ] | |
permissions: | |
contents: write | |
jobs: | |
build: | |
runs-on: ubuntu-24.04 | |
name: ${{ matrix.name }} | |
strategy: | |
fail-fast: false | |
matrix: | |
include: | |
- name: win32 | |
ARCH: 32 | |
PACKAGES: g++-mingw-w64-i686 wine wine32 | |
- name: win64 | |
ARCH: 64 | |
PACKAGES: g++-mingw-w64-x86-64 wine wine64 wine32:i386 | |
steps: | |
- name: Checkout | |
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 | |
- name: Setup Ccache | |
uses: hendrikmuhs/ccache-action@63069e3931dedbf3b63792097479563182fe70d1 # v1.2.18 | |
- name: Install Dependencies | |
run: | | |
sudo dpkg --add-architecture i386 | |
sudo apt-get update | |
sudo apt install -y \ | |
zip \ | |
${{ matrix.PACKAGES }} | |
- name: Setup Python | |
uses: actions/setup-python@a26af69be951a213d495a4c3e4e4022e16d87065 # v5.6.0 | |
with: | |
python-version: '3.12' | |
- name: Install Python Dependencies | |
run: pip3 install -r .ci/requirements.txt --require-hashes | |
- name: Build | |
run: bash .ci/build-win.sh ${{ matrix.ARCH }} | |
- name: Test | |
run: meson devenv -Cbuild-win${{ matrix.ARCH }} meson test -t 10 --print-errorlogs --suite=harfbuzz | |
- name: Archive artifacts | |
uses: actions/upload-artifact@v4 | |
with: | |
name: harfbuzz-win${{ matrix.ARCH }} | |
path: harfbuzz-win${{ matrix.ARCH }}.zip | |
if-no-files-found: error | |
release: | |
name: Create and populate release | |
needs: build | |
runs-on: ubuntu-24.04 | |
if: contains(github.ref, 'refs/tags/') | |
env: | |
GH_TOKEN: ${{ github.token }} | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Download artifacts | |
uses: actions/download-artifact@v4 | |
- name: Rename artifacts | |
run: | | |
for file in harfbuzz-win*.zip; do | |
mv -v "$file" "${file%.zip}-${{ github.ref_name }}.zip" | |
done | |
- name: Check for release | |
id: create_release | |
run: | | |
if ! gh release view ${{ github.ref_name }}; then | |
gh release create ${{ github.ref_name }} --title ${{ github.ref_name }} --draft | |
fi | |
- name: Populate release | |
run: | | |
gh release upload ${{ github.ref_name }} harfbuzz-win*-${{ github.ref_name }}.zip --clobber |