Skip to content

Add glibmm (2.66.8, 2.88.0) to xrepo #24705

Add glibmm (2.66.8, 2.88.0) to xrepo

Add glibmm (2.66.8, 2.88.0) to xrepo #24705

Workflow file for this run

name: MingW (Msys2)
on:
pull_request:
branches:
- dev
jobs:
build:
runs-on: windows-latest
strategy:
fail-fast: false
matrix:
include:
- { msystem: MINGW64, kind: static, arch: x86_64, prefix: /mingw64 }
- { msystem: MINGW64, kind: shared, arch: x86_64, prefix: /mingw64 }
- { msystem: MINGW32, kind: static, arch: i686, prefix: /mingw32 }
- { msystem: MINGW32, kind: shared, arch: i686, prefix: /mingw32 }
concurrency:
group: ${{ github.ref }}-${{ github.base_ref }}-${{ github.head_ref }}-MSYS2_MINGW-${{ matrix.msystem }}-${{ matrix.kind }}-${{ matrix.arch }}
cancel-in-progress: true
steps:
- uses: actions/checkout@v6.0.2
with:
fetch-depth: 0
- uses: msys2/setup-msys2@v2
with:
msystem: ${{ matrix.msystem }}
update: true
- name: Install build dependencies
shell: msys2 {0}
run: |
set -euo pipefail
pacman -S --noconfirm --needed \
git base-devel unzip p7zip \
mingw-w64-${{ matrix.arch }}-toolchain
if [ "${{ matrix.arch }}" == "x86_64" ]; then
pacman -S --noconfirm --needed mingw-w64-x86_64-gcc-fortran
fi
# Downgrade i686 GCC packages to 15.2.0-14, the last revision for which
# MSYS2 still publishes a matching gcc-fortran build. The toolchain
# group (binutils, crt, headers, winpthreads, etc.) installed above
# stays at its current version and supplies the assembler, linker,
# CRT, and Windows headers; --nodeps lets us replace just gcc, gcc-libs,
# gcc-libgfortran, and gcc-fortran without pacman objecting to the
# version skew. Stopgap until we drop MINGW32 or migrate to WinLibs.
- name: Pin i686 GCC + Fortran to 15.2.0-14
if: matrix.arch == 'i686'
shell: msys2 {0}
run: |
set -euo pipefail
BASE="https://repo.msys2.org/mingw/mingw32"
pacman -U --noconfirm --nodeps --nodeps \
"$BASE/mingw-w64-i686-gcc-15.2.0-14-any.pkg.tar.zst" \
"$BASE/mingw-w64-i686-gcc-libs-15.2.0-14-any.pkg.tar.zst" \
"$BASE/mingw-w64-i686-gcc-libgfortran-15.2.0-14-any.pkg.tar.zst" \
"$BASE/mingw-w64-i686-gcc-fortran-15.2.0-14-any.pkg.tar.zst"
- name: Prepare
shell: msys2 {0}
run: |
gcc --version
gfortran --version
git clone https://github.com/xmake-io/xmake.git --recurse-submodules -b master
cd xmake
./configure
make -j4
make install PREFIX=${{ matrix.prefix }}
xmake --version
cd ..
git reset --hard HEAD
git clean -fdx
- name: Tests
shell: msys2 {0}
run: |
if [ "${{ matrix.arch }}" == "x86_64" ]; then
xmake l ./scripts/test.lua -vD -p mingw -a x86_64 -k ${{ matrix.kind }}
else
xmake l ./scripts/test.lua -vD -p mingw -a i386 -k ${{ matrix.kind }}
fi