From 645093bb097ba323e8af8ef61568ceb5bee942f6 Mon Sep 17 00:00:00 2001 From: oech3 <79379754+oech3@users.noreply.github.com> Date: Fri, 18 Sep 2026 23:45:49 +0900 Subject: [PATCH] make.yml: test MinGW(UCRT) instead of MSVC --- .github/workflows/CICD.yml | 2 +- .github/workflows/make.yml | 19 ++++++++++++++----- 2 files changed, 15 insertions(+), 6 deletions(-) diff --git a/.github/workflows/CICD.yml b/.github/workflows/CICD.yml index d434aa6524a..49dc8daf63b 100644 --- a/.github/workflows/CICD.yml +++ b/.github/workflows/CICD.yml @@ -876,7 +876,7 @@ jobs: - { os: ubuntu-latest, features: "md5sum,sha1sum,sha224sum,sha256sum,sha384sum,sha512sum,cksum,openssl" } # macOS: vendored only — system libcrypto needs OPENSSL_DIR # pointing at Homebrew, which isn't worth wiring up for a smoke test. - # todo: check Windows (MinGW's system openssl) + # MinGW(UCRT): done at make.yml as actual consumer is MSYS2 only steps: - uses: actions/checkout@v7 with: diff --git a/.github/workflows/make.yml b/.github/workflows/make.yml index 19a089bc60e..8092f80038c 100644 --- a/.github/workflows/make.yml +++ b/.github/workflows/make.yml @@ -311,15 +311,16 @@ jobs: # Upgrading it mid-session changes the shared memory layout (60344 -> 59320), # which causes subsequent fork() calls to fail with EAGAIN (exit code 254). shell: 'C:\msys64\usr\bin\bash.exe --login -eo pipefail {0}' + # test Cygwin & MinGW(UCRT) instead of pre-installed Rust. run: | - pacman -Sy --noconfirm --needed base-devel libopenssl make openssl-devel pkgconf rust + pacman -Sy --noconfirm --needed base-devel libopenssl make openssl-devel pkgconf rust \ + mingw-w64-ucrt-x86_64-openssl mingw-w64-ucrt-x86_64-rust env: CHERE_INVOKING: 1 - name: "`(x86_64-pc-cygwin) make install PROG_PREFIX=uu- PROFILE=release-small COMPLETIONS=n MANPAGES=n LOCALES=n`" shell: 'C:\msys64\usr\bin\bash.exe --login -eo pipefail {0}' run: | set -x - export OPENSSL_NO_VENDOR=1 export CARGOFLAGS="--features openssl" DESTDIR=/tmp/c make install PROG_PREFIX=uu- PROFILE=release-small COMPLETIONS=n MANPAGES=n LOCALES=n # Check that cksum is linked with openssl (e.g. msys-crypto-*.dll) @@ -339,6 +340,7 @@ jobs: bsdtar -caf x86_64-pc-cygwin.tar.zst -C /tmp/c/usr/local bin env: CHERE_INVOKING: 1 + OPENSSL_NO_VENDOR: "1" RUST_BACKTRACE: "1" - name: Publish uses: softprops/action-gh-release@v3 @@ -351,14 +353,21 @@ jobs: individual-x86_64-pc-cygwin.tar.zst env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - - name: "`make install`" - shell: bash + - name: "`make install` (MinGW UCRT)" + shell: 'C:\msys64\usr\bin\bash.exe --login -eo pipefail {0}' + env: + CHERE_INVOKING: 1 + MSYSTEM: "UCRT64" + OPENSSL_DIR: "/ucrt64" + OPENSSL_NO_VENDOR: "1" + OPENSSL_STATIC: "0" run: | set -x + export CARGOFLAGS="--features openssl" # Check that we exclude unix programs to avoid build failure # Windows's stdbuf depends on Cygwin's libstdbuf. So make should not try to install libstdbuf make install DESTDIR=/tmp/w PREFIX=/tmp/usr MULTICALL=y COMPLETIONS=n MANPAGES=n LOCALES=n \ - SKIP_UTILS="arch b2sum base32 base64 basename basenc cat cksum comm cp csplit cut date dd df dir dircolors dirname du echo env expand expr factor false fmt fold head hostname hostid join link ln ls md5sum mkdir mktemp more mv nl nproc numfmt od paste pathchk pr printenv printf ptx pwd readlink realpath rm rmdir seq sha1sum sha224sum sha256sum sha384sum sha512sum shred shuf sleep sort split sum sync tac tail tee test touch tr true truncate tsort tty uname unexpand uniq unlink vdir wc whoami yes" + SKIP_UTILS="arch b2sum base32 base64 basename basenc cat comm cp csplit cut date dd df dir dircolors dirname du echo env expand expr factor false fmt fold head hostname hostid join link ln ls md5sum mkdir mktemp more mv nl nproc numfmt od paste pathchk pr printenv printf ptx pwd readlink realpath rm rmdir seq sha1sum sha224sum sha256sum sha384sum sha512sum shred shuf sleep sort split sum sync tac tail tee test touch tr true truncate tsort tty uname unexpand uniq unlink vdir wc whoami yes" target/release/coreutils.exe stdbuf --version test_busybox: