config.sh 3.7 KB

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