config.sh 4.5 KB

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