1
0

build.yml 1.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374
  1. ---
  2. name: build
  3. on:
  4. push:
  5. paths-ignore:
  6. - '**.md'
  7. pull_request:
  8. paths-ignore:
  9. - '**.md'
  10. jobs:
  11. build:
  12. runs-on: ubuntu-22.04
  13. continue-on-error: ${{ ! matrix.stable }}
  14. strategy:
  15. matrix:
  16. os:
  17. - fedora:latest
  18. - quay.io/centos/centos:stream8
  19. - quay.io/centos/centos:stream9
  20. - debian:testing
  21. - debian:latest
  22. - ubuntu:latest
  23. - ubuntu:rolling
  24. - ubuntu:lunar
  25. - ubuntu:jammy
  26. - ubuntu:focal
  27. stable: [true]
  28. include:
  29. - os: quay.io/fedora/fedora:rawhide
  30. stable: false
  31. - os: ubuntu:devel
  32. stable: false
  33. steps:
  34. - uses: actions/checkout@v4
  35. - name: Show OS information
  36. run: cat /etc/os-release 2>/dev/null || \
  37. echo /etc/os-release not available
  38. - name: Install build dependencies
  39. run: bash .github/workflows/install-dependencies
  40. - name: Build tang
  41. run: |
  42. mkdir -p build && cd build
  43. export ninja=$(command -v ninja)
  44. [ -z "${ninja}" ] && export ninja=$(command -v ninja-build)
  45. meson setup .. || cat meson-logs/meson-log.txt >&2
  46. ${ninja}
  47. - name: Run tests
  48. run: |
  49. cd build
  50. if ! meson test ; then
  51. cat meson-logs/testlog.txt >&2
  52. exit -1
  53. fi
  54. - name: Show full test logs
  55. run: |
  56. if [ -r build/meson-logs/testlog.txt ]; then
  57. cat build/meson-logs/testlog.txt >&2
  58. else
  59. echo "No test log available" >&2
  60. fi
  61. container:
  62. image: ${{matrix.os}}
  63. env:
  64. DISTRO: ${{matrix.os}}
  65. # vim:set ts=2 sw=2 et: