make.yml 1.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051
  1. ---
  2. name: Make
  3. on:
  4. schedule:
  5. - cron: '0 0 1 * *'
  6. push:
  7. branches:
  8. - "**"
  9. pull_request:
  10. branches:
  11. - master
  12. - main
  13. concurrency:
  14. group: ${{ github.workflow }}-${{ github.ref }}
  15. cancel-in-progress: true
  16. jobs:
  17. build:
  18. runs-on: ${{ matrix.os }}
  19. timeout-minutes: 120
  20. strategy:
  21. matrix:
  22. os:
  23. - ubuntu-latest
  24. steps:
  25. - name: Checkout
  26. uses: actions/checkout@v6
  27. with:
  28. submodules: true
  29. - name: Build
  30. shell: bash
  31. run: |
  32. set -xeuo pipefail
  33. sudo bash -c '
  34. apt-get update
  35. apt-get install -y lazarus lib{gnutls28,curl4-gnutls}-dev
  36. ' >/dev/null
  37. mkdir -p libsagui/build
  38. if pushd libsagui/build; then
  39. cmake -DCMAKE_C_COMPILER=clang ..
  40. make && sudo make sagui install/strip && sudo ldconfig
  41. if popd; then
  42. instantfpc -Fu/usr/lib/lazarus/*/components/lazutils \
  43. -B '.github/workflows/make.pas'
  44. pushd Test && bash RunAllTests.sh
  45. fi
  46. fi