daily.yml 21 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492
  1. name: Daily
  2. on:
  3. pull_request:
  4. branches:
  5. # any PR to a release branch.
  6. - '[0-9].[0-9]'
  7. schedule:
  8. - cron: '0 0 * * *'
  9. workflow_dispatch:
  10. inputs:
  11. skipjobs:
  12. description: 'jobs to skip (delete the ones you wanna keep, do not leave empty)'
  13. default: 'valgrind,tls,freebsd,macos,alpine,32bit'
  14. skiptests:
  15. description: 'tests to skip (delete the ones you wanna keep, do not leave empty)'
  16. default: 'redis,modules,sentinel,cluster'
  17. test_args:
  18. description: 'extra test arguments'
  19. default: ''
  20. cluster_test_args:
  21. description: 'extra cluster / sentinel test arguments'
  22. default: ''
  23. use_repo:
  24. description: 'repo owner and name'
  25. default: 'redis/redis'
  26. use_git_ref:
  27. description: 'git branch or sha to use'
  28. default: 'unstable'
  29. jobs:
  30. test-ubuntu-jemalloc:
  31. runs-on: ubuntu-latest
  32. if: github.repository == 'redis/redis'
  33. timeout-minutes: 14400
  34. steps:
  35. - name: prep
  36. if: github.event_name == 'workflow_dispatch'
  37. run: |
  38. echo "GITHUB_REPOSITORY=${{github.event.inputs.use_repo}}" >> $GITHUB_ENV
  39. echo "GITHUB_HEAD_REF=${{github.event.inputs.use_git_ref}}" >> $GITHUB_ENV
  40. echo "skipping: ${{github.event.inputs.skipjobs}} and ${{github.event.inputs.skiptests}}"
  41. - uses: actions/checkout@v2
  42. with:
  43. repository: ${{ env.GITHUB_REPOSITORY }}
  44. ref: ${{ env.GITHUB_HEAD_REF }}
  45. - name: make
  46. run: make REDIS_CFLAGS='-Werror -DREDIS_TEST'
  47. - name: testprep
  48. run: sudo apt-get install tcl8.6 tclx
  49. - name: test
  50. if: true && !contains(github.event.inputs.skiptests, 'redis')
  51. run: ./runtest --accurate --verbose --dump-logs ${{github.event.inputs.test_args}}
  52. - name: module api test
  53. if: true && !contains(github.event.inputs.skiptests, 'modules')
  54. run: ./runtest-moduleapi --verbose ${{github.event.inputs.test_args}}
  55. - name: sentinel tests
  56. if: true && !contains(github.event.inputs.skiptests, 'sentinel')
  57. run: ./runtest-sentinel ${{github.event.inputs.cluster_test_args}}
  58. - name: cluster tests
  59. if: true && !contains(github.event.inputs.skiptests, 'cluster')
  60. run: ./runtest-cluster ${{github.event.inputs.cluster_test_args}}
  61. - name: unittest
  62. run: ./src/redis-server test all
  63. test-ubuntu-libc-malloc:
  64. runs-on: ubuntu-latest
  65. if: github.repository == 'redis/redis'
  66. timeout-minutes: 14400
  67. steps:
  68. - name: prep
  69. if: github.event_name == 'workflow_dispatch'
  70. run: |
  71. echo "GITHUB_REPOSITORY=${{github.event.inputs.use_repo}}" >> $GITHUB_ENV
  72. echo "GITHUB_HEAD_REF=${{github.event.inputs.use_git_ref}}" >> $GITHUB_ENV
  73. - uses: actions/checkout@v2
  74. with:
  75. repository: ${{ env.GITHUB_REPOSITORY }}
  76. ref: ${{ env.GITHUB_HEAD_REF }}
  77. - name: make
  78. run: make MALLOC=libc
  79. - name: testprep
  80. run: sudo apt-get install tcl8.6 tclx
  81. - name: test
  82. if: true && !contains(github.event.inputs.skiptests, 'redis')
  83. run: ./runtest --accurate --verbose --dump-logs ${{github.event.inputs.test_args}}
  84. - name: module api test
  85. if: true && !contains(github.event.inputs.skiptests, 'modules')
  86. run: ./runtest-moduleapi --verbose ${{github.event.inputs.test_args}}
  87. - name: sentinel tests
  88. if: true && !contains(github.event.inputs.skiptests, 'sentinel')
  89. run: ./runtest-sentinel ${{github.event.inputs.cluster_test_args}}
  90. - name: cluster tests
  91. if: true && !contains(github.event.inputs.skiptests, 'cluster')
  92. run: ./runtest-cluster ${{github.event.inputs.cluster_test_args}}
  93. test-ubuntu-no-malloc-usable-size:
  94. runs-on: ubuntu-latest
  95. if: github.repository == 'redis/redis'
  96. timeout-minutes: 14400
  97. steps:
  98. - name: prep
  99. if: github.event_name == 'workflow_dispatch'
  100. run: |
  101. echo "GITHUB_REPOSITORY=${{github.event.inputs.use_repo}}" >> $GITHUB_ENV
  102. echo "GITHUB_HEAD_REF=${{github.event.inputs.use_git_ref}}" >> $GITHUB_ENV
  103. - uses: actions/checkout@v2
  104. with:
  105. repository: ${{ env.GITHUB_REPOSITORY }}
  106. ref: ${{ env.GITHUB_HEAD_REF }}
  107. - name: make
  108. run: make MALLOC=libc CFLAGS=-DNO_MALLOC_USABLE_SIZE
  109. - name: testprep
  110. run: sudo apt-get install tcl8.6 tclx
  111. - name: test
  112. if: true && !contains(github.event.inputs.skiptests, 'redis')
  113. run: ./runtest --accurate --verbose --dump-logs ${{github.event.inputs.test_args}}
  114. - name: module api test
  115. if: true && !contains(github.event.inputs.skiptests, 'modules')
  116. run: ./runtest-moduleapi --verbose ${{github.event.inputs.test_args}}
  117. - name: sentinel tests
  118. if: true && !contains(github.event.inputs.skiptests, 'sentinel')
  119. run: ./runtest-sentinel ${{github.event.inputs.cluster_test_args}}
  120. - name: cluster tests
  121. if: true && !contains(github.event.inputs.skiptests, 'cluster')
  122. run: ./runtest-cluster ${{github.event.inputs.cluster_test_args}}
  123. test-ubuntu-32bit:
  124. runs-on: ubuntu-latest
  125. if: github.repository == 'redis/redis' && !contains(github.event.inputs.skipjobs, '32bit')
  126. timeout-minutes: 14400
  127. steps:
  128. - name: prep
  129. if: github.event_name == 'workflow_dispatch'
  130. run: |
  131. echo "GITHUB_REPOSITORY=${{github.event.inputs.use_repo}}" >> $GITHUB_ENV
  132. echo "GITHUB_HEAD_REF=${{github.event.inputs.use_git_ref}}" >> $GITHUB_ENV
  133. - uses: actions/checkout@v2
  134. with:
  135. repository: ${{ env.GITHUB_REPOSITORY }}
  136. ref: ${{ env.GITHUB_HEAD_REF }}
  137. - name: make
  138. run: |
  139. sudo apt-get update && sudo apt-get install libc6-dev-i386
  140. make 32bit REDIS_CFLAGS='-Werror -DREDIS_TEST'
  141. - name: testprep
  142. run: sudo apt-get install tcl8.6 tclx
  143. - name: test
  144. if: true && !contains(github.event.inputs.skiptests, 'redis')
  145. run: ./runtest --accurate --verbose --dump-logs ${{github.event.inputs.test_args}}
  146. - name: module api test
  147. if: true && !contains(github.event.inputs.skiptests, 'modules')
  148. run: |
  149. make -C tests/modules 32bit # the script below doesn't have an argument, we must build manually ahead of time
  150. ./runtest-moduleapi --verbose ${{github.event.inputs.test_args}}
  151. - name: sentinel tests
  152. if: true && !contains(github.event.inputs.skiptests, 'sentinel')
  153. run: ./runtest-sentinel ${{github.event.inputs.cluster_test_args}}
  154. - name: cluster tests
  155. if: true && !contains(github.event.inputs.skiptests, 'cluster')
  156. run: ./runtest-cluster ${{github.event.inputs.cluster_test_args}}
  157. - name: unittest
  158. run: ./src/redis-server test all
  159. test-ubuntu-tls:
  160. runs-on: ubuntu-latest
  161. if: github.repository == 'redis/redis' && !contains(github.event.inputs.skipjobs, 'tls')
  162. timeout-minutes: 14400
  163. steps:
  164. - name: prep
  165. if: github.event_name == 'workflow_dispatch'
  166. run: |
  167. echo "GITHUB_REPOSITORY=${{github.event.inputs.use_repo}}" >> $GITHUB_ENV
  168. echo "GITHUB_HEAD_REF=${{github.event.inputs.use_git_ref}}" >> $GITHUB_ENV
  169. - uses: actions/checkout@v2
  170. with:
  171. repository: ${{ env.GITHUB_REPOSITORY }}
  172. ref: ${{ env.GITHUB_HEAD_REF }}
  173. - name: make
  174. run: |
  175. make BUILD_TLS=yes
  176. - name: testprep
  177. run: |
  178. sudo apt-get install tcl8.6 tclx tcl-tls
  179. ./utils/gen-test-certs.sh
  180. - name: test
  181. if: true && !contains(github.event.inputs.skiptests, 'redis')
  182. run: |
  183. ./runtest --accurate --verbose --tls --dump-logs ${{github.event.inputs.test_args}}
  184. ./runtest --accurate --verbose --dump-logs ${{github.event.inputs.test_args}}
  185. - name: module api test
  186. if: true && !contains(github.event.inputs.skiptests, 'modules')
  187. run: |
  188. ./runtest-moduleapi --verbose --tls ${{github.event.inputs.test_args}}
  189. ./runtest-moduleapi --verbose ${{github.event.inputs.test_args}}
  190. - name: sentinel tests
  191. if: true && !contains(github.event.inputs.skiptests, 'sentinel')
  192. run: |
  193. ./runtest-sentinel --tls ${{github.event.inputs.cluster_test_args}}
  194. ./runtest-sentinel ${{github.event.inputs.cluster_test_args}}
  195. - name: cluster tests
  196. if: true && !contains(github.event.inputs.skiptests, 'cluster')
  197. run: |
  198. ./runtest-cluster --tls ${{github.event.inputs.cluster_test_args}}
  199. ./runtest-cluster ${{github.event.inputs.cluster_test_args}}
  200. test-ubuntu-io-threads:
  201. runs-on: ubuntu-latest
  202. if: github.repository == 'redis/redis' && !contains(github.event.inputs.skipjobs, 'iothreads')
  203. timeout-minutes: 14400
  204. steps:
  205. - name: prep
  206. if: github.event_name == 'workflow_dispatch'
  207. run: |
  208. echo "GITHUB_REPOSITORY=${{github.event.inputs.use_repo}}" >> $GITHUB_ENV
  209. echo "GITHUB_HEAD_REF=${{github.event.inputs.use_git_ref}}" >> $GITHUB_ENV
  210. - uses: actions/checkout@v2
  211. with:
  212. repository: ${{ env.GITHUB_REPOSITORY }}
  213. ref: ${{ env.GITHUB_HEAD_REF }}
  214. - name: make
  215. run: |
  216. make
  217. - name: testprep
  218. run: sudo apt-get install tcl8.6 tclx
  219. - name: test
  220. if: true && !contains(github.event.inputs.skiptests, 'redis')
  221. run: ./runtest --config io-threads 4 --config io-threads-do-reads yes --accurate --verbose --tags network --dump-logs ${{github.event.inputs.test_args}}
  222. - name: cluster tests
  223. if: true && !contains(github.event.inputs.skiptests, 'cluster')
  224. run: ./runtest-cluster --config io-threads 4 --config io-threads-do-reads yes ${{github.event.inputs.cluster_test_args}}
  225. test-valgrind:
  226. runs-on: ubuntu-latest
  227. if: github.repository == 'redis/redis' && !contains(github.event.inputs.skipjobs, 'valgrind')
  228. timeout-minutes: 14400
  229. steps:
  230. - name: prep
  231. if: github.event_name == 'workflow_dispatch'
  232. run: |
  233. echo "GITHUB_REPOSITORY=${{github.event.inputs.use_repo}}" >> $GITHUB_ENV
  234. echo "GITHUB_HEAD_REF=${{github.event.inputs.use_git_ref}}" >> $GITHUB_ENV
  235. - uses: actions/checkout@v2
  236. with:
  237. repository: ${{ env.GITHUB_REPOSITORY }}
  238. ref: ${{ env.GITHUB_HEAD_REF }}
  239. - name: make
  240. run: make valgrind REDIS_CFLAGS='-Werror -DREDIS_TEST'
  241. - name: testprep
  242. run: |
  243. sudo apt-get update
  244. sudo apt-get install tcl8.6 tclx valgrind -y
  245. - name: test
  246. if: true && !contains(github.event.inputs.skiptests, 'redis')
  247. run: ./runtest --valgrind --verbose --clients 1 --tags -large-memory --dump-logs ${{github.event.inputs.test_args}}
  248. - name: module api test
  249. if: true && !contains(github.event.inputs.skiptests, 'modules')
  250. run: ./runtest-moduleapi --valgrind --no-latency --verbose --clients 1 ${{github.event.inputs.test_args}}
  251. - name: unittest
  252. run: |
  253. valgrind --track-origins=yes --suppressions=./src/valgrind.sup --show-reachable=no --show-possibly-lost=no --leak-check=full --log-file=err.txt ./src/redis-server test all
  254. if grep -q 0x err.txt; then cat err.txt; exit 1; fi
  255. test-valgrind-no-malloc-usable-size:
  256. runs-on: ubuntu-latest
  257. if: github.repository == 'redis/redis' && !contains(github.event.inputs.skipjobs, 'valgrind')
  258. timeout-minutes: 14400
  259. steps:
  260. - name: prep
  261. if: github.event_name == 'workflow_dispatch'
  262. run: |
  263. echo "GITHUB_REPOSITORY=${{github.event.inputs.use_repo}}" >> $GITHUB_ENV
  264. echo "GITHUB_HEAD_REF=${{github.event.inputs.use_git_ref}}" >> $GITHUB_ENV
  265. - uses: actions/checkout@v2
  266. with:
  267. repository: ${{ env.GITHUB_REPOSITORY }}
  268. ref: ${{ env.GITHUB_HEAD_REF }}
  269. - name: make
  270. run: make valgrind CFLAGS="-DNO_MALLOC_USABLE_SIZE"
  271. - name: testprep
  272. run: |
  273. sudo apt-get update
  274. sudo apt-get install tcl8.6 tclx valgrind -y
  275. - name: test
  276. if: true && !contains(github.event.inputs.skiptests, 'redis')
  277. run: ./runtest --valgrind --verbose --clients 1 --tags -large-memory --dump-logs ${{github.event.inputs.test_args}}
  278. - name: module api test
  279. if: true && !contains(github.event.inputs.skiptests, 'modules')
  280. run: ./runtest-moduleapi --valgrind --no-latency --verbose --clients 1 ${{github.event.inputs.test_args}}
  281. test-centos7-jemalloc:
  282. runs-on: ubuntu-latest
  283. if: github.repository == 'redis/redis'
  284. container: centos:7
  285. timeout-minutes: 14400
  286. steps:
  287. - name: prep
  288. if: github.event_name == 'workflow_dispatch'
  289. run: |
  290. echo "GITHUB_REPOSITORY=${{github.event.inputs.use_repo}}" >> $GITHUB_ENV
  291. echo "GITHUB_HEAD_REF=${{github.event.inputs.use_git_ref}}" >> $GITHUB_ENV
  292. - uses: actions/checkout@v2
  293. with:
  294. repository: ${{ env.GITHUB_REPOSITORY }}
  295. ref: ${{ env.GITHUB_HEAD_REF }}
  296. - name: make
  297. run: |
  298. yum -y install gcc make
  299. make
  300. - name: testprep
  301. run: yum -y install which tcl tclx
  302. - name: test
  303. if: true && !contains(github.event.inputs.skiptests, 'redis')
  304. run: ./runtest --accurate --verbose --dump-logs ${{github.event.inputs.test_args}}
  305. - name: module api test
  306. if: true && !contains(github.event.inputs.skiptests, 'modules')
  307. run: ./runtest-moduleapi --verbose ${{github.event.inputs.test_args}}
  308. - name: sentinel tests
  309. if: true && !contains(github.event.inputs.skiptests, 'sentinel')
  310. run: ./runtest-sentinel ${{github.event.inputs.cluster_test_args}}
  311. - name: cluster tests
  312. if: true && !contains(github.event.inputs.skiptests, 'cluster')
  313. run: ./runtest-cluster ${{github.event.inputs.cluster_test_args}}
  314. test-centos7-tls:
  315. runs-on: ubuntu-latest
  316. if: github.repository == 'redis/redis' && !contains(github.event.inputs.skipjobs, 'tls')
  317. container: centos:7
  318. timeout-minutes: 14400
  319. steps:
  320. - name: prep
  321. if: github.event_name == 'workflow_dispatch'
  322. run: |
  323. echo "GITHUB_REPOSITORY=${{github.event.inputs.use_repo}}" >> $GITHUB_ENV
  324. echo "GITHUB_HEAD_REF=${{github.event.inputs.use_git_ref}}" >> $GITHUB_ENV
  325. - uses: actions/checkout@v2
  326. with:
  327. repository: ${{ env.GITHUB_REPOSITORY }}
  328. ref: ${{ env.GITHUB_HEAD_REF }}
  329. - name: make
  330. run: |
  331. yum -y install centos-release-scl epel-release
  332. yum -y install devtoolset-7 openssl-devel openssl
  333. scl enable devtoolset-7 "make BUILD_TLS=yes"
  334. - name: testprep
  335. run: |
  336. yum -y install tcl tcltls tclx
  337. ./utils/gen-test-certs.sh
  338. - name: test
  339. if: true && !contains(github.event.inputs.skiptests, 'redis')
  340. run: |
  341. ./runtest --accurate --verbose --tls --dump-logs ${{github.event.inputs.test_args}}
  342. ./runtest --accurate --verbose --dump-logs ${{github.event.inputs.test_args}}
  343. - name: module api test
  344. if: true && !contains(github.event.inputs.skiptests, 'modules')
  345. run: |
  346. ./runtest-moduleapi --verbose --tls ${{github.event.inputs.test_args}}
  347. ./runtest-moduleapi --verbose ${{github.event.inputs.test_args}}
  348. - name: sentinel tests
  349. if: true && !contains(github.event.inputs.skiptests, 'sentinel')
  350. run: |
  351. ./runtest-sentinel --tls ${{github.event.inputs.cluster_test_args}}
  352. ./runtest-sentinel ${{github.event.inputs.cluster_test_args}}
  353. - name: cluster tests
  354. if: true && !contains(github.event.inputs.skiptests, 'cluster')
  355. run: |
  356. ./runtest-cluster --tls ${{github.event.inputs.cluster_test_args}}
  357. ./runtest-cluster ${{github.event.inputs.cluster_test_args}}
  358. test-macos-latest:
  359. runs-on: macos-latest
  360. if: github.repository == 'redis/redis' && !contains(github.event.inputs.skipjobs, 'macos')
  361. timeout-minutes: 14400
  362. steps:
  363. - name: prep
  364. if: github.event_name == 'workflow_dispatch'
  365. run: |
  366. echo "GITHUB_REPOSITORY=${{github.event.inputs.use_repo}}" >> $GITHUB_ENV
  367. echo "GITHUB_HEAD_REF=${{github.event.inputs.use_git_ref}}" >> $GITHUB_ENV
  368. - uses: actions/checkout@v2
  369. with:
  370. repository: ${{ env.GITHUB_REPOSITORY }}
  371. ref: ${{ env.GITHUB_HEAD_REF }}
  372. - name: make
  373. run: make
  374. - name: test
  375. if: true && !contains(github.event.inputs.skiptests, 'redis')
  376. run: ./runtest --accurate --verbose --no-latency --dump-logs ${{github.event.inputs.test_args}}
  377. - name: module api test
  378. if: true && !contains(github.event.inputs.skiptests, 'modules')
  379. run: ./runtest-moduleapi --verbose ${{github.event.inputs.test_args}}
  380. - name: sentinel tests
  381. if: true && !contains(github.event.inputs.skiptests, 'sentinel')
  382. run: ./runtest-sentinel ${{github.event.inputs.cluster_test_args}}
  383. - name: cluster tests
  384. if: true && !contains(github.event.inputs.skiptests, 'cluster')
  385. run: ./runtest-cluster ${{github.event.inputs.cluster_test_args}}
  386. test-freebsd:
  387. runs-on: macos-10.15
  388. if: github.repository == 'redis/redis' && !contains(github.event.inputs.skipjobs, 'freebsd')
  389. timeout-minutes: 14400
  390. steps:
  391. - name: prep
  392. if: github.event_name == 'workflow_dispatch'
  393. run: |
  394. echo "GITHUB_REPOSITORY=${{github.event.inputs.use_repo}}" >> $GITHUB_ENV
  395. echo "GITHUB_HEAD_REF=${{github.event.inputs.use_git_ref}}" >> $GITHUB_ENV
  396. - uses: actions/checkout@v2
  397. with:
  398. repository: ${{ env.GITHUB_REPOSITORY }}
  399. ref: ${{ env.GITHUB_HEAD_REF }}
  400. - name: test
  401. uses: vmactions/freebsd-vm@v0.1.4
  402. with:
  403. usesh: true
  404. sync: rsync
  405. prepare: pkg install -y bash gmake lang/tcl86 lang/tclx
  406. run: >
  407. gmake || exit 1 ;
  408. if echo "${{github.event.inputs.skiptests}}" | grep -vq redis ; then ./runtest --accurate --verbose --no-latency --tags -large-memory --dump-logs ${{github.event.inputs.test_args}} || exit 1 ; fi ;
  409. if echo "${{github.event.inputs.skiptests}}" | grep -vq modules ; then MAKE=gmake ./runtest-moduleapi --verbose ${{github.event.inputs.test_args}} || exit 1 ; fi ;
  410. if echo "${{github.event.inputs.skiptests}}" | grep -vq sentinel ; then ./runtest-sentinel ${{github.event.inputs.cluster_test_args}} || exit 1 ; fi ;
  411. if echo "${{github.event.inputs.skiptests}}" | grep -vq cluster ; then ./runtest-cluster ${{github.event.inputs.cluster_test_args}} || exit 1 ; fi ;
  412. test-alpine-jemalloc:
  413. runs-on: ubuntu-latest
  414. if: github.repository == 'redis/redis' && !contains(github.event.inputs.skipjobs, 'alpine')
  415. container: alpine:latest
  416. steps:
  417. - name: prep
  418. if: github.event_name == 'workflow_dispatch'
  419. run: |
  420. echo "GITHUB_REPOSITORY=${{github.event.inputs.use_repo}}" >> $GITHUB_ENV
  421. echo "GITHUB_HEAD_REF=${{github.event.inputs.use_git_ref}}" >> $GITHUB_ENV
  422. - uses: actions/checkout@v2
  423. with:
  424. repository: ${{ env.GITHUB_REPOSITORY }}
  425. ref: ${{ env.GITHUB_HEAD_REF }}
  426. - name: make
  427. run: |
  428. apk add build-base
  429. make REDIS_CFLAGS='-Werror'
  430. - name: testprep
  431. run: apk add tcl procps tclx
  432. - name: test
  433. if: true && !contains(github.event.inputs.skiptests, 'redis')
  434. run: ./runtest --accurate --verbose --dump-logs ${{github.event.inputs.test_args}}
  435. - name: module api test
  436. if: true && !contains(github.event.inputs.skiptests, 'modules')
  437. run: ./runtest-moduleapi --verbose ${{github.event.inputs.test_args}}
  438. - name: sentinel tests
  439. if: true && !contains(github.event.inputs.skiptests, 'sentinel')
  440. run: ./runtest-sentinel ${{github.event.inputs.cluster_test_args}}
  441. - name: cluster tests
  442. if: true && !contains(github.event.inputs.skiptests, 'cluster')
  443. run: ./runtest-cluster ${{github.event.inputs.cluster_test_args}}
  444. test-alpine-libc-malloc:
  445. runs-on: ubuntu-latest
  446. if: github.repository == 'redis/redis' && !contains(github.event.inputs.skipjobs, 'alpine')
  447. container: alpine:latest
  448. steps:
  449. - name: prep
  450. if: github.event_name == 'workflow_dispatch'
  451. run: |
  452. echo "GITHUB_REPOSITORY=${{github.event.inputs.use_repo}}" >> $GITHUB_ENV
  453. echo "GITHUB_HEAD_REF=${{github.event.inputs.use_git_ref}}" >> $GITHUB_ENV
  454. - uses: actions/checkout@v2
  455. with:
  456. repository: ${{ env.GITHUB_REPOSITORY }}
  457. ref: ${{ env.GITHUB_HEAD_REF }}
  458. - name: make
  459. run: |
  460. apk add build-base
  461. make REDIS_CFLAGS='-Werror' USE_JEMALLOC=no CFLAGS=-DUSE_MALLOC_USABLE_SIZE
  462. - name: testprep
  463. run: apk add tcl procps tclx
  464. - name: test
  465. if: true && !contains(github.event.inputs.skiptests, 'redis')
  466. run: ./runtest --accurate --verbose --dump-logs ${{github.event.inputs.test_args}}
  467. - name: module api test
  468. if: true && !contains(github.event.inputs.skiptests, 'modules')
  469. run: ./runtest-moduleapi --verbose ${{github.event.inputs.test_args}}
  470. - name: sentinel tests
  471. if: true && !contains(github.event.inputs.skiptests, 'sentinel')
  472. run: ./runtest-sentinel ${{github.event.inputs.cluster_test_args}}
  473. - name: cluster tests
  474. if: true && !contains(github.event.inputs.skiptests, 'cluster')
  475. run: ./runtest-cluster ${{github.event.inputs.cluster_test_args}}