Skip to content

Cygwin

Cygwin #45

Workflow file for this run

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