-
Notifications
You must be signed in to change notification settings - Fork 526
134 lines (107 loc) · 3.51 KB
/
ci.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
name: CI
on: [ push ]
jobs:
build-linux:
runs-on: ubuntu-latest
timeout-minutes: 15
steps:
- uses: actions/checkout@v4
- name: Install dependencies
run: |
sudo apt-get install -y autoconf gettext autopoint libtool check indent
sudo apt-get install -y e2fslibs-dev libaspell-dev libglib2.0-dev libpcre2-dev libgpm-dev libncurses5-dev libslang2-dev libssh2-1-dev libx11-dev unzip
- name: Bootstrap build system
run: ./autogen.sh
- name: Build distribution archive
run: |
mkdir -p build-distrib && cd $_
../configure
make dist-bzip2
- name: Build full configuration
run: |
tar -xjf $(ls build-distrib/mc-*.tar.bz2) --one-top-level=build-full
cd build-full
../configure \
--prefix="$(pwd)/install" \
--enable-mclib \
--enable-aspell \
--enable-vfs-undelfs \
--enable-werror
make -j$(nproc)
make check
make install
# make indent
# exit $(git ls-files --modified | wc -l)
- name: Build ncurses & pcre2 configuration
run: |
tar -xjf $(ls build-distrib/mc-*.tar.bz2) --one-top-level=build-ncurses
cd build-ncurses
../configure \
--prefix="$(pwd)/install" \
--with-screen=ncurses \
--with-search-engine=pcre2 \
--enable-werror
make -j$(nproc)
make check
- name: Build minimal configuration
run: |
tar -xjf $(ls build-distrib/mc-*.tar.bz2) --one-top-level=build-minimal
cd build-minimal
../configure \
--prefix="$(pwd)/install" \
--disable-shared \
--disable-static \
--disable-maintainer-mode \
--disable-largefile \
--disable-nls \
--disable-rpath \
--disable-charset \
--disable-mclib \
--disable-assert \
--disable-aspell \
--disable-background \
--disable-vfs \
--disable-doxygen-doc \
--without-x \
--without-mmap \
--without-gpm-mouse \
--without-internal-edit \
--without-diff-viewer \
--without-subshell \
--enable-tests \
--enable-werror
make -j$(nproc)
make check
- uses: actions/upload-artifact@v4
if: failure()
with:
name: test-suite-logs-linux
path: build-*/**/test-suite.log
build-macos:
runs-on: macos-latest
timeout-minutes: 15
env:
CFLAGS: -Wno-assign-enum
steps:
- uses: actions/checkout@v4
- name: Install dependencies
run: |
brew install autoconf automake libtool pkg-config check gnu-indent
brew install glib libssh2 openssl aspell s-lang
- name: Bootstrap build system
run: ./autogen.sh
- name: Build full configuration
run: |
mkdir build-full && cd $_
../configure \
--prefix="$(pwd)/install" \
--enable-mclib \
--enable-aspell=/opt/homebrew
make -j$(sysctl -n hw.logicalcpu)
make check
make install
- uses: actions/upload-artifact@v4
if: failure()
with:
name: test-suite-logs-macos
path: build-*/**/test-suite.log