Cygwin #45
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: Cygwin | |
| on: | |
| # Allow manual triggering | |
| workflow_dispatch: | |
| jobs: | |
| build: | |
| runs-on: windows-latest | |
| steps: | |
| - name: Set git to Linux line endings | |
| run: git config --global core.autocrlf input | |
| - name: Checkout repository and submodules | |
| uses: actions/checkout@v4 | |
| - name: Cache Cygwin Packages | |
| id: cache-cygwin | |
| uses: actions/cache@v4 | |
| with: | |
| path: C:\cygwin | |
| key: cygwin-${{ hashFiles('.github/workflows/cygwin.yml') }} | |
| - name: Install cygwin | |
| if: steps.cache-cygwin.outputs.cache-hit != 'true' | |
| uses: cygwin/cygwin-install-action@master | |
| with: | |
| packages: >- | |
| autoconf automake make libtool flex gperf | |
| gcc-core | |
| lzip xz | |
| gettext-devel libffi-devel libgc-devel | |
| libgmp-devel libreadline-devel libunistring-devel | |
| libiconv-devel | |
| texinfo texinfo-tex texlive | |
| - name: Git clone Guile | |
| run: | | |
| git clone --branch staging https://github.com/spk121/guile.git | |
| shell: C:\cygwin\bin\bash.exe -o igncr '{0}' | |
| # This uses Cygwin's bash | |
| - name: Configure | |
| run: | | |
| set -e | |
| export LANG=C.UTF-8 | |
| export TERM=dumb | |
| export VERBOSE=true | |
| export TZ=America/Los_Angeles | |
| cd guile | |
| git config --global --add safe.directory . # keeps Window's git from fighting Cygwin's git | |
| ./autogen.sh | |
| ./configure CFLAGS="-g -O2 -Wall" --disable-lto | |
| shell: C:\cygwin\bin\bash.exe -o igncr '{0}' | |
| # This uses Cygwin's bash | |
| - name: Build | |
| run: | | |
| set -e | |
| cd guile | |
| make -j4 V=1 2>&1 | tee build.log | |
| shell: C:\cygwin\bin\bash.exe -o igncr '{0}' | |
| # This uses Cygwin's bash | |
| - name: Check | |
| run: | | |
| set -e | |
| cd guile | |
| make check 2>&1 | tee check.log | |
| shell: C:\cygwin\bin\bash.exe -o igncr '{0}' | |
| - name: Archive Test Logs | |
| if: always() | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| name: Test Logs | |
| path: | | |
| guile/*.log | |
| guile/test-suite/tests/*.log | |
| if-no-files-found: warn |