ci-fedora.yml 1.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061
  1. name: ci-fedora
  2. on:
  3. workflow_call:
  4. jobs:
  5. build-fedora:
  6. runs-on: ubuntu-latest
  7. container:
  8. image: fedora:latest
  9. timeout-minutes: 5
  10. steps:
  11. - name: Install git inside container
  12. run: dnf install -y git
  13. - uses: actions/checkout@v4
  14. - name: Install dependencies
  15. run: |
  16. dnf install -y autoconf automake clang-tools-extra gcc gettext-devel groff libtool make pkgconfig
  17. dnf install -y aspell-devel check-devel gpm-devel libX11-devel "pkgconfig(ext2fs)" "pkgconfig(glib-2.0)" "pkgconfig(gmodule-2.0)" "pkgconfig(libssh2)" "pkgconfig(slang)"
  18. # For tests
  19. dnf install -y glibc-gconv-extra util-linux
  20. - name: Lint documentation
  21. working-directory: maint
  22. run: ./doctest
  23. - name: Bootstrap build system
  24. run: ./autogen.sh
  25. - name: Build default configuration
  26. run: |
  27. useradd --home "$(pwd)" test
  28. chown -R test "$(pwd)"
  29. su - test -c ' \
  30. ./configure \
  31. --prefix="$(pwd)/install-prefix" \
  32. --enable-mclib \
  33. --enable-aspell \
  34. --enable-werror \
  35. && \
  36. \
  37. echo "Checking formatting..." && \
  38. clang-format --version && \
  39. make indent && \
  40. git diff --exit-code && \
  41. \
  42. make -j$(nproc) && \
  43. make check && \
  44. make install \
  45. '
  46. - uses: actions/upload-artifact@v4
  47. if: failure()
  48. with:
  49. name: test-suite-logs-fedora
  50. path: ./**/test-suite.log