Skip to content

Commit 178d3f4

Browse files
committed
ci: fix Cygwin job (cygpath temp script, strip CRLF, use igncr)
1 parent 5aac637 commit 178d3f4

File tree

1 file changed

+41
-20
lines changed

1 file changed

+41
-20
lines changed

.github/workflows/cygwin-build.yml

Lines changed: 41 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -3,25 +3,25 @@ name: Cygwin build
33
on:
44
pull_request:
55
push:
6-
branches: [ master ]
6+
branches:
7+
- master
78

89
jobs:
910
cygwin-build:
1011
runs-on: windows-latest
11-
12-
# Run ALL steps via Cygwin's bash (not Git Bash / CMD)
12+
env:
13+
CYGWIN: winsymlinks:nativestrict
1314
defaults:
1415
run:
15-
shell: 'C:\tools\cygwin\bin\bash.EXE --login -eo pipefail -c "{0}"'
16+
shell: C:\tools\cygwin\bin\bash.exe --login -eo pipefail -o igncr '{0}'
1617

1718
steps:
18-
- name: Checkout
19+
- name: Checkout repository
1920
uses: actions/checkout@v4
2021
with:
21-
# avoid CRLF issues inside Cygwin
2222
fetch-depth: 0
2323

24-
- name: Set up Cygwin with build deps
24+
- name: Set up Cygwin with build dependencies
2525
uses: egor-tensin/setup-cygwin@v4
2626
with:
2727
packages: >-
@@ -33,24 +33,39 @@ jobs:
3333
autoconf-archive
3434
gcc-core
3535
gettext-devel
36-
libstrophe-devel
36+
git
3737
libncursesw-devel
3838
libglib2.0-devel
3939
libcurl-devel
4040
libreadline-devel
4141
libsqlite3-devel
42+
libexpat-devel
43+
# or libxml2-devel (optional)
44+
45+
46+
- name: Build and install libstrophe from source
47+
run: |
48+
cd "$GITHUB_WORKSPACE"
49+
mkdir -p deps && cd deps
50+
git clone --depth 1 https://github.com/strophe/libstrophe.git
51+
cd libstrophe
52+
autoreconf -i
53+
./configure --prefix=$PWD/install
54+
make -j2 install
55+
shell: C:\tools\cygwin\bin\bash.exe --login -eo pipefail -o igncr '{0}'
4256

43-
- name: Sanity check Cygwin toolchain
57+
- name: Check repo state
4458
run: |
45-
echo "PATH=$PATH"
46-
type -a /usr/bin/uname || true
47-
/usr/bin/uname -a
48-
/usr/bin/gcc --version
49-
/usr/bin/pkg-config --version
59+
cd "$GITHUB_WORKSPACE"
60+
pwd
61+
ls -la
62+
test -f configure.ac && echo "configure.ac present" || (echo "configure.ac missing"; exit 1)
5063
5164
- name: Autotools bootstrap
5265
run: |
53-
git config --global core.autocrlf false
66+
cd "$GITHUB_WORKSPACE"
67+
git config --global core.autocrlf false || true
68+
[ -f ./bootstrap.sh ] && sed -i 's/\r$//' ./bootstrap.sh || true
5469
if [ -x ./bootstrap.sh ]; then
5570
./bootstrap.sh
5671
else
@@ -59,12 +74,18 @@ jobs:
5974
6075
- name: Configure
6176
env:
62-
CYGWIN: winsymlinks:nativestrict
63-
run: ./configure
77+
PKG_CONFIG_PATH: ${{ github.workspace }}/deps/libstrophe/install/lib/pkgconfig:$PKG_CONFIG_PATH
78+
run: |
79+
cd "$GITHUB_WORKSPACE"
80+
./configure
6481
6582
- name: Build
66-
run: make -j2
83+
run: |
84+
cd "$GITHUB_WORKSPACE"
85+
make -j2
6786
68-
# keep tests for later; first make the build go green
87+
# Uncomment when tests are reliable on Cygwin
6988
# - name: Test
70-
# run: make check -j2
89+
# run: |
90+
# cd "$GITHUB_WORKSPACE"
91+
# make check -j2

0 commit comments

Comments
 (0)