Skip to content

msys2-runtime: update to 54a725237845135bbb4609e1194366dece79a0e3 #284

msys2-runtime: update to 54a725237845135bbb4609e1194366dece79a0e3

msys2-runtime: update to 54a725237845135bbb4609e1194366dece79a0e3 #284

Workflow file for this run

name: main
on: [pull_request]
jobs:
build:
if: "!startsWith(github.event.pull_request.title, 'i686:') && !contains(github.event.pull_request.title, 'msys2-runtime-3.3')"
runs-on: windows-latest
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0 # needed to determine which packages to build
- uses: git-for-windows/setup-git-for-windows-sdk@v1
with:
flavor: full
msys: true
- name: install pactoys (needed for `saneman`)
shell: bash
run: bash -lc "pacman -S --noconfirm pactoys"
- name: work around curl v8.11.0-1 problem
shell: bash
run: |
# `git fetch` does not work with that libcurl version. For details,
# see https://github.com/git-for-windows/MSYS2-packages/pull/199
test ! -f /var/lib/pacman/local/libcurl-8.11.0-1/desc ||
for pkg in libcurl curl
do
for suffix in '' .sig
do
curl --retry 5 -fLO \
https://wingit.blob.core.windows.net/x86-64/$pkg-8.10.1-1-x86_64.pkg.tar.xz$suffix ||
exit 1
done
pacman -U --noconfirm $pkg-8.10.1-1-x86_64.pkg.tar.xz || exit 1
done
# Sadly, this does not work because the Pacman repository's index only
# ever lists the latest package version:
# pacman -S --noconfirm libcurl=8.10.1-1 curl=8.10.1-1
- name: CI-Build
shell: bash
run: bash -l .ci/ci-build.sh
env:
MSYSTEM: MSYS
MAKEFLAGS: -j5
MSYS2_PATH_TYPE: minimal
- name: "Upload binaries"
uses: actions/upload-artifact@v4
with:
name: msys2-packages
path: artifacts/*.pkg.tar.*
build-i686:
if: "!contains(github.event.pull_request.title, 'msys2-runtime') || contains(github.event.pull_request.title, 'msys2-runtime-3.3')"
runs-on: windows-latest
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0 # needed to determine which packages to build
- uses: git-for-windows/setup-git-for-windows-sdk@v1
with:
flavor: full
architecture: i686
msys: true
- name: rebase `.dll` base addresses
shell: powershell
run: |
if (Test-Path D:\git-sdk-32-full -PathType Container) {
cd D:\git-sdk-32-full
} else {
cd C:\git-sdk-32-full
}
if (!$?) { exit(1); }
$env:MSYSTEM = "MINGW32"
$env:PATH = "$(Get-Location)\usr\bin;" + $env:PATH
$env:MSYS2_PATH_TYPE = "minimal"
# Disable pacman's post-transaction hook that would mess everything up, if it exists
sh.exe -lc "set -x && rm -f /usr/share/libalpm/hooks/rebase.hook"
sh.exe -lc "set -x && find /usr/lib/perl5/*_perl -name \*.dll >perl-dlls.txt"
type perl-dlls.txt
dash -x /usr/bin/rebaseall -p -T perl-dlls.txt
# Work around for:
# - address space needed by 'Cwd.dll' is already occupied
# - address space needed by 'Dumper.dll' is already occupied
# etc
bash -lc "set -x && rebase -b 0x61500000 /usr/lib/perl5/core_perl/auto/*/{*,*/*}.dll"
# Work around for:
# - address space needed by 'Cwd.dll' is already occupied
bash -lc "set -x && rebase -v -b 0x63f00000 /usr/lib/perl5/core_perl/auto/Cwd/Cwd.dll"
# verify the base address
bash -lc "set -x && rebase -v -i /usr/lib/perl5/core_perl/auto/Cwd/Cwd.dll"
- name: CI-Build (i686)
shell: bash
run: |
set -x &&
mkdir -p artifacts &&
err= &&
for dir in $(git diff --name-only \
${{ github.event.pull_request.base.sha }}...${{ github.event.pull_request.head.sha }} |
sed -n 's/^\([a-z][^/]*\)\/.*/\1/p' |
sort |
uniq)
do
case $dir in msys2-runtime) continue;; esac
(
cd $dir &&
../.ci/fetch-validpgpkeys.sh &&
makepkg -s --noconfirm &&
cp -v *.pkg.tar.* ../artifacts/
) ||
err="$err $dir"
done &&
test -z "$err" || {
echo "::error::Build failures in$err" >&2
exit 1
}
env:
MSYSTEM: MSYS
MAKEFLAGS: -j5
MSYS2_PATH_TYPE: minimal
GIT_CONFIG_PARAMETERS: "'user.name=ci' '[email protected]'"
- name: "Upload binaries"
uses: actions/upload-artifact@v4
with:
name: msys2-packages-i686
path: artifacts/*.pkg.tar.*