doc: update links in HACKING and remove obsolete statements
[midnight-commander.git] / .github / workflows / ci-ubuntu.yml
blobc68eac4f07d37ba1673d1c1b4f7382d754f449c4
1 name: ci-ubuntu
3 on:
4   workflow_call:
6 jobs:
7   build-ubuntu:
8     runs-on: ubuntu-latest
9     timeout-minutes: 10
11     steps:
12       - uses: actions/checkout@v4
14       - name: Install dependencies
15         run: |
16           sudo apt-get install -y autoconf autopoint check gettext indent libtool pkg-config
17           sudo apt-get install -y e2fslibs-dev libaspell-dev libglib2.0-dev libgpm-dev libncurses5-dev libpcre2-dev libslang2-dev libssh2-1-dev libx11-dev unzip
19       - name: Bootstrap build system
20         run: ./autogen.sh
22       - name: Build distribution archive
23         run: |
24           mkdir -p build-distrib && cd $_
26           ../configure
28           make dist-bzip2
30       - name: Build full configuration
31         run: |
32           tar -xjf $(ls build-distrib/mc-*.tar.bz2) --one-top-level=build-full
33           cd build-full
35           ../configure \
36               --prefix="$(pwd)/install" \
37               --enable-mclib \
38               --enable-aspell \
39               --enable-vfs-undelfs \
40               --enable-werror
42           make indent
43           # TODO: exit 1
44           git ls-files --modified
46           make -j$(nproc)
47           make check
48           make install
50       - name: Build ncurses & pcre2 configuration
51         run: |
52           tar -xjf $(ls build-distrib/mc-*.tar.bz2) --one-top-level=build-ncurses
53           cd build-ncurses
55           ../configure \
56               --prefix="$(pwd)/install" \
57               --with-screen=ncurses \
58               --with-search-engine=pcre2 \
59               --enable-werror
61           make -j$(nproc)
62           make check
64       - name: Build minimal configuration
65         run: |
66           tar -xjf $(ls build-distrib/mc-*.tar.bz2) --one-top-level=build-minimal
67           cd build-minimal
69           ../configure \
70               --prefix="$(pwd)/install" \
71               --disable-shared \
72               --disable-static \
73               --disable-maintainer-mode \
74               --disable-largefile \
75               --disable-nls \
76               --disable-rpath \
77               --disable-charset \
78               --disable-mclib \
79               --disable-assert \
80               --disable-aspell \
81               --disable-background \
82               --disable-vfs \
83               --disable-doxygen-doc \
84               --without-x \
85               --without-gpm-mouse \
86               --without-internal-edit \
87               --without-diff-viewer \
88               --without-subshell \
89               --enable-tests \
90               --enable-werror
92             make -j$(nproc)
93             make check
95       - uses: actions/upload-artifact@v4
96         if: failure()
97         with:
98           name: test-suite-logs-ubuntu
99           path: build-*/**/test-suite.log