config.sh 3.8 KB

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