config.sh 4.1 KB

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