checks.yml 2.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495
  1. ---
  2. name: Checks
  3. on:
  4. push:
  5. paths:
  6. - '**.c'
  7. - '**.cc'
  8. - '**.h'
  9. - '**.hh'
  10. - '**.in'
  11. - '!netdata.spec.in'
  12. - 'configure.ac'
  13. - '**/Makefile*'
  14. - 'Makefile*'
  15. - '.gitignore'
  16. - '.github/workflows/checks.yml'
  17. - 'build/**'
  18. - 'aclk/aclk-schemas/'
  19. - 'ml/dlib/'
  20. - 'mqtt_websockets'
  21. - 'web/server/h2o/libh2o'
  22. branches:
  23. - master
  24. pull_request:
  25. paths: # This MUST be kept in-sync with the paths-ignore key for the checks-dummy.yml workflow.
  26. - '**.c'
  27. - '**.cc'
  28. - '**.h'
  29. - '**.hh'
  30. - '**.in'
  31. - '!netdata.spec.in'
  32. - 'configure.ac'
  33. - '**/Makefile*'
  34. - 'Makefile*'
  35. - '.gitignore'
  36. - '.github/workflows/checks.yml'
  37. - 'build/**'
  38. - 'aclk/aclk-schemas/'
  39. - 'ml/dlib/'
  40. - 'mqtt_websockets'
  41. - 'web/server/h2o/libh2o'
  42. env:
  43. DISABLE_TELEMETRY: 1
  44. concurrency:
  45. group: checks-${{ github.ref }}
  46. cancel-in-progress: true
  47. jobs:
  48. libressl-checks:
  49. name: LibreSSL
  50. runs-on: ubuntu-latest
  51. steps:
  52. - name: Checkout
  53. uses: actions/checkout@v3
  54. with:
  55. submodules: recursive
  56. - name: Build
  57. run: >
  58. docker run -v "$PWD":/netdata -w /netdata alpine:latest /bin/sh -c
  59. 'apk add bash;
  60. ./packaging/installer/install-required-packages.sh --dont-wait --non-interactive netdata;
  61. apk del openssl openssl-dev;
  62. apk add libressl libressl-dev;
  63. autoreconf -ivf;
  64. ./configure --disable-dependency-tracking;
  65. make;'
  66. clang-checks:
  67. name: Clang
  68. runs-on: ubuntu-latest
  69. steps:
  70. - name: Checkout
  71. uses: actions/checkout@v3
  72. with:
  73. submodules: recursive
  74. - name: Build
  75. run: |
  76. docker build -f .github/dockerfiles/Dockerfile.clang .
  77. gitignore-check:
  78. name: .gitignore
  79. runs-on: ubuntu-latest
  80. steps:
  81. - name: Checkout
  82. uses: actions/checkout@v3
  83. with:
  84. submodules: recursive
  85. - name: Prepare environment
  86. run: ./packaging/installer/install-required-packages.sh --dont-wait --non-interactive netdata
  87. - name: Build netdata
  88. run: ./netdata-installer.sh --dont-start-it --disable-telemetry --dont-wait --install-prefix /tmp/install --one-time-build
  89. - name: Check that repo is clean
  90. run: |
  91. git status --porcelain=v1 > /tmp/porcelain
  92. if [ -s /tmp/porcelain ]; then
  93. cat /tmp/porcelain
  94. exit 1
  95. fi