ci-ubuntu.yml 2.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495
  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 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 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. --enable-werror
  42. make -j$(nproc)
  43. make check
  44. - name: Build minimal configuration
  45. run: |
  46. tar -xjf $(ls build-distrib/mc-*.tar.bz2) --one-top-level=build-minimal
  47. cd build-minimal
  48. ../configure \
  49. --prefix="$(pwd)/install" \
  50. --disable-shared \
  51. --disable-static \
  52. --disable-maintainer-mode \
  53. --disable-largefile \
  54. --disable-nls \
  55. --disable-rpath \
  56. --disable-charset \
  57. --disable-mclib \
  58. --disable-assert \
  59. --disable-aspell \
  60. --disable-background \
  61. --disable-vfs \
  62. --disable-doxygen-doc \
  63. --without-x \
  64. --without-gpm-mouse \
  65. --without-internal-edit \
  66. --without-diff-viewer \
  67. --without-subshell \
  68. --enable-tests \
  69. --enable-werror
  70. make -j$(nproc)
  71. make check
  72. - uses: actions/upload-artifact@v4
  73. if: failure()
  74. with:
  75. name: test-suite-logs-ubuntu
  76. path: build-*/**/test-suite.log