name: ci-ubuntu on: workflow_call: jobs: build-ubuntu: runs-on: ubuntu-latest timeout-minutes: 10 steps: - uses: actions/checkout@v4 - name: Install dependencies run: | sudo apt-get install -y autoconf autopoint check gettext indent libtool pkg-config 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 - 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 indent # TODO: exit 1 git ls-files --modified make -j$(nproc) make check make install - 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-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-ubuntu path: build-*/**/test-suite.log