mirror of
https://github.com/devilbox/docker-php-fpm.git
synced 2025-12-15 21:41:15 +00:00
Fix work images
This commit is contained in:
@@ -38,38 +38,33 @@ RUN set -eux \
|
||||
curl \
|
||||
dirmngr \
|
||||
gnupg \
|
||||
{% for repo in apt_repositories_enabled -%}
|
||||
\
|
||||
{%- for repo in apt_repositories_enabled -%}
|
||||
{#- Not disabled -#}
|
||||
{%- if ('disabled' not in apt_repositories_available[repo]) or (php_version not in apt_repositories_available[repo]['disabled']) -%}
|
||||
{#- Version specific pre-command available? -#}
|
||||
{%- if php_version in apt_repositories_available[repo] and 'pre' in apt_repositories_available[repo][php_version] %}
|
||||
&& {{ apt_repositories_available[repo][php_version]['pre'] }} \
|
||||
{# #}
|
||||
{%- if php_version in apt_repositories_available[repo] and 'pre' in apt_repositories_available[repo][php_version] -%}
|
||||
{{ "\n\t" }}&& {{ apt_repositories_available[repo][php_version]['pre'] }} \
|
||||
{#- Generic pre-command available? -#}
|
||||
{%- elif 'all' in apt_repositories_available[repo] and 'pre' in apt_repositories_available[repo]['all'] %}
|
||||
&& {{ apt_repositories_available[repo]['all']['pre'] }} \
|
||||
{# #}
|
||||
{%- elif 'all' in apt_repositories_available[repo] and 'pre' in apt_repositories_available[repo]['all'] -%}
|
||||
{{ "\n\t" }}&& {{ apt_repositories_available[repo]['all']['pre'] }} \
|
||||
{%- endif -%}
|
||||
{#- Version specific key available? -#}
|
||||
{%- if php_version in apt_repositories_available[repo] and 'key' in apt_repositories_available[repo][php_version] %}
|
||||
&& APT_KEY_DONT_WARN_ON_DANGEROUS_USAGE=1 apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv {{ apt_repositories_available[repo][php_version]['key'] }} \
|
||||
{# #}
|
||||
{%- if php_version in apt_repositories_available[repo] and 'key' in apt_repositories_available[repo][php_version] -%}
|
||||
{{ "\n\t" }}&& APT_KEY_DONT_WARN_ON_DANGEROUS_USAGE=1 apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv {{ apt_repositories_available[repo][php_version]['key'] }} \
|
||||
{#- Generic key available? -#}
|
||||
{%- elif 'all' in apt_repositories_available[repo] and 'key' in apt_repositories_available[repo]['all'] %}
|
||||
&& APT_KEY_DONT_WARN_ON_DANGEROUS_USAGE=1 apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv {{ apt_repositories_available[repo]['all']['key'] }} \
|
||||
{# #}
|
||||
{%- elif 'all' in apt_repositories_available[repo] and 'key' in apt_repositories_available[repo]['all'] -%}
|
||||
{{ "\n\t" }}&& APT_KEY_DONT_WARN_ON_DANGEROUS_USAGE=1 apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv {{ apt_repositories_available[repo]['all']['key'] }} \
|
||||
{%- endif -%}
|
||||
{#- Version specific repository available? -#}
|
||||
{%- if php_version in apt_repositories_available[repo] and 'deb' in apt_repositories_available[repo][php_version] %}
|
||||
&& echo "{{ apt_repositories_available[repo][php_version]['deb'] }}" > /etc/apt/sources.list.d/{{ repo }}.list \
|
||||
{# #}
|
||||
{%- if php_version in apt_repositories_available[repo] and 'deb' in apt_repositories_available[repo][php_version] -%}
|
||||
{{ "\n\t" }}&& echo "{{ apt_repositories_available[repo][php_version]['deb'] }}" > /etc/apt/sources.list.d/{{ repo }}.list \
|
||||
{#- Generic repository available? -#}
|
||||
{%- else %}
|
||||
&& echo "{{ apt_repositories_available[repo]['all']['deb'] }}" > /etc/apt/sources.list.d/{{ repo }}.list \
|
||||
{# #}
|
||||
{%- elif 'all' in apt_repositories_available[repo] and 'deb' in apt_repositories_available[repo]['all'] -%}
|
||||
{{ "\n\t" }}&& echo "{{ apt_repositories_available[repo]['all']['deb'] }}" > /etc/apt/sources.list.d/{{ repo }}.list \
|
||||
{%- endif -%}
|
||||
{%- endif -%}
|
||||
{%- endfor %}
|
||||
{%- endfor -%}{{ "\n\t" }}\
|
||||
&& DEBIAN_FRONTEND=noninteractive apt-get update -qq \
|
||||
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests \
|
||||
ack-grep \
|
||||
@@ -105,7 +100,11 @@ RUN set -eux \
|
||||
mongodb-org-shell \
|
||||
mongodb-org-tools \
|
||||
moreutils \
|
||||
{% if php_version in [7.1, 7.2, 7.3] %}
|
||||
mariadb-client \
|
||||
{% else %}
|
||||
mysql-client \
|
||||
{% endif %}
|
||||
nano \
|
||||
net-tools \
|
||||
netcat \
|
||||
@@ -144,35 +143,55 @@ RUN set -eux \
|
||||
###
|
||||
### Install custom software
|
||||
###
|
||||
{% if not build_fail_fast %}
|
||||
RUN set -eux \
|
||||
{% for tool in software_enabled %}
|
||||
{# Not disabled #}
|
||||
{% if ('disabled' not in software_available[tool]) or (php_version not in software_available[tool]['disabled']) %}
|
||||
# {{ tool }}
|
||||
{# Version specific pre-command available? #}
|
||||
{% if php_version in software_available[tool] and 'pre' in software_available[tool][php_version] %}
|
||||
&& {{ software_available[tool][php_version]['pre'] }} \
|
||||
{# Generic pre-command available? #}
|
||||
{% elif 'all' in software_available[tool] and 'pre' in software_available[tool]['all'] %}
|
||||
&& {{ software_available[tool]['all']['pre'] }} \
|
||||
{% endif %}
|
||||
{# Version specific command available? #}
|
||||
{% if php_version in software_available[tool] and 'command' in software_available[tool][php_version] %}
|
||||
&& {{ software_available[tool][php_version]['command'] }} \
|
||||
{# Generic command available? #}
|
||||
{% else %}
|
||||
&& {{ software_available[tool]['all']['command'] }} \
|
||||
{% endif %}
|
||||
{# Version specific post-command available? #}
|
||||
{% if php_version in software_available[tool] and 'post' in software_available[tool][php_version] %}
|
||||
&& {{ software_available[tool][php_version]['post'] }} \
|
||||
{# Generic post-command available? #}
|
||||
{% elif 'all' in software_available[tool] and 'post' in software_available[tool]['all'] %}
|
||||
&& {{ software_available[tool]['all']['post'] }} \
|
||||
{% endif %}
|
||||
{% endif %}
|
||||
{% endfor %}
|
||||
\
|
||||
{%- endif -%}
|
||||
{%- for tool in software_enabled -%}
|
||||
{# Not disabled #}
|
||||
{%- if ('disabled' not in software_available[tool]) or (php_version not in software_available[tool]['disabled']) -%}
|
||||
{{ "\n" }}# -------------------- {{ tool }} --------------------
|
||||
{%- if build_fail_fast -%}
|
||||
{{ "\n" }}RUN set -eux \
|
||||
{%- endif -%}
|
||||
{#- Version specific pre-command available? -#}
|
||||
{%- if php_version in software_available[tool] and 'pre' in software_available[tool][php_version] -%}
|
||||
{{ "\n\t" }}&& {{ software_available[tool][php_version]['pre'] }} \
|
||||
{#- Generic pre-command available? -#}
|
||||
{%- elif 'all' in software_available[tool] and 'pre' in software_available[tool]['all'] -%}
|
||||
{{ "\n\t" }}&& {{ software_available[tool]['all']['pre'] }} \
|
||||
{%- endif -%}
|
||||
{#- Version specific command available? -#}
|
||||
{%- if php_version in software_available[tool] and 'command' in software_available[tool][php_version] -%}
|
||||
{{ "\n\t" }}&& {{ software_available[tool][php_version]['command'] }} \
|
||||
{#- Generic command available? -#}
|
||||
{%- else -%}
|
||||
{{ "\n\t" }}&& {{ software_available[tool]['all']['command'] }} \
|
||||
{%- endif -%}
|
||||
{#- Version specific post-command available? -#}
|
||||
{%- if php_version in software_available[tool] and 'post' in software_available[tool][php_version] -%}
|
||||
{{ "\n\t" }}&& {{ software_available[tool][php_version]['post'] }} \
|
||||
{#- Generic post-command available? -#}
|
||||
{%- elif 'all' in software_available[tool] and 'post' in software_available[tool]['all'] -%}
|
||||
{{ "\n\t" }}&& {{ software_available[tool]['all']['post'] }} \
|
||||
{%- endif -%}
|
||||
{#- Fail fast version -#}
|
||||
{%- if build_fail_fast -%}
|
||||
{%- if 'check' in software_available[tool] -%}
|
||||
{{ "\n\t" }}&& {{ software_available[tool]['check'] }}{{ "\n\n" }}
|
||||
{%- else -%}
|
||||
{{ "\n\t" }}&& true{{ "\n\n" }}
|
||||
{%- endif -%}
|
||||
{%- else -%}
|
||||
{{ "\n\t" }}\
|
||||
{%- endif -%}
|
||||
{#- end of Fail fast version -#}
|
||||
{%- endif -%}
|
||||
{%- endfor -%}
|
||||
{% if build_fail_fast -%}
|
||||
RUN set -eux \{{ "\n" }}
|
||||
{%- else -%}
|
||||
{{ "\n\t" }}\{{ "\n" }}
|
||||
{%- endif %}
|
||||
&& (rm -rf /root/.gem || true ) \
|
||||
&& (rm -rf /root/.cache || true) \
|
||||
&& (rm -rf /root/.composer || true) \
|
||||
@@ -192,27 +211,48 @@ RUN set -eux \
|
||||
###
|
||||
### Install Composer (PHP)
|
||||
###
|
||||
{% if not build_fail_fast %}
|
||||
RUN set -eux \
|
||||
{% for tool in composer_enabled %}
|
||||
{# Not disabled #}
|
||||
{% if ('disabled' not in composer_available[tool]) or (php_version not in composer_available[tool]['disabled']) %}
|
||||
# {{ tool }}
|
||||
{# Version specific gem version available? #}
|
||||
{% if php_version in composer_available[tool] and 'version' in composer_available[tool][php_version] %}
|
||||
&& COMPOSER_HOME="{{ composer_home }}" composer global require {{ composer_available[tool]['name'] }}:{{ composer_available[tool][php_version]['version'] }} \
|
||||
{# Generic gem version available? #}
|
||||
{% elif 'all' in composer_available[tool] and 'version' in composer_available[tool]['all'] %}
|
||||
&& COMPOSER_HOME="{{ composer_home }}" composer global require {{ composer_available[tool]['name'] }}:{{ composer_available[tool]['all']['version'] }} \
|
||||
{# No version info available #}
|
||||
{% else %}
|
||||
&& COMPOSER_HOME="{{ composer_home }}" composer global require {{ composer_available[tool]['name'] }} \
|
||||
{% endif %}
|
||||
{% if 'link' in composer_available[tool] %}
|
||||
&& ln -s {{ composer_home }}/vendor/{{ composer_available[tool]['name'] }}/{{ composer_available[tool]['link'] }} /usr/local/bin/ \
|
||||
{% endif %}
|
||||
{% endif %}
|
||||
{%- endif -%}
|
||||
{%- for tool in composer_enabled -%}
|
||||
{#- Not disabled -#}
|
||||
{%- if ('disabled' not in composer_available[tool]) or (php_version not in composer_available[tool]['disabled']) -%}
|
||||
{{ "\n" }}# -------------------- {{ tool }} --------------------
|
||||
{%- if build_fail_fast -%}
|
||||
{{ "\n" }}RUN set -eux \
|
||||
{%- endif -%}
|
||||
{#- Version specific gem version available? -#}
|
||||
{%- if php_version in composer_available[tool] and 'version' in composer_available[tool][php_version] -%}
|
||||
{{ "\n\t" }}&& COMPOSER_HOME="{{ composer_home }}" composer global require {{ composer_available[tool]['name'] }}:{{ composer_available[tool][php_version]['version'] }} \
|
||||
{#- Generic gem version available? -#}
|
||||
{%- elif 'all' in composer_available[tool] and 'version' in composer_available[tool]['all'] -%}
|
||||
{{ "\n\t" }}&& COMPOSER_HOME="{{ composer_home }}" composer global require {{ composer_available[tool]['name'] }}:{{ composer_available[tool]['all']['version'] }} \
|
||||
{#- No version info available -#}
|
||||
{%- else -%}
|
||||
{{ "\n\t" }}&& COMPOSER_HOME="{{ composer_home }}" composer global require {{ composer_available[tool]['name'] }} \
|
||||
{%- endif -%}
|
||||
{#- Symlinks available? -#}
|
||||
{%- if 'link' in composer_available[tool] -%}
|
||||
{{ "\n\t" }}&& ln -s {{ composer_home }}/vendor/{{ composer_available[tool]['name'] }}/{{ composer_available[tool]['link'] }} /usr/local/bin/ \
|
||||
{%- endif -%}
|
||||
{#- Fail fast version -#}
|
||||
{%- if build_fail_fast -%}
|
||||
{%- if 'check' in composer_available[tool] -%}
|
||||
{{ "\n\t" }}&& {{ composer_available[tool]['check'] }}{{ "\n\n" }}
|
||||
{%- else -%}
|
||||
{{ "\n\t" }}&& true{{ "\n\n" }}
|
||||
{%- endif -%}
|
||||
{%- else -%}
|
||||
{{ "\n\t" }}\
|
||||
{%- endif -%}
|
||||
{#- end of Fail fast version -#}
|
||||
{%- endif -%}
|
||||
{% endfor %}
|
||||
\
|
||||
{% if build_fail_fast -%}
|
||||
RUN set -eux \{{ "\n" }}
|
||||
{%- else -%}
|
||||
{{ "\n\t" }}\{{ "\n" }}
|
||||
{%- endif %}
|
||||
&& rm -rf /tmp/* \
|
||||
&& (rm -rf /tmp/.* || true) \
|
||||
\
|
||||
@@ -224,24 +264,44 @@ RUN set -eux \
|
||||
###
|
||||
### Install npm (Node)
|
||||
###
|
||||
{% if not build_fail_fast %}
|
||||
RUN set -eux \
|
||||
{% for tool in npm_enabled %}
|
||||
{# Not disabled #}
|
||||
{% if ('disabled' not in npm_available[tool]) or (php_version not in npm_available[tool]['disabled']) %}
|
||||
# {{ tool }}
|
||||
{# Version specific gem version available? #}
|
||||
{% if php_version in npm_available[tool] and 'version' in npm_available[tool][php_version] %}
|
||||
&& su -c '. /opt/nvm/nvm.sh; npm install -g {{ npm_available[tool]['name'] }} {{ npm_available[tool][php_version]['version'] }}' devilbox \
|
||||
{# Generic gem version available? #}
|
||||
{% elif 'all' in npm_available[tool] and 'version' in npm_available[tool]['all'] %}
|
||||
&& su -c '. /opt/nvm/nvm.sh; npm install -g {{ npm_available[tool]['name'] }} {{ npm_available[tool]['all']['version'] }}' devilbox \
|
||||
{# No version info available #}
|
||||
{% else %}
|
||||
&& su -c '. /opt/nvm/nvm.sh; npm install -g {{ npm_available[tool]['name'] }}' devilbox \
|
||||
{% endif %}
|
||||
{% endif %}
|
||||
{% endfor %}
|
||||
\
|
||||
{%- endif -%}
|
||||
{%- for tool in npm_enabled -%}
|
||||
{#- Not disabled -#}
|
||||
{%- if ('disabled' not in npm_available[tool]) or (php_version not in npm_available[tool]['disabled']) -%}
|
||||
{{ "\n" }}# -------------------- {{ tool }} --------------------
|
||||
{%- if build_fail_fast -%}
|
||||
{{ "\n" }}RUN set -eux \
|
||||
{%- endif -%}
|
||||
{#- Version specific gem version available? -#}
|
||||
{%- if php_version in npm_available[tool] and 'version' in npm_available[tool][php_version] -%}
|
||||
{{ "\n\t" }}&& su -c '. /opt/nvm/nvm.sh; npm install -g {{ npm_available[tool]['name'] }} {{ npm_available[tool][php_version]['version'] }}' devilbox \
|
||||
{#- Generic gem version available? -#}
|
||||
{%- elif 'all' in npm_available[tool] and 'version' in npm_available[tool]['all'] -%}
|
||||
{{ "\n\t" }}&& su -c '. /opt/nvm/nvm.sh; npm install -g {{ npm_available[tool]['name'] }} {{ npm_available[tool]['all']['version'] }}' devilbox \
|
||||
{#- No version info available -#}
|
||||
{%- else -%}
|
||||
{{ "\n\t" }}&& su -c '. /opt/nvm/nvm.sh; npm install -g {{ npm_available[tool]['name'] }}' devilbox \
|
||||
{%- endif -%}
|
||||
{#- Fail fast version -#}
|
||||
{%- if build_fail_fast -%}
|
||||
{%- if 'check' in npm_available[tool] -%}
|
||||
{{ "\n\t" }}&& PATH=$PATH:/opt/nvm/versions/node/$(/bin/ls -1 /opt/nvm/versions/node/ | sort -V | tail -1)/bin /opt/nvm/versions/node/$(/bin/ls -1 /opt/nvm/versions/node/ | sort -V | tail -1)/bin/{{ npm_available[tool]['check'] }}{{ "\n\n" }}
|
||||
{%- else -%}
|
||||
{{ "\n\t" }}&& true{{ "\n\n" }}
|
||||
{%- endif -%}
|
||||
{%- else -%}
|
||||
{{ "\n\t" }}\
|
||||
{%- endif -%}
|
||||
{#- end of Fail fast version -#}
|
||||
{%- endif -%}
|
||||
{%- endfor -%}
|
||||
{% if build_fail_fast -%}
|
||||
RUN set -eux \{{ "\n" }}
|
||||
{%- else -%}
|
||||
{{ "\n\t" }}\{{ "\n" }}
|
||||
{%- endif %}
|
||||
&& ln -sf $(dirname $(su -c '. /opt/nvm/nvm.sh; nvm which current' devilbox))/* /usr/local/bin/ \
|
||||
\
|
||||
&& su -c '. /opt/nvm/nvm.sh; npm cache clear --force' devilbox \
|
||||
@@ -257,24 +317,44 @@ RUN set -eux \
|
||||
###
|
||||
### Install gem (Ruby)
|
||||
###
|
||||
{% if not build_fail_fast %}
|
||||
RUN set -eux \
|
||||
{% for tool in gem_enabled %}
|
||||
{# Not disabled #}
|
||||
{% if ('disabled' not in gem_available[tool]) or (php_version not in gem_available[tool]['disabled']) %}
|
||||
# {{ tool }}
|
||||
{# Version specific gem version available? #}
|
||||
{% if php_version in gem_available[tool] and 'version' in gem_available[tool][php_version] %}
|
||||
&& gem install {{ gem_available[tool]['name'] }} -v {{ gem_available[tool][php_version]['version'] }} \
|
||||
{# Generic gem version available? #}
|
||||
{% elif 'all' in gem_available[tool] and 'version' in gem_available[tool]['all'] %}
|
||||
&& gem install {{ gem_available[tool]['name'] }} -v {{ gem_available[tool]['all']['version'] }} \
|
||||
{# No version info available #}
|
||||
{% else %}
|
||||
&& gem install {{ gem_available[tool]['name'] }} \
|
||||
{% endif %}
|
||||
{% endif %}
|
||||
{% endfor %}
|
||||
\
|
||||
{%- endif -%}
|
||||
{%- for tool in gem_enabled -%}
|
||||
{#- Not disabled -#}
|
||||
{%- if ('disabled' not in gem_available[tool]) or (php_version not in gem_available[tool]['disabled']) -%}
|
||||
{{ "\n" }}# -------------------- {{ tool }} --------------------
|
||||
{%- if build_fail_fast -%}
|
||||
{{ "\n" }}RUN set -eux \
|
||||
{%- endif -%}
|
||||
{#- Version specific gem version available? -#}
|
||||
{%- if php_version in gem_available[tool] and 'version' in gem_available[tool][php_version] -%}
|
||||
{{ "\n\t" }}&& gem install {{ gem_available[tool]['name'] }} -v {{ gem_available[tool][php_version]['version'] }} \
|
||||
{#- Generic gem version available? -#}
|
||||
{%- elif 'all' in gem_available[tool] and 'version' in gem_available[tool]['all'] -%}
|
||||
{{ "\n\t" }}&& gem install {{ gem_available[tool]['name'] }} -v {{ gem_available[tool]['all']['version'] }} \
|
||||
{#- No version info available -#}
|
||||
{%- else -%}
|
||||
{{ "\n\t" }}&& gem install {{ gem_available[tool]['name'] }} \
|
||||
{%- endif -%}
|
||||
{#- Fail fast version -#}
|
||||
{%- if build_fail_fast -%}
|
||||
{%- if 'check' in gem_available[tool] -%}
|
||||
{{ "\n\t" }}&& {{ gem_available[tool]['check'] }}{{ "\n\n" }}
|
||||
{%- else -%}
|
||||
{{ "\n\t" }}&& true{{ "\n\n" }}
|
||||
{%- endif -%}
|
||||
{%- else -%}
|
||||
{{ "\n\t" }}\
|
||||
{%- endif -%}
|
||||
{#- end of Fail fast version -#}
|
||||
{%- endif -%}
|
||||
{%- endfor -%}
|
||||
{% if build_fail_fast -%}
|
||||
RUN set -eux \{{ "\n" }}
|
||||
{%- else -%}
|
||||
{{ "\n\t" }}\{{ "\n" }}
|
||||
{%- endif %}
|
||||
&& rm -rf /root/.gem \
|
||||
&& rm -rf /tmp/* \
|
||||
&& (rm -rf /tmp/.* || true) \
|
||||
@@ -287,24 +367,44 @@ RUN set -eux \
|
||||
###
|
||||
### Install pip (Python) packages
|
||||
###
|
||||
{% if not build_fail_fast %}
|
||||
RUN set -eux \
|
||||
{% for tool in pip_enabled %}
|
||||
{# Not disabled #}
|
||||
{% if ('disabled' not in pip_available[tool]) or (php_version not in pip_available[tool]['disabled']) %}
|
||||
# {{ tool }}
|
||||
{# Version specific gem version available? #}
|
||||
{% if php_version in pip_available[tool] and 'version' in pip_available[tool][php_version] %}
|
||||
&& pip install --no-cache-dir --force-reinstall {{ pip_available[tool]['name'] }}=={{ pip_available[tool][php_version]['version'] }} \
|
||||
{# Generic gem version available? #}
|
||||
{% elif 'all' in pip_available[tool] and 'version' in pip_available[tool]['all'] %}
|
||||
&& pip install --no-cache-dir --force-reinstall {{ pip_available[tool]['name'] }}=={{ pip_available[tool]['all']['version'] }} \
|
||||
{# No version info available #}
|
||||
{% else %}
|
||||
&& pip install --no-cache-dir --force-reinstall {{ pip_available[tool]['name'] }} \
|
||||
{% endif %}
|
||||
{% endif %}
|
||||
{% endfor %}
|
||||
\
|
||||
{%- endif -%}
|
||||
{%- for tool in pip_enabled -%}
|
||||
{#- Not disabled -#}
|
||||
{%- if ('disabled' not in pip_available[tool]) or (php_version not in pip_available[tool]['disabled']) -%}
|
||||
{{ "\n" }}# -------------------- {{ tool }} --------------------
|
||||
{%- if build_fail_fast -%}
|
||||
{{ "\n" }}RUN set -eux \
|
||||
{%- endif -%}
|
||||
{#- Version specific gem version available? -#}
|
||||
{%- if php_version in pip_available[tool] and 'version' in pip_available[tool][php_version] -%}
|
||||
{{ "\n\t" }}&& pip install --no-cache-dir --force-reinstall {{ pip_available[tool]['name'] }}=={{ pip_available[tool][php_version]['version'] }} \
|
||||
{#- Generic gem version available? -#}
|
||||
{%- elif 'all' in pip_available[tool] and 'version' in pip_available[tool]['all'] -%}
|
||||
{{ "\n\t" }}&& pip install --no-cache-dir --force-reinstall {{ pip_available[tool]['name'] }}=={{ pip_available[tool]['all']['version'] }} \
|
||||
{#- No version info available -#}
|
||||
{%- else -%}
|
||||
{{ "\n\t" }}&& pip install --no-cache-dir --force-reinstall {{ pip_available[tool]['name'] }} \
|
||||
{%- endif -%}
|
||||
{#- Fail fast version -#}
|
||||
{%- if build_fail_fast -%}
|
||||
{%- if 'check' in pip_available[tool] -%}
|
||||
{{ "\n\t" }}&& {{ pip_available[tool]['check'] }}{{ "\n\n" }}
|
||||
{%- else -%}
|
||||
{{ "\n\t" }}&& true{{ "\n\n" }}
|
||||
{%- endif -%}
|
||||
{%- else -%}
|
||||
{{ "\n\t" }}\
|
||||
{%- endif -%}
|
||||
{#- end of Fail fast version -#}
|
||||
{%- endif -%}
|
||||
{%- endfor -%}
|
||||
{% if build_fail_fast -%}
|
||||
RUN set -eux \{{ "\n" }}
|
||||
{%- else -%}
|
||||
{{ "\n\t" }}\{{ "\n" }}
|
||||
{%- endif %}
|
||||
&& rm -rf /root/.cache/pip \
|
||||
&& rm -rf /tmp/* \
|
||||
&& (rm -rf /tmp/.* || true) \
|
||||
@@ -355,51 +455,52 @@ RUN set -eux \
|
||||
&& rm -f /usr/local/etc/php/php.ini
|
||||
|
||||
RUN set -eux \
|
||||
{# ---- SOFTWARE ---- #}
|
||||
{% for tool in software_enabled %}
|
||||
{# Not disabled #}
|
||||
{% if ('disabled' not in software_available[tool]) or (php_version not in software_available[tool]['disabled']) %}
|
||||
{% if 'check' in software_available[tool] %}
|
||||
&& {{ software_available[tool]['check'] }} \
|
||||
{% endif %}
|
||||
{% endif %}
|
||||
{% endfor %} \
|
||||
{# ---- Composer ---- #}
|
||||
{% for tool in composer_enabled %}
|
||||
{# Not disabled #}
|
||||
{% if ('disabled' not in composer_available[tool]) or (php_version not in composer_available[tool]['disabled']) %}
|
||||
{% if 'check' in composer_available[tool] %}
|
||||
&& {{ composer_available[tool]['check'] }} \
|
||||
{% endif %}
|
||||
{% endif %}
|
||||
{% endfor %} \
|
||||
{# ---- PIP ---- #}
|
||||
{% for tool in pip_enabled %}
|
||||
{# Not disabled #}
|
||||
{% if ('disabled' not in pip_available[tool]) or (php_version not in pip_available[tool]['disabled']) %}
|
||||
{% if 'check' in pip_available[tool] %}
|
||||
&& {{ pip_available[tool]['check'] }} \
|
||||
{% endif %}
|
||||
{% endif %}
|
||||
{% endfor %} \
|
||||
{# ---- NPM ---- #}
|
||||
{% for tool in npm_enabled %}
|
||||
{# Not disabled #}
|
||||
{% if ('disabled' not in npm_available[tool]) or (php_version not in npm_available[tool]['disabled']) %}
|
||||
{% if 'check' in npm_available[tool] %}
|
||||
&& {{ npm_available[tool]['check'] }} \
|
||||
{% endif %}
|
||||
{% endif %}
|
||||
{% endfor %} \
|
||||
{# ---- GEM ---- #}
|
||||
{% for tool in gem_enabled %}
|
||||
{# Not disabled #}
|
||||
{% if ('disabled' not in gem_available[tool]) or (php_version not in gem_available[tool]['disabled']) %}
|
||||
{% if 'check' in gem_available[tool] %}
|
||||
&& {{ gem_available[tool]['check'] }} \
|
||||
{% endif %}
|
||||
{% endif %}
|
||||
{% endfor %} \
|
||||
# -------------------- Software --------------------
|
||||
{%- for tool in software_enabled -%}
|
||||
{#- Not disabled -#}
|
||||
{%- if ('disabled' not in software_available[tool]) or (php_version not in software_available[tool]['disabled']) -%}
|
||||
{%- if 'check' in software_available[tool] -%}
|
||||
{{ "\n\t" }}&& {{ software_available[tool]['check'] }} \
|
||||
{%- endif -%}
|
||||
{%- endif -%}
|
||||
{%- endfor -%}{{ "\n\t" }}\
|
||||
# -------------------- Composer --------------------
|
||||
{%- for tool in composer_enabled -%}
|
||||
{#- Not disabled -#}
|
||||
{%- if ('disabled' not in composer_available[tool]) or (php_version not in composer_available[tool]['disabled']) -%}
|
||||
{%- if 'check' in composer_available[tool] -%}
|
||||
{{ "\n\t" }}&& {{ composer_available[tool]['check'] }} \
|
||||
{%- endif -%}
|
||||
{%- endif -%}
|
||||
{%- endfor -%}{{ "\n\t" }}\
|
||||
# -------------------- PIP --------------------
|
||||
{%- for tool in pip_enabled -%}
|
||||
{#- Not disabled -#}
|
||||
{%- if ('disabled' not in pip_available[tool]) or (php_version not in pip_available[tool]['disabled']) -%}
|
||||
{%- if 'check' in pip_available[tool] -%}
|
||||
{{ "\n\t" }}&& {{ pip_available[tool]['check'] }} \
|
||||
{%- endif -%}
|
||||
{%- endif -%}
|
||||
{%- endfor -%}{{ "\n\t" }}\
|
||||
# -------------------- NPM --------------------
|
||||
{%- for tool in npm_enabled -%}
|
||||
{#- Not disabled -#}
|
||||
{%- if ('disabled' not in npm_available[tool]) or (php_version not in npm_available[tool]['disabled']) -%}
|
||||
{%- if 'check' in npm_available[tool] -%}
|
||||
{{ "\n\t" }}&& {{ npm_available[tool]['check'] }} \
|
||||
{%- endif -%}
|
||||
{%- endif -%}
|
||||
{%- endfor -%}{{ "\n\t" }}\
|
||||
# -------------------- GEM --------------------
|
||||
{%- for tool in gem_enabled -%}
|
||||
{#- Not disabled -#}
|
||||
{%- if ('disabled' not in gem_available[tool]) or (php_version not in gem_available[tool]['disabled']) -%}
|
||||
{%- if 'check' in gem_available[tool] -%}
|
||||
{{ "\n\t" }}&& {{ gem_available[tool]['check'] }} \
|
||||
{%- endif -%}
|
||||
{%- endif -%}
|
||||
{% endfor %}{{ "\n\t" }}\
|
||||
# -------------------- Cleanup --------------------
|
||||
&& rm -rf /home/devilbox/.config/ \
|
||||
&& rm -rf /root/.ansible \
|
||||
&& rm -rf /root/.console \
|
||||
|
||||
@@ -15,7 +15,7 @@ edit_comment_work: "# Auto-generated via Ansible: edit build/ansible/DOCKERFILES
|
||||
debug: True
|
||||
|
||||
# Also implement checks in builder images (slow, but fails faster)
|
||||
build_fail_fast: True
|
||||
build_fail_fast: False
|
||||
|
||||
|
||||
# -------------------------------------------------------------------------------------------------
|
||||
|
||||
@@ -254,6 +254,22 @@ gem_available:
|
||||
mdl:
|
||||
name: mdl
|
||||
check: mdl --version | grep -E '[.0-9]+'
|
||||
8.0:
|
||||
version: 0.5.0
|
||||
7.4:
|
||||
version: 0.5.0
|
||||
7.0:
|
||||
version: 0.5.0
|
||||
5.6:
|
||||
version: 0.5.0
|
||||
5.5:
|
||||
version: 0.5.0
|
||||
5.4:
|
||||
version: 0.5.0
|
||||
5.3:
|
||||
version: 0.5.0
|
||||
5.2:
|
||||
version: 0.5.0
|
||||
scss_lint:
|
||||
name: scss_lint
|
||||
all:
|
||||
@@ -391,13 +407,7 @@ software_available:
|
||||
&& su -c '. /opt/nvm/nvm.sh; nvm install --lts' devilbox \
|
||||
&& su -c '. /opt/nvm/nvm.sh; nvm use node' devilbox \
|
||||
awesomeci:
|
||||
check: |
|
||||
mdl --version | grep -E '[.0-9]+' \
|
||||
&& scss-lint --version | grep -E '[.0-9]+' \
|
||||
&& eslint -v | grep -E '[.0-9]+' \
|
||||
&& jsonlint --version | grep -E '[.0-9]+' \
|
||||
&& mdlint --version | grep -E '[.0-9]+' \
|
||||
&& gulp --version | grep -E '[.0-9]+' \
|
||||
check: regex-grep --version | grep -E '[.0-9]+'
|
||||
all:
|
||||
command: |
|
||||
git clone https://github.com/cytopia/awesome-ci.git /usr/local/src/awesome-ci \
|
||||
@@ -680,6 +690,30 @@ software_available:
|
||||
pre: VERSION="$( curl -sSL https://github.com/wkhtmltopdf/wkhtmltopdf/releases | grep -Eo '/wkhtmltopdf/.+jessie_amd64\.deb' | head -1 )"
|
||||
5.5:
|
||||
pre: VERSION="$( curl -sSL https://github.com/wkhtmltopdf/wkhtmltopdf/releases | grep -Eo '/wkhtmltopdf/.+jessie_amd64\.deb' | head -1 )"
|
||||
7.1:
|
||||
command: |
|
||||
DEBIAN_FRONTEND=noninteractive apt-get update -qq \
|
||||
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests \
|
||||
libfontenc1 libxfont2 xfonts-75dpi xfonts-base xfonts-encodings xfonts-utils \
|
||||
&& curl -sS -L -o /tmp/wkhtmltopdf.deb https://github.com/${VERSION} \
|
||||
&& dpkg -i /tmp/wkhtmltopdf.deb \
|
||||
&& rm -f /tmp/wkhtmltopdf.deb \
|
||||
7.2:
|
||||
command: |
|
||||
DEBIAN_FRONTEND=noninteractive apt-get update -qq \
|
||||
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests \
|
||||
libfontenc1 libxfont2 xfonts-75dpi xfonts-base xfonts-encodings xfonts-utils \
|
||||
&& curl -sS -L -o /tmp/wkhtmltopdf.deb https://github.com/${VERSION} \
|
||||
&& dpkg -i /tmp/wkhtmltopdf.deb \
|
||||
&& rm -f /tmp/wkhtmltopdf.deb \
|
||||
7.3:
|
||||
command: |
|
||||
DEBIAN_FRONTEND=noninteractive apt-get update -qq \
|
||||
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests \
|
||||
libfontenc1 libxfont2 xfonts-75dpi xfonts-base xfonts-encodings xfonts-utils \
|
||||
&& curl -sS -L -o /tmp/wkhtmltopdf.deb https://github.com/${VERSION} \
|
||||
&& dpkg -i /tmp/wkhtmltopdf.deb \
|
||||
&& rm -f /tmp/wkhtmltopdf.deb \
|
||||
all:
|
||||
pre: VERSION="$( curl -sSL https://github.com/wkhtmltopdf/wkhtmltopdf/releases | grep -Eo '/wkhtmltopdf/.+stretch_amd64\.deb' | head -1 )"
|
||||
command: |
|
||||
|
||||
Reference in New Issue
Block a user