ci-ubuntu.yml 2.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596
  1. name: ci-ubuntu
  2. on:
  3. workflow_call:
  4. jobs:
  5. build-ubuntu:
  6. runs-on: ubuntu-latest
  7. timeout-minutes: 10
  8. steps:
  9. - uses: actions/checkout@v4
  10. - name: Install dependencies
  11. run: |
  12. sudo apt-get install -y autoconf autopoint check gettext libtool pkg-config
  13. 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
  14. - name: Bootstrap build system
  15. run: ./autogen.sh
  16. - name: Build distribution archive
  17. run: |
  18. mkdir -p build-distrib && cd $_
  19. ../configure
  20. make dist-bzip2
  21. - name: Build full configuration
  22. run: |
  23. tar -xjf $(ls build-distrib/mc-*.tar.bz2) --one-top-level=build-full
  24. cd build-full
  25. ../configure \
  26. --prefix="$(pwd)/install" \
  27. --enable-mclib \
  28. --enable-aspell \
  29. --enable-vfs-undelfs \
  30. --enable-werror
  31. make -j$(nproc)
  32. make check
  33. make install
  34. - name: Build ncurses & pcre2 configuration
  35. run: |
  36. tar -xjf $(ls build-distrib/mc-*.tar.bz2) --one-top-level=build-ncurses
  37. cd build-ncurses
  38. ../configure \
  39. --prefix="$(pwd)/install" \
  40. --with-screen=ncurses \
  41. --with-search-engine=pcre2 \
  42. --enable-werror
  43. make -j$(nproc)
  44. make check
  45. - name: Build minimal configuration
  46. run: |
  47. tar -xjf $(ls build-distrib/mc-*.tar.bz2) --one-top-level=build-minimal
  48. cd build-minimal
  49. ../configure \
  50. --prefix="$(pwd)/install" \
  51. --disable-shared \
  52. --disable-static \
  53. --disable-maintainer-mode \
  54. --disable-largefile \
  55. --disable-nls \
  56. --disable-rpath \
  57. --disable-charset \
  58. --disable-mclib \
  59. --disable-assert \
  60. --disable-aspell \
  61. --disable-background \
  62. --disable-vfs \
  63. --disable-doxygen-doc \
  64. --without-x \
  65. --without-gpm-mouse \
  66. --without-internal-edit \
  67. --without-diff-viewer \
  68. --without-subshell \
  69. --enable-tests \
  70. --enable-werror
  71. make -j$(nproc)
  72. make check
  73. - uses: actions/upload-artifact@v4
  74. if: failure()
  75. with:
  76. name: test-suite-logs-ubuntu
  77. path: build-*/**/test-suite.log