Backport more tools for work flavour

This commit is contained in:
cytopia
2022-12-08 14:05:14 +01:00
parent 2bb64ccff6
commit a7292fdff9
89 changed files with 5061 additions and 419 deletions

View File

@@ -230,9 +230,14 @@ RUN set -eux \
# ---------- build_deps ----------
ruby-dev \
# ---------- run_deps ----------
dos2unix \
file \
moreutils \
ruby \
# ---------- type: apt ----------
git \
jq \
shellcheck \
&& rm -rf /var/lib/apt/lists/*
###
@@ -253,6 +258,49 @@ RUN set -eux \
&& eslint -v | grep -E '[0-9][.0-9]+' || (eslint -v; false) \
&& true
# -------------------- (apt) git --------------------
RUN set -eux \
&& git --version 2>&1 | grep -E '[0-9][.0-9]+' || (git --version; false) \
&& true
# -------------------- (npm) jsonlint --------------------
RUN set -eux \
&& su -c '. /opt/nvm/nvm.sh; npm install -g --force jsonlint' devilbox \
&& ln -s /opt/nvm/versions/node/$(su -c '. /opt/nvm/nvm.sh; node --version' devilbox)/bin/jsonlint /usr/local/bin/ \
&& jsonlint --version | grep -E '[0-9][.0-9]+' || (jsonlint --version; false) \
&& true
# -------------------- (rubygem) mdl --------------------
RUN set -eux \
&& gem install mixlib-config -v 2.2.4 \
\
&& gem install mdl -v 0.5.0 \
&& mdl --version | grep -E '[.0-9]+' || (mdl --version; false) \
&& true
# -------------------- (custom) awesome-ci --------------------
RUN set -eux \
&& git clone https://github.com/cytopia/awesome-ci.git /tmp/awesome-ci \
&& cd /tmp/awesome-ci \
&& git checkout $(git describe --abbrev=0 --tags) \
&& ./configure --prefix=/usr/local \
&& make install \
&& cd / \
&& rm -rf /tmp/awesome-ci \
\
&& regex-grep --version | grep -E '[0-9][.0-9]+' || (regex-grep --version; false) \
&& true
# -------------------- (custom) git-flow --------------------
RUN set -eux \
&& git clone https://github.com/petervanderdoes/gitflow-avh /tmp/gitflow \
&& cd /tmp/gitflow \
&& make install \
&& cd / && rm -rf /tmp/gitflow \
\
&& git-flow version 2>&1 | grep -E '[0-9][.0-9]+' || (git-flow version; false) \
&& true
# -------------------- (npm) grunt-cli --------------------
RUN set -eux \
&& su -c '. /opt/nvm/nvm.sh; npm install -g --force grunt-cli' devilbox \
@@ -272,30 +320,90 @@ RUN set -eux \
&& jq --version 2>&1 | grep -E '[0-9][.0-9]+' || (jq --version; false) \
&& true
# -------------------- (npm) jsonlint --------------------
# -------------------- (custom) linkcheck --------------------
RUN set -eux \
&& su -c '. /opt/nvm/nvm.sh; npm install -g --force jsonlint' devilbox \
&& ln -s /opt/nvm/versions/node/$(su -c '. /opt/nvm/nvm.sh; node --version' devilbox)/bin/jsonlint /usr/local/bin/ \
&& jsonlint --version | grep -E '[0-9][.0-9]+' || (jsonlint --version; false) \
&& curl -sS -L --fail -o /usr/local/bin/linkcheck https://raw.githubusercontent.com/cytopia/linkcheck/master/linkcheck \
&& chmod +x /usr/local/bin/linkcheck \
&& linkcheck --version | grep -E 'v[0-9][.0-9]+' || (linkcheck --version; false) \
&& true
# -------------------- (rubygem) mdl --------------------
# -------------------- (npm) mdlint --------------------
RUN set -eux \
&& gem install mixlib-config -v 2.2.4 \
\
&& gem install mdl -v 0.5.0 \
&& mdl --version | grep -E '[.0-9]+' || (mdl --version; false) \
&& su -c '. /opt/nvm/nvm.sh; npm install -g --force mdlint' devilbox \
&& ln -s /opt/nvm/versions/node/$(su -c '. /opt/nvm/nvm.sh; node --version' devilbox)/bin/mdlint /usr/local/bin/ \
&& mdlint --version | grep -E '[0-9][.0-9]+' || (mdlint --version; false) \
&& true
# -------------------- (custom) phpcbf --------------------
RUN set -eux \
&& PHPCBF_URL="https://github.com/squizlabs/PHP_CodeSniffer/releases/download/2.9.0/phpcbf.phar" \
&& curl -sS -k -L --fail -L "${PHPCBF_URL}" -o /usr/local/bin/phpcbf \
&& chmod +x /usr/local/bin/phpcbf \
&& phpcbf --version | grep -E 'version [0-9][.0-9]+' || (phpcbf --version; false) \
&& true
# -------------------- (custom) phpcs --------------------
RUN set -eux \
&& PHPCS_URL="https://github.com/squizlabs/PHP_CodeSniffer/releases/download/2.9.0/phpcs.phar" \
&& curl -sS -k -L --fail -L "${PHPCS_URL}" -o /usr/local/bin/phpcs \
&& chmod +x /usr/local/bin/phpcs \
&& phpcs --version | grep -E 'version [0-9][.0-9]+' || (phpcs --version; false) \
&& true
# -------------------- (npm) pm2 --------------------
RUN set -eux \
&& su -c '. /opt/nvm/nvm.sh; npm install -g --force pm2' devilbox \
&& ln -s /opt/nvm/versions/node/$(su -c '. /opt/nvm/nvm.sh; node --version' devilbox)/bin/pm2 /usr/local/bin/ \
&& pm2 --no-daemon --version | tail -1 | grep -E '[0-9][.0-9]+' || (pm2 --no-daemon --version; false) \
&& true
# -------------------- (pip) pwncat --------------------
RUN set -eux \
&& pip install --no-cache-dir --no-compile --force-reinstall pwncat \
&& ln -s pwncat /usr/local/bin/netcat \
&& ln -s pwncat /usr/local/bin/nc \
\
&& pwncat --version 2>&1 | grep -E 'Version [0-9][.0-9]+' || (pwncat --version; false) \
&& true
# -------------------- (npm) sass --------------------
RUN set -eux \
&& su -c '. /opt/nvm/nvm.sh; npm install -g --force sass' devilbox \
&& ln -s /opt/nvm/versions/node/$(su -c '. /opt/nvm/nvm.sh; node --version' devilbox)/bin/sass /usr/local/bin/ \
&& sass --version | grep -E '[0-9][.0-9]+' || (sass --version; false) \
&& true
# -------------------- (apt) shellcheck --------------------
RUN set -eux \
&& shellcheck --version | grep -E '[0-9][.0-9]+' || (shellcheck --version; false) \
&& true
# -------------------- (npm) stylelint --------------------
RUN set -eux \
&& su -c '. /opt/nvm/nvm.sh; npm install -g --force stylelint' devilbox \
&& ln -s /opt/nvm/versions/node/$(su -c '. /opt/nvm/nvm.sh; node --version' devilbox)/bin/stylelint /usr/local/bin/ \
&& stylelint --version | grep -E '[0-9][.0-9]+' || (stylelint --version; false) \
&& true
# -------------------- (custom) symfony-cli --------------------
RUN set -eux \
&& curl -sS https://get.symfony.com/cli/installer | bash -s -- --install-dir /usr/local/bin \
&& symfony --no-ansi -V | grep -E 'version [0-9][.0-9]+' || (symfony --no-ansi -V; false) \
&& true
# -------------------- (npm) vue-cli --------------------
RUN set -eux \
&& su -c '. /opt/nvm/nvm.sh; npm install -g --force @vue/cli' devilbox \
&& ln -s /opt/nvm/versions/node/$(su -c '. /opt/nvm/nvm.sh; node --version' devilbox)/bin/vue /usr/local/bin/ \
&& vue --version | grep -E '[0-9][.0-9]+' || (vue --version; false) \
&& true
# -------------------- (npm) webpack-cli --------------------
RUN set -eux \
&& su -c '. /opt/nvm/nvm.sh; npm install -g --force webpack-cli' devilbox \
&& ln -s /opt/nvm/versions/node/$(su -c '. /opt/nvm/nvm.sh; node --version' devilbox)/bin/webpack-cli /usr/local/bin/ \
&& webpack-cli --version | grep -E '[0-9][.0-9]+' || (webpack-cli --version; false) \
&& true
# -------------------- (pip) yamllint --------------------
RUN set -eux \
&& pip install --no-cache-dir --no-compile --force-reinstall yamllint \
@@ -338,9 +446,14 @@ RUN set -eux \
&& DEBIAN_FRONTEND=noninteractive apt-get update \
&& DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends --no-install-suggests \
# ---------- run_deps ----------
dos2unix \
file \
moreutils \
ruby \
# ---------- type: apt ----------
git \
jq \
shellcheck \
&& rm -rf /var/lib/apt/lists/*
###
@@ -397,6 +510,31 @@ RUN set -eux \
&& eslint -v | grep -E '[0-9][.0-9]+' || (eslint -v; false) \
&& true
# -------------------- (apt) git --------------------
RUN set -eux \
&& git --version 2>&1 | grep -E '[0-9][.0-9]+' || (git --version; false) \
&& true
# -------------------- (npm) jsonlint --------------------
RUN set -eux \
&& jsonlint --version | grep -E '[0-9][.0-9]+' || (jsonlint --version; false) \
&& true
# -------------------- (rubygem) mdl --------------------
RUN set -eux \
&& mdl --version | grep -E '[.0-9]+' || (mdl --version; false) \
&& true
# -------------------- (custom) awesome-ci --------------------
RUN set -eux \
&& regex-grep --version | grep -E '[0-9][.0-9]+' || (regex-grep --version; false) \
&& true
# -------------------- (custom) git-flow --------------------
RUN set -eux \
&& git-flow version 2>&1 | grep -E '[0-9][.0-9]+' || (git-flow version; false) \
&& true
# -------------------- (npm) grunt-cli --------------------
RUN set -eux \
&& grunt --version | grep -E '[0-9][.0-9]+' || (grunt --version; false) \
@@ -412,14 +550,29 @@ RUN set -eux \
&& jq --version 2>&1 | grep -E '[0-9][.0-9]+' || (jq --version; false) \
&& true
# -------------------- (npm) jsonlint --------------------
# -------------------- (custom) linkcheck --------------------
RUN set -eux \
&& jsonlint --version | grep -E '[0-9][.0-9]+' || (jsonlint --version; false) \
&& linkcheck --version | grep -E 'v[0-9][.0-9]+' || (linkcheck --version; false) \
&& true
# -------------------- (rubygem) mdl --------------------
# -------------------- (npm) mdlint --------------------
RUN set -eux \
&& mdl --version | grep -E '[.0-9]+' || (mdl --version; false) \
&& mdlint --version | grep -E '[0-9][.0-9]+' || (mdlint --version; false) \
&& true
# -------------------- (custom) phpcbf --------------------
RUN set -eux \
&& phpcbf --version | grep -E 'version [0-9][.0-9]+' || (phpcbf --version; false) \
&& true
# -------------------- (custom) phpcs --------------------
RUN set -eux \
&& phpcs --version | grep -E 'version [0-9][.0-9]+' || (phpcs --version; false) \
&& true
# -------------------- (npm) pm2 --------------------
RUN set -eux \
&& pm2 --no-daemon --version | tail -1 | grep -E '[0-9][.0-9]+' || (pm2 --no-daemon --version; false) \
&& true
# -------------------- (pip) pwncat --------------------
@@ -427,6 +580,36 @@ RUN set -eux \
&& pwncat --version 2>&1 | grep -E 'Version [0-9][.0-9]+' || (pwncat --version; false) \
&& true
# -------------------- (npm) sass --------------------
RUN set -eux \
&& sass --version | grep -E '[0-9][.0-9]+' || (sass --version; false) \
&& true
# -------------------- (apt) shellcheck --------------------
RUN set -eux \
&& shellcheck --version | grep -E '[0-9][.0-9]+' || (shellcheck --version; false) \
&& true
# -------------------- (npm) stylelint --------------------
RUN set -eux \
&& stylelint --version | grep -E '[0-9][.0-9]+' || (stylelint --version; false) \
&& true
# -------------------- (custom) symfony-cli --------------------
RUN set -eux \
&& symfony --no-ansi -V | grep -E 'version [0-9][.0-9]+' || (symfony --no-ansi -V; false) \
&& true
# -------------------- (npm) vue-cli --------------------
RUN set -eux \
&& vue --version | grep -E '[0-9][.0-9]+' || (vue --version; false) \
&& true
# -------------------- (npm) webpack-cli --------------------
RUN set -eux \
&& webpack-cli --version | grep -E '[0-9][.0-9]+' || (webpack-cli --version; false) \
&& true
# -------------------- (pip) yamllint --------------------
RUN set -eux \
&& yamllint --version 2>&1 | grep -E '[0-9][.0-9]+' || (yamllint --version; false) \