ci.yml 3.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125
  1. name: GitHub CI
  2. on: [pull_request, push]
  3. # for some reason, this does not work:
  4. # variables:
  5. # BUILDOPTS: "-j4"
  6. # HARNESS_JOBS: "${HARNESS_JOBS:-4}"
  7. # for some reason, this does not work:
  8. # before_script:
  9. # - make="make -s"
  10. jobs:
  11. check_update:
  12. runs-on: ubuntu-latest
  13. steps:
  14. - uses: actions/checkout@v2
  15. - name: config
  16. run: ./config --strict-warnings && perl configdata.pm --dump
  17. - name: make build_generated
  18. run: make -s build_generated
  19. - name: make update
  20. run: make -s update
  21. - name: git diff
  22. run: git diff --exit-code
  23. check_docs:
  24. runs-on: ubuntu-latest
  25. steps:
  26. - uses: actions/checkout@v2
  27. - name: config
  28. run: ./config --strict-warnings && perl configdata.pm --dump
  29. - name: make build_generated
  30. run: make -s build_generated
  31. - name: make doc-nits
  32. run: make doc-nits
  33. basic_gcc:
  34. runs-on: ubuntu-latest
  35. steps:
  36. - uses: actions/checkout@v2
  37. - name: config
  38. run: ./config --strict-warnings && perl configdata.pm --dump
  39. - name: make
  40. run: make -s -j4
  41. - name: make test
  42. run: make test HARNESS_JOBS=${HARNESS_JOBS:-4}
  43. basic_clang:
  44. runs-on: ubuntu-latest
  45. steps:
  46. - uses: actions/checkout@v2
  47. - name: config
  48. run: CC=clang ./config --strict-warnings && perl configdata.pm --dump
  49. - name: make
  50. run: make -s -j4
  51. - name: make test
  52. run: make test HARNESS_JOBS=${HARNESS_JOBS:-4}
  53. minimal:
  54. runs-on: ubuntu-latest
  55. steps:
  56. - uses: actions/checkout@v2
  57. - name: config
  58. run: ./config --strict-warnings no-bulk no-pic no-asm -DOPENSSL_NO_SECURE_MEMORY -DOPENSSL_SMALL_FOOTPRINT && perl configdata.pm --dump
  59. - name: make
  60. run: make -s -j4
  61. - name: make test
  62. run: make test HARNESS_JOBS=${HARNESS_JOBS:-4}
  63. no-deprecated:
  64. runs-on: ubuntu-latest
  65. steps:
  66. - uses: actions/checkout@v2
  67. - name: config
  68. run: ./config --strict-warnings no-deprecated && perl configdata.pm --dump
  69. - name: make
  70. run: make -s -j4
  71. - name: make test
  72. run: make test HARNESS_JOBS=${HARNESS_JOBS:-4}
  73. sanitizers:
  74. runs-on: ubuntu-latest
  75. steps:
  76. - uses: actions/checkout@v2
  77. - name: config
  78. run: ./config --debug enable-asan enable-ubsan enable-rc5 enable-md2 enable-ec_nistp_64_gcc_128 && perl configdata.pm --dump
  79. - name: make
  80. run: make -s -j4
  81. - name: make test
  82. run: make test HARNESS_JOBS=${HARNESS_JOBS:-4} OPENSSL_TEST_RAND_ORDER=0
  83. enable_non-default_options:
  84. runs-on: ubuntu-latest
  85. steps:
  86. - uses: actions/checkout@v2
  87. - name: config
  88. run: ./config --strict-warnings no-ec enable-ssl-trace enable-zlib enable-zlib-dynamic enable-crypto-mdebug enable-crypto-mdebug-backtrace enable-egd && perl configdata.pm --dump
  89. - name: make
  90. run: make -s -j4
  91. - name: make test
  92. run: make test HARNESS_JOBS=${HARNESS_JOBS:-4}
  93. legacy:
  94. runs-on: ubuntu-latest
  95. steps:
  96. - uses: actions/checkout@v2
  97. - name: config
  98. run: ./config -Werror --debug no-afalgeng no-shared enable-crypto-mdebug enable-rc5 enable-md2 && perl configdata.pm --dump
  99. - name: make
  100. run: make -s -j4
  101. - name: make test
  102. run: make test HARNESS_JOBS=${HARNESS_JOBS:-4}
  103. buildtest:
  104. runs-on: ubuntu-latest
  105. steps:
  106. - uses: actions/checkout@v2
  107. - name: config
  108. run: ./config no-asm no-makedepend enable-buildtest-c++ --strict-warnings -D_DEFAULT_SOURCE && perl configdata.pm --dump
  109. - name: make
  110. run: make -s -j4
  111. - name: make test
  112. run: make test HARNESS_JOBS=${HARNESS_JOBS:-4}