Skip to content

Commit b3de1fc

Browse files
committed
ci: add Cygwin build workflow
1 parent 58312ed commit b3de1fc

File tree

1 file changed

+71
-0
lines changed

1 file changed

+71
-0
lines changed

.github/workflows/cygwin-build.yml

Lines changed: 71 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,71 @@
1+
name: Cygwin build
2+
3+
on:
4+
pull_request:
5+
push:
6+
branches: [ master ]
7+
8+
jobs:
9+
cygwin-build:
10+
runs-on: windows-latest
11+
12+
steps:
13+
- name: Checkout
14+
uses: actions/checkout@v4
15+
16+
- name: Set up Cygwin with build deps
17+
uses: egor-tensin/setup-cygwin@v4
18+
with:
19+
# Build toolchain + pkg-config + autoconf-archive (for AX_PTHREAD)
20+
# Required libs from Profanity docs: libstrophe, ncursesw, glib2, curl, readline, sqlite3
21+
packages: >-
22+
autoconf
23+
automake
24+
libtool
25+
make
26+
pkg-config
27+
autoconf-archive
28+
gcc-core
29+
gettext-devel
30+
libstrophe-devel
31+
libncursesw-devel
32+
libglib2.0-devel
33+
libcurl-devel
34+
libreadline-devel
35+
libsqlite3-devel
36+
37+
- name: Show versions
38+
shell: bash
39+
run: |
40+
uname -a
41+
bash --version
42+
gcc --version
43+
pkg-config --version
44+
45+
- name: Autotools bootstrap
46+
shell: bash
47+
run: |
48+
# If the repo uses bootstrap.sh, call it; otherwise do autoreconf
49+
if [ -x ./bootstrap.sh ]; then
50+
./bootstrap.sh
51+
else
52+
autoreconf -fi
53+
fi
54+
55+
- name: Configure
56+
shell: bash
57+
env:
58+
# Avoid CRLF surprises in generated files
59+
CYGWIN: winsymlinks:nativestrict
60+
run: |
61+
./configure
62+
63+
- name: Build
64+
shell: bash
65+
run: |
66+
make -j2
67+
68+
- name: Run basic target checks
69+
shell: bash
70+
run: |
71+
make -n install # dry-run install just to validate rules

0 commit comments

Comments
 (0)