config.sh 3.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273
  1. #!/bin/bash
  2. set -e
  3. globalTests+=(
  4. utc
  5. cve-2014--shellshock
  6. no-hard-coded-passwords
  7. override-cmd
  8. )
  9. # for "explicit" images, only run tests that are explicitly specified for that image/variant
  10. explicitTests+=(
  11. [:onbuild]=1
  12. [:nanoserver]=1
  13. [:windowsservercore]=1
  14. )
  15. imageTests[:onbuild]+='
  16. override-cmd
  17. '
  18. testAlias+=(
  19. [amazoncorretto]='openjdk'
  20. [iojs]='node'
  21. [jruby]='ruby'
  22. [pypy]='python'
  23. [ubuntu]='debian'
  24. [ubuntu-debootstrap]='debian'
  25. [mariadb]='mysql'
  26. [percona]='mysql'
  27. [percona:psmdb]='mongo'
  28. [hola-mundo]='hello-world'
  29. [hello-seattle]='hello-world'
  30. )
  31. imageTests+=(
  32. [aerospike]='
  33. '
  34. [busybox]='
  35. '
  36. [cassandra]='
  37. cassandra-basics
  38. '
  39. [celery]='
  40. '
  41. [clojure]='
  42. '
  43. [crate]='
  44. '
  45. [composer]='
  46. composer
  47. '
  48. [convertigo]='
  49. convertigo-hello-world
  50. '
  51. [debian]='
  52. debian-apt-get
  53. '
  54. [docker:dind]='
  55. docker-dind
  56. docker-registry-push-pull
  57. '
  58. [django]='
  59. '
  60. [elasticsearch]='
  61. elasticsearch-basics
  62. '
  63. [elixir]='
  64. elixir-hello-world
  65. '
  66. [erlang]='
  67. erlang-hello-world
  68. '
  69. [fsharp]='
  70. fsharp-hello-world
  71. '
  72. [gcc]='
  73. gcc-c-hello-world
  74. gcc-cpp-hello-world
  75. golang-hello-world
  76. '
  77. [ghost]='
  78. ghost-basics
  79. '
  80. [golang]='
  81. golang-hello-world
  82. '
  83. [haproxy]='
  84. haproxy-basics
  85. '
  86. [haskell]='
  87. haskell-cabal
  88. haskell-stack
  89. haskell-ghci
  90. haskell-runhaskell
  91. '
  92. [haxe]='
  93. haxe-hello-world
  94. haxe-haxelib-install
  95. '
  96. [hylang]='
  97. hylang-sh
  98. hylang-hello-world
  99. '
  100. [jetty]='
  101. jetty-hello-web
  102. '
  103. [julia]='
  104. julia-hello-world
  105. julia-downloads
  106. '
  107. [logstash]='
  108. logstash-basics
  109. '
  110. [memcached]='
  111. memcached-basics
  112. '
  113. [mongo]='
  114. mongo-basics
  115. mongo-auth-basics
  116. '
  117. [mono]='
  118. '
  119. [mysql]='
  120. mysql-basics
  121. mysql-initdb
  122. mysql-log-bin
  123. '
  124. [node]='
  125. node-hello-world
  126. '
  127. [nuxeo]='
  128. nuxeo-conf
  129. nuxeo-basics
  130. '
  131. [openjdk]='
  132. java-hello-world
  133. java-uimanager-font
  134. java-ca-certificates
  135. '
  136. [open-liberty]='
  137. open-liberty-hello-world
  138. '
  139. [percona]='
  140. percona-tokudb
  141. percona-rocksdb
  142. '
  143. [perl]='
  144. perl-hello-world
  145. '
  146. [php]='
  147. php-ext-install
  148. php-hello-world
  149. php-argon2
  150. '
  151. [php:apache]='
  152. php-apache-hello-web
  153. '
  154. [php:fpm]='
  155. php-fpm-hello-web
  156. '
  157. [plone]='
  158. plone-basics
  159. plone-addons
  160. plone-zeoclient
  161. '
  162. [postgres]='
  163. postgres-basics
  164. postgres-initdb
  165. '
  166. [python]='
  167. python-hy
  168. python-imports
  169. python-pip-requests-ssl
  170. python-sqlite3
  171. python-stack-size
  172. '
  173. [rabbitmq]='
  174. rabbitmq-basics
  175. '
  176. [r-base]='
  177. '
  178. [rails]='
  179. '
  180. [rapidoid]='
  181. rapidoid-hello-world
  182. rapidoid-load-balancer
  183. '
  184. [redis]='
  185. redis-basics
  186. redis-basics-config
  187. redis-basics-persistent
  188. '
  189. [redmine]='
  190. redmine-basics
  191. '
  192. [registry]='
  193. docker-registry-push-pull
  194. '
  195. [rethinkdb]='
  196. '
  197. [ruby]='
  198. ruby-hello-world
  199. ruby-standard-libs
  200. ruby-gems
  201. ruby-bundler
  202. ruby-nonroot
  203. '
  204. [rust]='
  205. rust-hello-world
  206. '
  207. [silverpeas]='
  208. silverpeas-basics
  209. '
  210. [swipl]='
  211. swipl-modules
  212. '
  213. [swift]='
  214. swift-hello-world
  215. '
  216. [tomcat]='
  217. tomcat-hello-world
  218. '
  219. [wordpress:apache]='
  220. wordpress-apache-run
  221. '
  222. [wordpress:fpm]='
  223. wordpress-fpm-run
  224. '
  225. [znc]='
  226. znc-basics
  227. '
  228. [zookeeper]='
  229. zookeeper-basics
  230. '
  231. # example onbuild
  232. # [python:onbuild]='
  233. # py-onbuild
  234. # '
  235. )
  236. globalExcludeTests+=(
  237. # single-binary images
  238. [hello-world_utc]=1
  239. [nats_utc]=1
  240. [nats-streaming_utc]=1
  241. [swarm_utc]=1
  242. [traefik_utc]=1
  243. [hello-world_no-hard-coded-passwords]=1
  244. [nats_no-hard-coded-passwords]=1
  245. [nats-streaming_no-hard-coded-passwords]=1
  246. [swarm_no-hard-coded-passwords]=1
  247. [traefik_no-hard-coded-passwords]=1
  248. # clearlinux has no /etc/password
  249. # https://github.com/docker-library/official-images/pull/1721#issuecomment-234128477
  250. [clearlinux_no-hard-coded-passwords]=1
  251. # alpine/slim openjdk images are headless and so can't do font stuff
  252. [openjdk:alpine_java-uimanager-font]=1
  253. [openjdk:slim_java-uimanager-font]=1
  254. # no "native" dependencies
  255. [ruby:alpine_ruby-bundler]=1
  256. [ruby:alpine_ruby-gems]=1
  257. [ruby:slim_ruby-bundler]=1
  258. [ruby:slim_ruby-gems]=1
  259. [percona:psmdb_percona-tokudb]=1
  260. [percona:psmdb_percona-rocksdb]=1
  261. )