11name : make
22
33# spell-checker:ignore (abbrev/names) CACHEDIR taiki
4- # spell-checker:ignore (env/flags) RUSTDOCFLAGS RUSTFLAGS CARGOFLAGS CLEVEL
4+ # spell-checker:ignore (env/flags) CHERE RUSTDOCFLAGS RUSTFLAGS CARGOFLAGS CLEVEL
55# spell-checker:ignore (jargon) deps softprops toolchain
66# spell-checker:ignore (people) dawidd
7- # spell-checker:ignore (shell/tools) nextest sccache zstd
8- # spell-checker:ignore (misc) bindir busytest defconfig DESTDIR manpages multisize runtest testsuite toybox uutils
7+ # spell-checker:ignore (shell/tools) bsdtar nextest pacman sccache zstd
8+ # spell-checker:ignore (misc) bindir busytest defconfig DESTDIR manpages multisize noconfirm runtest testsuite toybox uutils
99
1010env :
1111 PROJECT_NAME : coreutils
9393 disable_search : true
9494 flags : makefile,${{ matrix.job.os }}
9595 fail_ci_if_error : false
96- - name : " `make install PROG_PREFIX=uu- PROFILE=release-small COMPLETIONS=n MANPAGES=n LOCALES=n`"
97- shell : bash
98- run : |
99- set -x
100- DESTDIR=/tmp/ make install PROG_PREFIX=uu- PROFILE=release-small COMPLETIONS=n MANPAGES=n LOCALES=n
101- # Check that utils are built with given profile
102- ./target/release-small/true
103- # Check that the progs have prefix
104- test -f /tmp/usr/local/bin/uu-tty
105- test -f /tmp/usr/local/libexec/uu-coreutils/libstdbuf.*
106- # Check that the manpage is not present
107- ! test -f /tmp/usr/local/share/man/man1/uu-whoami.1
108- # Check that the completion is not present
109- ! test -f /tmp/usr/local/share/zsh/site-functions/_uu-install
110- ! test -f /tmp/usr/local/share/bash-completion/completions/uu-head.bash
111- ! test -f /tmp/usr/local/share/fish/vendor_completions.d/uu-cat.fish
112- # don't publish binaries with uu-
113- make uninstall PROG_PREFIX=uu- PROFILE=release-small COMPLETIONS=n MANPAGES=n LOCALES=n
114- env :
115- RUST_BACKTRACE : " 1"
11696 - name : " `make install`"
11797 shell : bash
11898 run : |
@@ -292,8 +272,10 @@ jobs:
292272 DESTDIR=/tmp/ make SKIP_UTILS="stdbuf" install
293273
294274 # keep this job minimal to avoid have many duplicated build with CICD
295- build_makefile-other :
296- name : Build/Makefile
275+ build_makefile-windows-cygwin :
276+ name : Build MSYS
277+ permissions :
278+ contents : write # Publish cygwin binary
297279 runs-on : ${{ matrix.job.os }}
298280 env :
299281 CARGO_INCREMENTAL : 0
@@ -316,6 +298,40 @@ jobs:
316298 run : |
317299 echo "RUSTC_WRAPPER=sccache" >> $GITHUB_ENV
318300 echo "SCCACHE_GHA_ENABLED=true" >> $GITHUB_ENV
301+ - name : " `(x86_64-pc-cygwin) make install PROG_PREFIX=uu- PROFILE=release-small COMPLETIONS=n MANPAGES=n LOCALES=n`"
302+ shell : ' C:\msys64\usr\bin\bash.exe --login -eo pipefail {0}'
303+ run : |
304+ set -x
305+ pacman -Sy --noconfirm --needed make rust base-devel
306+ DESTDIR=/tmp/c make install PROG_PREFIX=uu- PROFILE=release-small COMPLETIONS=n MANPAGES=n LOCALES=n
307+ # Check that utils are built with given profile
308+ ./target/release-small/true
309+ # Check that the progs have prefix
310+ test -f /tmp/c/usr/local/bin/uu-tty
311+ test -f /tmp/c/usr/local/libexec/uu-coreutils/libstdbuf.*
312+ # Check that the manpage is not present
313+ ! test -f /tmp/c/usr/local/share/man/man1/uu-whoami.1
314+ # Check that the completion is not present
315+ ! test -f /tmp/c/usr/local/share/zsh/site-functions/_uu-install
316+ ! test -f /tmp/c/usr/local/share/bash-completion/completions/uu-head.bash
317+ ! test -f /tmp/c/usr/local/share/fish/vendor_completions.d/uu-cat.fish
318+ # package
319+ mv target/release-small/deps/stdbuf.dll -t /tmp/c/usr/local/bin
320+ bsdtar -caf x86_64-pc-cygwin.tar.zst -C /tmp/c/usr/local bin
321+ env :
322+ CHERE_INVOKING : 1
323+ RUST_BACKTRACE : " 1"
324+ - name : Publish
325+ uses : softprops/action-gh-release@v3
326+ if : github.event_name == 'push' && github.ref == 'refs/heads/main'
327+ with :
328+ tag_name : latest-commit
329+ draft : false
330+ prerelease : true
331+ files : |
332+ x86_64-pc-cygwin.tar.zst
333+ env :
334+ GITHUB_TOKEN : ${{ secrets.GITHUB_TOKEN }}
319335 - name : " `make build`"
320336 shell : bash
321337 run : |
0 commit comments