Skip to content

Commit 883cace

Browse files
committed
Update ci.yml
Add cygwin testing
1 parent b508727 commit 883cace

File tree

1 file changed

+50
-1
lines changed

1 file changed

+50
-1
lines changed

.github/workflows/ci.yml

+50-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
name: CI
22

3-
on: [push]
3+
on: [push, workflow_dispatch]
44

55
jobs:
66

@@ -36,3 +36,52 @@ jobs:
3636
bin/package make -j5 &&
3737
: default regression tests with SHOPT_SCRIPTONLY enabled &&
3838
script -q -e -c "bin/shtests"
39+
40+
Cygwin:
41+
name: Cygwin
42+
runs-on: windows-latest
43+
env:
44+
CHERE_INVOKING: 1
45+
CYGWIN_NOWINPATH: 1
46+
CC: gcc
47+
HOSTTYPE: cygwin.i386-64
48+
defaults:
49+
run:
50+
shell: bash -leo pipefail -o igncr {0}
51+
steps:
52+
- name: Checkout sources
53+
uses: actions/checkout@main
54+
- name: Install Cygwin
55+
uses: cygwin/cygwin-install-action@master
56+
with:
57+
packages: gcc-core gcc-g++ git libiconv-devel ncurses
58+
- name: Git reset
59+
run: |
60+
git config --global --add safe.directory "$(pwd)" && git reset --hard
61+
- name: Build
62+
run: bin/package make -j2 HOSTTYPE=$HOSTTYPE
63+
- name: Regression tests
64+
run: |
65+
PS4="$PS4[ci.yml] "
66+
set -o xtrace
67+
export TZ=UTC
68+
ulimit -n 1024
69+
: default regression tests &&
70+
: hangs: script -q -e -c "bin/package test HOSTTYPE=$HOSTTYPE" &&
71+
script -q -e -c "bin/shtests HOSTTYPE=$HOSTTYPE" &&
72+
: regression tests with OS-provided multibyte locales &&
73+
LANG=en_US.utf8 script -q -e -c "bin/shtests --locale --nocompile HOSTTYPE=$HOSTTYPE" &&
74+
: disable most SHOPTs, rebuild ksh &&
75+
sed --regexp-extended --in-place=.orig \
76+
'/^SHOPT (AUDIT|BGX|BRACEPAT|DEVFD|DYNAMIC|EDPREDICT|ESH|FIXEDARRAY|HISTEXPAND|MULTIBYTE|NAMESPACE|OPTIMIZE|SPAWN|STATS|SUID_EXEC|VSH)=/ s/=1?/=0/' \
77+
src/cmd/ksh93/SHOPT.sh &&
78+
bin/package make -j2 HOSTTYPE=$HOSTTYPE &&
79+
: default regression tests with SHOPTs disabled &&
80+
script -q -e -c "bin/shtests HOSTTYPE=$HOSTTYPE" &&
81+
: enable SHOPT_SCRIPTONLY, rebuild ksh &&
82+
sed --regexp-extended --in-place=.orig \
83+
'/^SHOPT SCRIPTONLY=/ s/=0?/=1/' \
84+
src/cmd/ksh93/SHOPT.sh &&
85+
bin/package make -j2 HOSTTYPE=$HOSTTYPE &&
86+
: default regression tests with SHOPT_SCRIPTONLY enabled &&
87+
script -q -e -c "bin/shtests HOSTTYPE=$HOSTTYPE"

0 commit comments

Comments
 (0)