|
1 | 1 | name: CI
|
2 | 2 |
|
3 |
| -on: [push] |
| 3 | +on: [push, workflow_dispatch] |
4 | 4 |
|
5 | 5 | jobs:
|
6 | 6 |
|
|
36 | 36 | bin/package make -j5 &&
|
37 | 37 | : default regression tests with SHOPT_SCRIPTONLY enabled &&
|
38 | 38 | 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