config.sh 3.8 KB

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