From 180edab57f7fb613ed515ada83031eece5aad92f Mon Sep 17 00:00:00 2001 From: cytopia Date: Wed, 30 Mar 2022 11:15:46 +0200 Subject: [PATCH] Use modern way to install node & yarn --- Dockerfiles/work/Dockerfile-5.2 | 28 ++++++++++++------- Dockerfiles/work/Dockerfile-5.3 | 28 ++++++++++++------- Dockerfiles/work/Dockerfile-5.4 | 28 ++++++++++++------- Dockerfiles/work/Dockerfile-5.5 | 28 ++++++++++++------- Dockerfiles/work/Dockerfile-5.6 | 28 ++++++++++++------- Dockerfiles/work/Dockerfile-7.0 | 28 ++++++++++++------- Dockerfiles/work/Dockerfile-7.1 | 28 ++++++++++++------- Dockerfiles/work/Dockerfile-7.2 | 28 ++++++++++++------- Dockerfiles/work/Dockerfile-7.3 | 28 ++++++++++++------- Dockerfiles/work/Dockerfile-7.4 | 28 ++++++++++++------- Dockerfiles/work/Dockerfile-8.0 | 28 ++++++++++++------- Dockerfiles/work/Dockerfile-8.1 | 28 ++++++++++++------- Dockerfiles/work/Dockerfile-8.2 | 28 ++++++++++++------- build/ansible/group_vars/all/work.yml | 40 +++++++++++++++------------ 14 files changed, 257 insertions(+), 147 deletions(-) diff --git a/Dockerfiles/work/Dockerfile-5.2 b/Dockerfiles/work/Dockerfile-5.2 index a517dda..d305783 100644 --- a/Dockerfiles/work/Dockerfile-5.2 +++ b/Dockerfiles/work/Dockerfile-5.2 @@ -60,8 +60,6 @@ RUN set -eux \ && echo "deb http://packages.blackfire.io/debian any main" > /etc/apt/sources.list.d/blackfire.list \ && APT_KEY_DONT_WARN_ON_DANGEROUS_USAGE=1 apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv A1715D88E1DF1F24 \ && echo "deb http://ppa.launchpad.net/git-core/ppa/ubuntu wily main" > /etc/apt/sources.list.d/git.list \ - && curl -sS -k -L --fail https://dl.yarnpkg.com/debian/pubkey.gpg | APT_KEY_DONT_WARN_ON_DANGEROUS_USAGE=1 apt-key add - \ - && echo "deb http://dl.yarnpkg.com/debian/ stable main" > /etc/apt/sources.list.d/yarn.list \ \ && DEBIAN_FRONTEND=noninteractive apt-get update \ && DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends --no-install-suggests \ @@ -166,9 +164,17 @@ RUN set -eux \ \ \ # -------------------- nvm -------------------- - && git clone https://github.com/creationix/nvm /opt/nvm \ -&& cd /opt/nvm \ -&& git checkout "$(git describe --abbrev=0 --tags --match "v[0-9]*" $(git rev-list --tags --max-count=1))" \ + && NVM_VERSION="$( \ + curl -sS 'https://github.com/nvm-sh/nvm/releases' \ + | grep -Eo '/nvm-sh/nvm/releases/tag/v?[.0-9]+"' \ + | grep -Eo 'v?[.0-9]+' \ + | sort -V \ + | tail -1 \ +)" \ +&& mkdir -p /opt/nvm \ + \ + && curl -o- "https://raw.githubusercontent.com/nvm-sh/nvm/${NVM_VERSION}/install.sh" \ + | NVM_DIR="/opt/nvm" bash \ \ && { \ echo 'export NVM_DIR="/opt/nvm"'; \ @@ -176,11 +182,11 @@ RUN set -eux \ echo '[ -s "$NVM_DIR/bash_completion" ] && \. "$NVM_DIR/bash_completion" # This loads nvm bash_completion'; \ } >> /home/devilbox/.bashrc \ \ -&& chown -R devilbox:devilbox /opt/nvm \ +&& chown -R devilbox:devilbox "/opt/nvm" \ \ - && su -c '. /opt/nvm/nvm.sh; nvm install node' devilbox \ -&& su -c '. /opt/nvm/nvm.sh; nvm install --lts' devilbox \ -&& su -c '. /opt/nvm/nvm.sh; nvm use node' devilbox \ + && su -c '. /opt/nvm/nvm.sh; nvm install --lts' devilbox \ +&& su -c '. /opt/nvm/nvm.sh; nvm use --lts' devilbox \ +&& su -c '. /opt/nvm/nvm.sh; corepack enable' devilbox \ \ \ # -------------------- awesomeci -------------------- @@ -464,7 +470,9 @@ RUN set -eux \ RUN set -eux \ # -------------------- Software -------------------- - && su -c '. /opt/nvm/nvm.sh; nvm --version' devilbox | grep -E '^[0-9][.0-9]+' \ + && su -c '. /opt/nvm/nvm.sh; nvm --version' devilbox | grep -E '^v?[0-9][.0-9]+' \ +&& su -c '. /opt/nvm/nvm.sh; yarn --version' devilbox | grep -E '^v?[0-9][.0-9]+' \ + \ && regex-grep --version | grep -E '[0-9][.0-9]+' \ && git-flow version | grep -E '[0-9][.0-9]+' \ && linkcheck --version | grep -E '^linkcheck\sv[0-9][.0-9]+' \ diff --git a/Dockerfiles/work/Dockerfile-5.3 b/Dockerfiles/work/Dockerfile-5.3 index 7eb0d32..abe3c10 100644 --- a/Dockerfiles/work/Dockerfile-5.3 +++ b/Dockerfiles/work/Dockerfile-5.3 @@ -60,8 +60,6 @@ RUN set -eux \ && echo "deb http://packages.blackfire.io/debian any main" > /etc/apt/sources.list.d/blackfire.list \ && APT_KEY_DONT_WARN_ON_DANGEROUS_USAGE=1 apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv A1715D88E1DF1F24 \ && echo "deb http://ppa.launchpad.net/git-core/ppa/ubuntu wily main" > /etc/apt/sources.list.d/git.list \ - && curl -sS -k -L --fail https://dl.yarnpkg.com/debian/pubkey.gpg | APT_KEY_DONT_WARN_ON_DANGEROUS_USAGE=1 apt-key add - \ - && echo "deb http://dl.yarnpkg.com/debian/ stable main" > /etc/apt/sources.list.d/yarn.list \ \ && DEBIAN_FRONTEND=noninteractive apt-get update \ && DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends --no-install-suggests \ @@ -174,9 +172,17 @@ RUN set -eux \ \ \ # -------------------- nvm -------------------- - && git clone https://github.com/creationix/nvm /opt/nvm \ -&& cd /opt/nvm \ -&& git checkout "$(git describe --abbrev=0 --tags --match "v[0-9]*" $(git rev-list --tags --max-count=1))" \ + && NVM_VERSION="$( \ + curl -sS 'https://github.com/nvm-sh/nvm/releases' \ + | grep -Eo '/nvm-sh/nvm/releases/tag/v?[.0-9]+"' \ + | grep -Eo 'v?[.0-9]+' \ + | sort -V \ + | tail -1 \ +)" \ +&& mkdir -p /opt/nvm \ + \ + && curl -o- "https://raw.githubusercontent.com/nvm-sh/nvm/${NVM_VERSION}/install.sh" \ + | NVM_DIR="/opt/nvm" bash \ \ && { \ echo 'export NVM_DIR="/opt/nvm"'; \ @@ -184,11 +190,11 @@ RUN set -eux \ echo '[ -s "$NVM_DIR/bash_completion" ] && \. "$NVM_DIR/bash_completion" # This loads nvm bash_completion'; \ } >> /home/devilbox/.bashrc \ \ -&& chown -R devilbox:devilbox /opt/nvm \ +&& chown -R devilbox:devilbox "/opt/nvm" \ \ - && su -c '. /opt/nvm/nvm.sh; nvm install node' devilbox \ -&& su -c '. /opt/nvm/nvm.sh; nvm install --lts' devilbox \ -&& su -c '. /opt/nvm/nvm.sh; nvm use node' devilbox \ + && su -c '. /opt/nvm/nvm.sh; nvm install --lts' devilbox \ +&& su -c '. /opt/nvm/nvm.sh; nvm use --lts' devilbox \ +&& su -c '. /opt/nvm/nvm.sh; corepack enable' devilbox \ \ \ # -------------------- awesomeci -------------------- @@ -522,7 +528,9 @@ RUN set -eux \ RUN set -eux \ # -------------------- Software -------------------- && composer --version 2>/dev/null | grep -E 'version\s*[0-9][.0-9]+' \ - && su -c '. /opt/nvm/nvm.sh; nvm --version' devilbox | grep -E '^[0-9][.0-9]+' \ + && su -c '. /opt/nvm/nvm.sh; nvm --version' devilbox | grep -E '^v?[0-9][.0-9]+' \ +&& su -c '. /opt/nvm/nvm.sh; yarn --version' devilbox | grep -E '^v?[0-9][.0-9]+' \ + \ && regex-grep --version | grep -E '[0-9][.0-9]+' \ && drush7 --version | grep -E '7[.0-9]+\s*$' \ && git-flow version | grep -E '[0-9][.0-9]+' \ diff --git a/Dockerfiles/work/Dockerfile-5.4 b/Dockerfiles/work/Dockerfile-5.4 index 19ab4bd..03196d3 100644 --- a/Dockerfiles/work/Dockerfile-5.4 +++ b/Dockerfiles/work/Dockerfile-5.4 @@ -60,8 +60,6 @@ RUN set -eux \ && echo "deb http://packages.blackfire.io/debian any main" > /etc/apt/sources.list.d/blackfire.list \ && APT_KEY_DONT_WARN_ON_DANGEROUS_USAGE=1 apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv A1715D88E1DF1F24 \ && echo "deb http://ppa.launchpad.net/git-core/ppa/ubuntu wily main" > /etc/apt/sources.list.d/git.list \ - && curl -sS -k -L --fail https://dl.yarnpkg.com/debian/pubkey.gpg | APT_KEY_DONT_WARN_ON_DANGEROUS_USAGE=1 apt-key add - \ - && echo "deb http://dl.yarnpkg.com/debian/ stable main" > /etc/apt/sources.list.d/yarn.list \ \ && DEBIAN_FRONTEND=noninteractive apt-get update \ && DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends --no-install-suggests \ @@ -174,9 +172,17 @@ RUN set -eux \ \ \ # -------------------- nvm -------------------- - && git clone https://github.com/creationix/nvm /opt/nvm \ -&& cd /opt/nvm \ -&& git checkout "$(git describe --abbrev=0 --tags --match "v[0-9]*" $(git rev-list --tags --max-count=1))" \ + && NVM_VERSION="$( \ + curl -sS 'https://github.com/nvm-sh/nvm/releases' \ + | grep -Eo '/nvm-sh/nvm/releases/tag/v?[.0-9]+"' \ + | grep -Eo 'v?[.0-9]+' \ + | sort -V \ + | tail -1 \ +)" \ +&& mkdir -p /opt/nvm \ + \ + && curl -o- "https://raw.githubusercontent.com/nvm-sh/nvm/${NVM_VERSION}/install.sh" \ + | NVM_DIR="/opt/nvm" bash \ \ && { \ echo 'export NVM_DIR="/opt/nvm"'; \ @@ -184,11 +190,11 @@ RUN set -eux \ echo '[ -s "$NVM_DIR/bash_completion" ] && \. "$NVM_DIR/bash_completion" # This loads nvm bash_completion'; \ } >> /home/devilbox/.bashrc \ \ -&& chown -R devilbox:devilbox /opt/nvm \ +&& chown -R devilbox:devilbox "/opt/nvm" \ \ - && su -c '. /opt/nvm/nvm.sh; nvm install node' devilbox \ -&& su -c '. /opt/nvm/nvm.sh; nvm install --lts' devilbox \ -&& su -c '. /opt/nvm/nvm.sh; nvm use node' devilbox \ + && su -c '. /opt/nvm/nvm.sh; nvm install --lts' devilbox \ +&& su -c '. /opt/nvm/nvm.sh; nvm use --lts' devilbox \ +&& su -c '. /opt/nvm/nvm.sh; corepack enable' devilbox \ \ \ # -------------------- awesomeci -------------------- @@ -560,7 +566,9 @@ RUN set -eux \ RUN set -eux \ # -------------------- Software -------------------- && composer --version 2>/dev/null | grep -E 'version\s*[0-9][.0-9]+' \ - && su -c '. /opt/nvm/nvm.sh; nvm --version' devilbox | grep -E '^[0-9][.0-9]+' \ + && su -c '. /opt/nvm/nvm.sh; nvm --version' devilbox | grep -E '^v?[0-9][.0-9]+' \ +&& su -c '. /opt/nvm/nvm.sh; yarn --version' devilbox | grep -E '^v?[0-9][.0-9]+' \ + \ && regex-grep --version | grep -E '[0-9][.0-9]+' \ && dep --version 2>/dev/null | grep -Ei 'deployer\s*(version\s*)?[0-9][.0-9]+' \ && drush7 --version | grep -E '7[.0-9]+\s*$' \ diff --git a/Dockerfiles/work/Dockerfile-5.5 b/Dockerfiles/work/Dockerfile-5.5 index 399995c..85066c4 100644 --- a/Dockerfiles/work/Dockerfile-5.5 +++ b/Dockerfiles/work/Dockerfile-5.5 @@ -60,8 +60,6 @@ RUN set -eux \ && echo "deb http://packages.blackfire.io/debian any main" > /etc/apt/sources.list.d/blackfire.list \ && APT_KEY_DONT_WARN_ON_DANGEROUS_USAGE=1 apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv A1715D88E1DF1F24 \ && echo "deb http://ppa.launchpad.net/git-core/ppa/ubuntu wily main" > /etc/apt/sources.list.d/git.list \ - && curl -sS -k -L --fail https://dl.yarnpkg.com/debian/pubkey.gpg | APT_KEY_DONT_WARN_ON_DANGEROUS_USAGE=1 apt-key add - \ - && echo "deb http://dl.yarnpkg.com/debian/ stable main" > /etc/apt/sources.list.d/yarn.list \ \ && DEBIAN_FRONTEND=noninteractive apt-get update \ && DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends --no-install-suggests \ @@ -174,9 +172,17 @@ RUN set -eux \ \ \ # -------------------- nvm -------------------- - && git clone https://github.com/creationix/nvm /opt/nvm \ -&& cd /opt/nvm \ -&& git checkout "$(git describe --abbrev=0 --tags --match "v[0-9]*" $(git rev-list --tags --max-count=1))" \ + && NVM_VERSION="$( \ + curl -sS 'https://github.com/nvm-sh/nvm/releases' \ + | grep -Eo '/nvm-sh/nvm/releases/tag/v?[.0-9]+"' \ + | grep -Eo 'v?[.0-9]+' \ + | sort -V \ + | tail -1 \ +)" \ +&& mkdir -p /opt/nvm \ + \ + && curl -o- "https://raw.githubusercontent.com/nvm-sh/nvm/${NVM_VERSION}/install.sh" \ + | NVM_DIR="/opt/nvm" bash \ \ && { \ echo 'export NVM_DIR="/opt/nvm"'; \ @@ -184,11 +190,11 @@ RUN set -eux \ echo '[ -s "$NVM_DIR/bash_completion" ] && \. "$NVM_DIR/bash_completion" # This loads nvm bash_completion'; \ } >> /home/devilbox/.bashrc \ \ -&& chown -R devilbox:devilbox /opt/nvm \ +&& chown -R devilbox:devilbox "/opt/nvm" \ \ - && su -c '. /opt/nvm/nvm.sh; nvm install node' devilbox \ -&& su -c '. /opt/nvm/nvm.sh; nvm install --lts' devilbox \ -&& su -c '. /opt/nvm/nvm.sh; nvm use node' devilbox \ + && su -c '. /opt/nvm/nvm.sh; nvm install --lts' devilbox \ +&& su -c '. /opt/nvm/nvm.sh; nvm use --lts' devilbox \ +&& su -c '. /opt/nvm/nvm.sh; corepack enable' devilbox \ \ \ # -------------------- awesomeci -------------------- @@ -574,7 +580,9 @@ RUN set -eux \ RUN set -eux \ # -------------------- Software -------------------- && composer --version 2>/dev/null | grep -E 'version\s*[0-9][.0-9]+' \ - && su -c '. /opt/nvm/nvm.sh; nvm --version' devilbox | grep -E '^[0-9][.0-9]+' \ + && su -c '. /opt/nvm/nvm.sh; nvm --version' devilbox | grep -E '^v?[0-9][.0-9]+' \ +&& su -c '. /opt/nvm/nvm.sh; yarn --version' devilbox | grep -E '^v?[0-9][.0-9]+' \ + \ && regex-grep --version | grep -E '[0-9][.0-9]+' \ && dep --version 2>/dev/null | grep -Ei 'deployer\s*(version\s*)?[0-9][.0-9]+' \ && drush7 --version | grep -E '7[.0-9]+\s*$' \ diff --git a/Dockerfiles/work/Dockerfile-5.6 b/Dockerfiles/work/Dockerfile-5.6 index 0029062..db3c2c4 100644 --- a/Dockerfiles/work/Dockerfile-5.6 +++ b/Dockerfiles/work/Dockerfile-5.6 @@ -60,8 +60,6 @@ RUN set -eux \ && echo "deb http://packages.blackfire.io/debian any main" > /etc/apt/sources.list.d/blackfire.list \ && APT_KEY_DONT_WARN_ON_DANGEROUS_USAGE=1 apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv A1715D88E1DF1F24 \ && echo "deb http://ppa.launchpad.net/git-core/ppa/ubuntu wily main" > /etc/apt/sources.list.d/git.list \ - && curl -sS -k -L --fail https://dl.yarnpkg.com/debian/pubkey.gpg | APT_KEY_DONT_WARN_ON_DANGEROUS_USAGE=1 apt-key add - \ - && echo "deb http://dl.yarnpkg.com/debian/ stable main" > /etc/apt/sources.list.d/yarn.list \ \ && DEBIAN_FRONTEND=noninteractive apt-get update \ && DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends --no-install-suggests \ @@ -176,9 +174,17 @@ RUN set -eux \ \ \ # -------------------- nvm -------------------- - && git clone https://github.com/creationix/nvm /opt/nvm \ -&& cd /opt/nvm \ -&& git checkout "$(git describe --abbrev=0 --tags --match "v[0-9]*" $(git rev-list --tags --max-count=1))" \ + && NVM_VERSION="$( \ + curl -sS 'https://github.com/nvm-sh/nvm/releases' \ + | grep -Eo '/nvm-sh/nvm/releases/tag/v?[.0-9]+"' \ + | grep -Eo 'v?[.0-9]+' \ + | sort -V \ + | tail -1 \ +)" \ +&& mkdir -p /opt/nvm \ + \ + && curl -o- "https://raw.githubusercontent.com/nvm-sh/nvm/${NVM_VERSION}/install.sh" \ + | NVM_DIR="/opt/nvm" bash \ \ && { \ echo 'export NVM_DIR="/opt/nvm"'; \ @@ -186,11 +192,11 @@ RUN set -eux \ echo '[ -s "$NVM_DIR/bash_completion" ] && \. "$NVM_DIR/bash_completion" # This loads nvm bash_completion'; \ } >> /home/devilbox/.bashrc \ \ -&& chown -R devilbox:devilbox /opt/nvm \ +&& chown -R devilbox:devilbox "/opt/nvm" \ \ - && su -c '. /opt/nvm/nvm.sh; nvm install node' devilbox \ -&& su -c '. /opt/nvm/nvm.sh; nvm install --lts' devilbox \ -&& su -c '. /opt/nvm/nvm.sh; nvm use node' devilbox \ + && su -c '. /opt/nvm/nvm.sh; nvm install --lts' devilbox \ +&& su -c '. /opt/nvm/nvm.sh; nvm use --lts' devilbox \ +&& su -c '. /opt/nvm/nvm.sh; corepack enable' devilbox \ \ \ # -------------------- awesomeci -------------------- @@ -587,7 +593,9 @@ RUN set -eux \ RUN set -eux \ # -------------------- Software -------------------- && composer --version 2>/dev/null | grep -E 'version\s*[0-9][.0-9]+' \ - && su -c '. /opt/nvm/nvm.sh; nvm --version' devilbox | grep -E '^[0-9][.0-9]+' \ + && su -c '. /opt/nvm/nvm.sh; nvm --version' devilbox | grep -E '^v?[0-9][.0-9]+' \ +&& su -c '. /opt/nvm/nvm.sh; yarn --version' devilbox | grep -E '^v?[0-9][.0-9]+' \ + \ && regex-grep --version | grep -E '[0-9][.0-9]+' \ && dep --version 2>/dev/null | grep -Ei 'deployer\s*(version\s*)?[0-9][.0-9]+' \ && drush7 --version | grep -E '7[.0-9]+\s*$' \ diff --git a/Dockerfiles/work/Dockerfile-7.0 b/Dockerfiles/work/Dockerfile-7.0 index 9c5ee56..ce24a7f 100644 --- a/Dockerfiles/work/Dockerfile-7.0 +++ b/Dockerfiles/work/Dockerfile-7.0 @@ -60,8 +60,6 @@ RUN set -eux \ && echo "deb http://packages.blackfire.io/debian any main" > /etc/apt/sources.list.d/blackfire.list \ && APT_KEY_DONT_WARN_ON_DANGEROUS_USAGE=1 apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv A1715D88E1DF1F24 \ && echo "deb http://ppa.launchpad.net/git-core/ppa/ubuntu wily main" > /etc/apt/sources.list.d/git.list \ - && curl -sS -k -L --fail https://dl.yarnpkg.com/debian/pubkey.gpg | APT_KEY_DONT_WARN_ON_DANGEROUS_USAGE=1 apt-key add - \ - && echo "deb http://dl.yarnpkg.com/debian/ stable main" > /etc/apt/sources.list.d/yarn.list \ \ && DEBIAN_FRONTEND=noninteractive apt-get update \ && DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends --no-install-suggests \ @@ -176,9 +174,17 @@ RUN set -eux \ \ \ # -------------------- nvm -------------------- - && git clone https://github.com/creationix/nvm /opt/nvm \ -&& cd /opt/nvm \ -&& git checkout "$(git describe --abbrev=0 --tags --match "v[0-9]*" $(git rev-list --tags --max-count=1))" \ + && NVM_VERSION="$( \ + curl -sS 'https://github.com/nvm-sh/nvm/releases' \ + | grep -Eo '/nvm-sh/nvm/releases/tag/v?[.0-9]+"' \ + | grep -Eo 'v?[.0-9]+' \ + | sort -V \ + | tail -1 \ +)" \ +&& mkdir -p /opt/nvm \ + \ + && curl -o- "https://raw.githubusercontent.com/nvm-sh/nvm/${NVM_VERSION}/install.sh" \ + | NVM_DIR="/opt/nvm" bash \ \ && { \ echo 'export NVM_DIR="/opt/nvm"'; \ @@ -186,11 +192,11 @@ RUN set -eux \ echo '[ -s "$NVM_DIR/bash_completion" ] && \. "$NVM_DIR/bash_completion" # This loads nvm bash_completion'; \ } >> /home/devilbox/.bashrc \ \ -&& chown -R devilbox:devilbox /opt/nvm \ +&& chown -R devilbox:devilbox "/opt/nvm" \ \ - && su -c '. /opt/nvm/nvm.sh; nvm install node' devilbox \ -&& su -c '. /opt/nvm/nvm.sh; nvm install --lts' devilbox \ -&& su -c '. /opt/nvm/nvm.sh; nvm use node' devilbox \ + && su -c '. /opt/nvm/nvm.sh; nvm install --lts' devilbox \ +&& su -c '. /opt/nvm/nvm.sh; nvm use --lts' devilbox \ +&& su -c '. /opt/nvm/nvm.sh; corepack enable' devilbox \ \ \ # -------------------- awesomeci -------------------- @@ -568,7 +574,9 @@ RUN set -eux \ RUN set -eux \ # -------------------- Software -------------------- && composer --version 2>/dev/null | grep -E 'version\s*[0-9][.0-9]+' \ - && su -c '. /opt/nvm/nvm.sh; nvm --version' devilbox | grep -E '^[0-9][.0-9]+' \ + && su -c '. /opt/nvm/nvm.sh; nvm --version' devilbox | grep -E '^v?[0-9][.0-9]+' \ +&& su -c '. /opt/nvm/nvm.sh; yarn --version' devilbox | grep -E '^v?[0-9][.0-9]+' \ + \ && regex-grep --version | grep -E '[0-9][.0-9]+' \ && dep --version 2>/dev/null | grep -Ei 'deployer\s*(version\s*)?[0-9][.0-9]+' \ && drush7 --version | grep -E '7[.0-9]+\s*$' \ diff --git a/Dockerfiles/work/Dockerfile-7.1 b/Dockerfiles/work/Dockerfile-7.1 index 7244c50..cad3ae4 100644 --- a/Dockerfiles/work/Dockerfile-7.1 +++ b/Dockerfiles/work/Dockerfile-7.1 @@ -60,8 +60,6 @@ RUN set -eux \ && echo "deb http://packages.blackfire.io/debian any main" > /etc/apt/sources.list.d/blackfire.list \ && APT_KEY_DONT_WARN_ON_DANGEROUS_USAGE=1 apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv A1715D88E1DF1F24 \ && echo "deb http://ppa.launchpad.net/git-core/ppa/ubuntu wily main" > /etc/apt/sources.list.d/git.list \ - && curl -sS -k -L --fail https://dl.yarnpkg.com/debian/pubkey.gpg | APT_KEY_DONT_WARN_ON_DANGEROUS_USAGE=1 apt-key add - \ - && echo "deb http://dl.yarnpkg.com/debian/ stable main" > /etc/apt/sources.list.d/yarn.list \ \ && DEBIAN_FRONTEND=noninteractive apt-get update \ && DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends --no-install-suggests \ @@ -175,9 +173,17 @@ RUN set -eux \ \ \ # -------------------- nvm -------------------- - && git clone https://github.com/creationix/nvm /opt/nvm \ -&& cd /opt/nvm \ -&& git checkout "$(git describe --abbrev=0 --tags --match "v[0-9]*" $(git rev-list --tags --max-count=1))" \ + && NVM_VERSION="$( \ + curl -sS 'https://github.com/nvm-sh/nvm/releases' \ + | grep -Eo '/nvm-sh/nvm/releases/tag/v?[.0-9]+"' \ + | grep -Eo 'v?[.0-9]+' \ + | sort -V \ + | tail -1 \ +)" \ +&& mkdir -p /opt/nvm \ + \ + && curl -o- "https://raw.githubusercontent.com/nvm-sh/nvm/${NVM_VERSION}/install.sh" \ + | NVM_DIR="/opt/nvm" bash \ \ && { \ echo 'export NVM_DIR="/opt/nvm"'; \ @@ -185,11 +191,11 @@ RUN set -eux \ echo '[ -s "$NVM_DIR/bash_completion" ] && \. "$NVM_DIR/bash_completion" # This loads nvm bash_completion'; \ } >> /home/devilbox/.bashrc \ \ -&& chown -R devilbox:devilbox /opt/nvm \ +&& chown -R devilbox:devilbox "/opt/nvm" \ \ - && su -c '. /opt/nvm/nvm.sh; nvm install node' devilbox \ -&& su -c '. /opt/nvm/nvm.sh; nvm install --lts' devilbox \ -&& su -c '. /opt/nvm/nvm.sh; nvm use node' devilbox \ + && su -c '. /opt/nvm/nvm.sh; nvm install --lts' devilbox \ +&& su -c '. /opt/nvm/nvm.sh; nvm use --lts' devilbox \ +&& su -c '. /opt/nvm/nvm.sh; corepack enable' devilbox \ \ \ # -------------------- awesomeci -------------------- @@ -567,7 +573,9 @@ RUN set -eux \ RUN set -eux \ # -------------------- Software -------------------- && composer --version 2>/dev/null | grep -E 'version\s*[0-9][.0-9]+' \ - && su -c '. /opt/nvm/nvm.sh; nvm --version' devilbox | grep -E '^[0-9][.0-9]+' \ + && su -c '. /opt/nvm/nvm.sh; nvm --version' devilbox | grep -E '^v?[0-9][.0-9]+' \ +&& su -c '. /opt/nvm/nvm.sh; yarn --version' devilbox | grep -E '^v?[0-9][.0-9]+' \ + \ && regex-grep --version | grep -E '[0-9][.0-9]+' \ && dep --version 2>/dev/null | grep -Ei 'deployer\s*(version\s*)?[0-9][.0-9]+' \ && drush7 --version | grep -E '7[.0-9]+\s*$' \ diff --git a/Dockerfiles/work/Dockerfile-7.2 b/Dockerfiles/work/Dockerfile-7.2 index b1717c5..65f14ee 100644 --- a/Dockerfiles/work/Dockerfile-7.2 +++ b/Dockerfiles/work/Dockerfile-7.2 @@ -60,8 +60,6 @@ RUN set -eux \ && echo "deb http://packages.blackfire.io/debian any main" > /etc/apt/sources.list.d/blackfire.list \ && APT_KEY_DONT_WARN_ON_DANGEROUS_USAGE=1 apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv A1715D88E1DF1F24 \ && echo "deb http://ppa.launchpad.net/git-core/ppa/ubuntu artful main" > /etc/apt/sources.list.d/git.list \ - && curl -sS -k -L --fail https://dl.yarnpkg.com/debian/pubkey.gpg | APT_KEY_DONT_WARN_ON_DANGEROUS_USAGE=1 apt-key add - \ - && echo "deb http://dl.yarnpkg.com/debian/ stable main" > /etc/apt/sources.list.d/yarn.list \ \ && DEBIAN_FRONTEND=noninteractive apt-get update \ && DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends --no-install-suggests \ @@ -175,9 +173,17 @@ RUN set -eux \ \ \ # -------------------- nvm -------------------- - && git clone https://github.com/creationix/nvm /opt/nvm \ -&& cd /opt/nvm \ -&& git checkout "$(git describe --abbrev=0 --tags --match "v[0-9]*" $(git rev-list --tags --max-count=1))" \ + && NVM_VERSION="$( \ + curl -sS 'https://github.com/nvm-sh/nvm/releases' \ + | grep -Eo '/nvm-sh/nvm/releases/tag/v?[.0-9]+"' \ + | grep -Eo 'v?[.0-9]+' \ + | sort -V \ + | tail -1 \ +)" \ +&& mkdir -p /opt/nvm \ + \ + && curl -o- "https://raw.githubusercontent.com/nvm-sh/nvm/${NVM_VERSION}/install.sh" \ + | NVM_DIR="/opt/nvm" bash \ \ && { \ echo 'export NVM_DIR="/opt/nvm"'; \ @@ -185,11 +191,11 @@ RUN set -eux \ echo '[ -s "$NVM_DIR/bash_completion" ] && \. "$NVM_DIR/bash_completion" # This loads nvm bash_completion'; \ } >> /home/devilbox/.bashrc \ \ -&& chown -R devilbox:devilbox /opt/nvm \ +&& chown -R devilbox:devilbox "/opt/nvm" \ \ - && su -c '. /opt/nvm/nvm.sh; nvm install node' devilbox \ -&& su -c '. /opt/nvm/nvm.sh; nvm install --lts' devilbox \ -&& su -c '. /opt/nvm/nvm.sh; nvm use node' devilbox \ + && su -c '. /opt/nvm/nvm.sh; nvm install --lts' devilbox \ +&& su -c '. /opt/nvm/nvm.sh; nvm use --lts' devilbox \ +&& su -c '. /opt/nvm/nvm.sh; corepack enable' devilbox \ \ \ # -------------------- awesomeci -------------------- @@ -587,7 +593,9 @@ RUN set -eux \ RUN set -eux \ # -------------------- Software -------------------- && composer --version 2>/dev/null | grep -E 'version\s*[0-9][.0-9]+' \ - && su -c '. /opt/nvm/nvm.sh; nvm --version' devilbox | grep -E '^[0-9][.0-9]+' \ + && su -c '. /opt/nvm/nvm.sh; nvm --version' devilbox | grep -E '^v?[0-9][.0-9]+' \ +&& su -c '. /opt/nvm/nvm.sh; yarn --version' devilbox | grep -E '^v?[0-9][.0-9]+' \ + \ && regex-grep --version | grep -E '[0-9][.0-9]+' \ && dep --version 2>/dev/null | grep -Ei 'deployer\s*(version\s*)?[0-9][.0-9]+' \ && drush7 --version | grep -E '7[.0-9]+\s*$' \ diff --git a/Dockerfiles/work/Dockerfile-7.3 b/Dockerfiles/work/Dockerfile-7.3 index 8775d8f..bb7e942 100644 --- a/Dockerfiles/work/Dockerfile-7.3 +++ b/Dockerfiles/work/Dockerfile-7.3 @@ -60,8 +60,6 @@ RUN set -eux \ && echo "deb http://packages.blackfire.io/debian any main" > /etc/apt/sources.list.d/blackfire.list \ && APT_KEY_DONT_WARN_ON_DANGEROUS_USAGE=1 apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv A1715D88E1DF1F24 \ && echo "deb http://ppa.launchpad.net/git-core/ppa/ubuntu artful main" > /etc/apt/sources.list.d/git.list \ - && curl -sS -k -L --fail https://dl.yarnpkg.com/debian/pubkey.gpg | APT_KEY_DONT_WARN_ON_DANGEROUS_USAGE=1 apt-key add - \ - && echo "deb http://dl.yarnpkg.com/debian/ stable main" > /etc/apt/sources.list.d/yarn.list \ \ && DEBIAN_FRONTEND=noninteractive apt-get update \ && DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends --no-install-suggests \ @@ -176,9 +174,17 @@ RUN set -eux \ \ \ # -------------------- nvm -------------------- - && git clone https://github.com/creationix/nvm /opt/nvm \ -&& cd /opt/nvm \ -&& git checkout "$(git describe --abbrev=0 --tags --match "v[0-9]*" $(git rev-list --tags --max-count=1))" \ + && NVM_VERSION="$( \ + curl -sS 'https://github.com/nvm-sh/nvm/releases' \ + | grep -Eo '/nvm-sh/nvm/releases/tag/v?[.0-9]+"' \ + | grep -Eo 'v?[.0-9]+' \ + | sort -V \ + | tail -1 \ +)" \ +&& mkdir -p /opt/nvm \ + \ + && curl -o- "https://raw.githubusercontent.com/nvm-sh/nvm/${NVM_VERSION}/install.sh" \ + | NVM_DIR="/opt/nvm" bash \ \ && { \ echo 'export NVM_DIR="/opt/nvm"'; \ @@ -186,11 +192,11 @@ RUN set -eux \ echo '[ -s "$NVM_DIR/bash_completion" ] && \. "$NVM_DIR/bash_completion" # This loads nvm bash_completion'; \ } >> /home/devilbox/.bashrc \ \ -&& chown -R devilbox:devilbox /opt/nvm \ +&& chown -R devilbox:devilbox "/opt/nvm" \ \ - && su -c '. /opt/nvm/nvm.sh; nvm install node' devilbox \ -&& su -c '. /opt/nvm/nvm.sh; nvm install --lts' devilbox \ -&& su -c '. /opt/nvm/nvm.sh; nvm use node' devilbox \ + && su -c '. /opt/nvm/nvm.sh; nvm install --lts' devilbox \ +&& su -c '. /opt/nvm/nvm.sh; nvm use --lts' devilbox \ +&& su -c '. /opt/nvm/nvm.sh; corepack enable' devilbox \ \ \ # -------------------- awesomeci -------------------- @@ -588,7 +594,9 @@ RUN set -eux \ RUN set -eux \ # -------------------- Software -------------------- && composer --version 2>/dev/null | grep -E 'version\s*[0-9][.0-9]+' \ - && su -c '. /opt/nvm/nvm.sh; nvm --version' devilbox | grep -E '^[0-9][.0-9]+' \ + && su -c '. /opt/nvm/nvm.sh; nvm --version' devilbox | grep -E '^v?[0-9][.0-9]+' \ +&& su -c '. /opt/nvm/nvm.sh; yarn --version' devilbox | grep -E '^v?[0-9][.0-9]+' \ + \ && regex-grep --version | grep -E '[0-9][.0-9]+' \ && dep --version 2>/dev/null | grep -Ei 'deployer\s*(version\s*)?[0-9][.0-9]+' \ && drush7 --version | grep -E '7[.0-9]+\s*$' \ diff --git a/Dockerfiles/work/Dockerfile-7.4 b/Dockerfiles/work/Dockerfile-7.4 index 698c26e..1ce0da3 100644 --- a/Dockerfiles/work/Dockerfile-7.4 +++ b/Dockerfiles/work/Dockerfile-7.4 @@ -60,8 +60,6 @@ RUN set -eux \ && echo "deb http://packages.blackfire.io/debian any main" > /etc/apt/sources.list.d/blackfire.list \ && APT_KEY_DONT_WARN_ON_DANGEROUS_USAGE=1 apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv A1715D88E1DF1F24 \ && echo "deb http://ppa.launchpad.net/git-core/ppa/ubuntu artful main" > /etc/apt/sources.list.d/git.list \ - && curl -sS -k -L --fail https://dl.yarnpkg.com/debian/pubkey.gpg | APT_KEY_DONT_WARN_ON_DANGEROUS_USAGE=1 apt-key add - \ - && echo "deb http://dl.yarnpkg.com/debian/ stable main" > /etc/apt/sources.list.d/yarn.list \ \ && DEBIAN_FRONTEND=noninteractive apt-get update \ && DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends --no-install-suggests \ @@ -176,9 +174,17 @@ RUN set -eux \ \ \ # -------------------- nvm -------------------- - && git clone https://github.com/creationix/nvm /opt/nvm \ -&& cd /opt/nvm \ -&& git checkout "$(git describe --abbrev=0 --tags --match "v[0-9]*" $(git rev-list --tags --max-count=1))" \ + && NVM_VERSION="$( \ + curl -sS 'https://github.com/nvm-sh/nvm/releases' \ + | grep -Eo '/nvm-sh/nvm/releases/tag/v?[.0-9]+"' \ + | grep -Eo 'v?[.0-9]+' \ + | sort -V \ + | tail -1 \ +)" \ +&& mkdir -p /opt/nvm \ + \ + && curl -o- "https://raw.githubusercontent.com/nvm-sh/nvm/${NVM_VERSION}/install.sh" \ + | NVM_DIR="/opt/nvm" bash \ \ && { \ echo 'export NVM_DIR="/opt/nvm"'; \ @@ -186,11 +192,11 @@ RUN set -eux \ echo '[ -s "$NVM_DIR/bash_completion" ] && \. "$NVM_DIR/bash_completion" # This loads nvm bash_completion'; \ } >> /home/devilbox/.bashrc \ \ -&& chown -R devilbox:devilbox /opt/nvm \ +&& chown -R devilbox:devilbox "/opt/nvm" \ \ - && su -c '. /opt/nvm/nvm.sh; nvm install node' devilbox \ -&& su -c '. /opt/nvm/nvm.sh; nvm install --lts' devilbox \ -&& su -c '. /opt/nvm/nvm.sh; nvm use node' devilbox \ + && su -c '. /opt/nvm/nvm.sh; nvm install --lts' devilbox \ +&& su -c '. /opt/nvm/nvm.sh; nvm use --lts' devilbox \ +&& su -c '. /opt/nvm/nvm.sh; corepack enable' devilbox \ \ \ # -------------------- awesomeci -------------------- @@ -588,7 +594,9 @@ RUN set -eux \ RUN set -eux \ # -------------------- Software -------------------- && composer --version 2>/dev/null | grep -E 'version\s*[0-9][.0-9]+' \ - && su -c '. /opt/nvm/nvm.sh; nvm --version' devilbox | grep -E '^[0-9][.0-9]+' \ + && su -c '. /opt/nvm/nvm.sh; nvm --version' devilbox | grep -E '^v?[0-9][.0-9]+' \ +&& su -c '. /opt/nvm/nvm.sh; yarn --version' devilbox | grep -E '^v?[0-9][.0-9]+' \ + \ && regex-grep --version | grep -E '[0-9][.0-9]+' \ && dep --version 2>/dev/null | grep -Ei 'deployer\s*(version\s*)?[0-9][.0-9]+' \ && drush7 --version | grep -E '7[.0-9]+\s*$' \ diff --git a/Dockerfiles/work/Dockerfile-8.0 b/Dockerfiles/work/Dockerfile-8.0 index 6c1839b..7a199f8 100644 --- a/Dockerfiles/work/Dockerfile-8.0 +++ b/Dockerfiles/work/Dockerfile-8.0 @@ -60,8 +60,6 @@ RUN set -eux \ && echo "deb http://packages.blackfire.io/debian any main" > /etc/apt/sources.list.d/blackfire.list \ && APT_KEY_DONT_WARN_ON_DANGEROUS_USAGE=1 apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv A1715D88E1DF1F24 \ && echo "deb http://ppa.launchpad.net/git-core/ppa/ubuntu artful main" > /etc/apt/sources.list.d/git.list \ - && curl -sS -k -L --fail https://dl.yarnpkg.com/debian/pubkey.gpg | APT_KEY_DONT_WARN_ON_DANGEROUS_USAGE=1 apt-key add - \ - && echo "deb http://dl.yarnpkg.com/debian/ stable main" > /etc/apt/sources.list.d/yarn.list \ \ && DEBIAN_FRONTEND=noninteractive apt-get update \ && DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends --no-install-suggests \ @@ -176,9 +174,17 @@ RUN set -eux \ \ \ # -------------------- nvm -------------------- - && git clone https://github.com/creationix/nvm /opt/nvm \ -&& cd /opt/nvm \ -&& git checkout "$(git describe --abbrev=0 --tags --match "v[0-9]*" $(git rev-list --tags --max-count=1))" \ + && NVM_VERSION="$( \ + curl -sS 'https://github.com/nvm-sh/nvm/releases' \ + | grep -Eo '/nvm-sh/nvm/releases/tag/v?[.0-9]+"' \ + | grep -Eo 'v?[.0-9]+' \ + | sort -V \ + | tail -1 \ +)" \ +&& mkdir -p /opt/nvm \ + \ + && curl -o- "https://raw.githubusercontent.com/nvm-sh/nvm/${NVM_VERSION}/install.sh" \ + | NVM_DIR="/opt/nvm" bash \ \ && { \ echo 'export NVM_DIR="/opt/nvm"'; \ @@ -186,11 +192,11 @@ RUN set -eux \ echo '[ -s "$NVM_DIR/bash_completion" ] && \. "$NVM_DIR/bash_completion" # This loads nvm bash_completion'; \ } >> /home/devilbox/.bashrc \ \ -&& chown -R devilbox:devilbox /opt/nvm \ +&& chown -R devilbox:devilbox "/opt/nvm" \ \ - && su -c '. /opt/nvm/nvm.sh; nvm install node' devilbox \ -&& su -c '. /opt/nvm/nvm.sh; nvm install --lts' devilbox \ -&& su -c '. /opt/nvm/nvm.sh; nvm use node' devilbox \ + && su -c '. /opt/nvm/nvm.sh; nvm install --lts' devilbox \ +&& su -c '. /opt/nvm/nvm.sh; nvm use --lts' devilbox \ +&& su -c '. /opt/nvm/nvm.sh; corepack enable' devilbox \ \ \ # -------------------- awesomeci -------------------- @@ -507,7 +513,9 @@ RUN set -eux \ RUN set -eux \ # -------------------- Software -------------------- && composer --version 2>/dev/null | grep -E 'version\s*[0-9][.0-9]+' \ - && su -c '. /opt/nvm/nvm.sh; nvm --version' devilbox | grep -E '^[0-9][.0-9]+' \ + && su -c '. /opt/nvm/nvm.sh; nvm --version' devilbox | grep -E '^v?[0-9][.0-9]+' \ +&& su -c '. /opt/nvm/nvm.sh; yarn --version' devilbox | grep -E '^v?[0-9][.0-9]+' \ + \ && regex-grep --version | grep -E '[0-9][.0-9]+' \ && dep --version 2>/dev/null | grep -Ei 'deployer\s*(version\s*)?[0-9][.0-9]+' \ && git-flow version | grep -E '[0-9][.0-9]+' \ diff --git a/Dockerfiles/work/Dockerfile-8.1 b/Dockerfiles/work/Dockerfile-8.1 index 571f7f9..4f74ce3 100644 --- a/Dockerfiles/work/Dockerfile-8.1 +++ b/Dockerfiles/work/Dockerfile-8.1 @@ -60,8 +60,6 @@ RUN set -eux \ && echo "deb http://packages.blackfire.io/debian any main" > /etc/apt/sources.list.d/blackfire.list \ && APT_KEY_DONT_WARN_ON_DANGEROUS_USAGE=1 apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv A1715D88E1DF1F24 \ && echo "deb http://ppa.launchpad.net/git-core/ppa/ubuntu artful main" > /etc/apt/sources.list.d/git.list \ - && curl -sS -k -L --fail https://dl.yarnpkg.com/debian/pubkey.gpg | APT_KEY_DONT_WARN_ON_DANGEROUS_USAGE=1 apt-key add - \ - && echo "deb http://dl.yarnpkg.com/debian/ stable main" > /etc/apt/sources.list.d/yarn.list \ \ && DEBIAN_FRONTEND=noninteractive apt-get update \ && DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends --no-install-suggests \ @@ -176,9 +174,17 @@ RUN set -eux \ \ \ # -------------------- nvm -------------------- - && git clone https://github.com/creationix/nvm /opt/nvm \ -&& cd /opt/nvm \ -&& git checkout "$(git describe --abbrev=0 --tags --match "v[0-9]*" $(git rev-list --tags --max-count=1))" \ + && NVM_VERSION="$( \ + curl -sS 'https://github.com/nvm-sh/nvm/releases' \ + | grep -Eo '/nvm-sh/nvm/releases/tag/v?[.0-9]+"' \ + | grep -Eo 'v?[.0-9]+' \ + | sort -V \ + | tail -1 \ +)" \ +&& mkdir -p /opt/nvm \ + \ + && curl -o- "https://raw.githubusercontent.com/nvm-sh/nvm/${NVM_VERSION}/install.sh" \ + | NVM_DIR="/opt/nvm" bash \ \ && { \ echo 'export NVM_DIR="/opt/nvm"'; \ @@ -186,11 +192,11 @@ RUN set -eux \ echo '[ -s "$NVM_DIR/bash_completion" ] && \. "$NVM_DIR/bash_completion" # This loads nvm bash_completion'; \ } >> /home/devilbox/.bashrc \ \ -&& chown -R devilbox:devilbox /opt/nvm \ +&& chown -R devilbox:devilbox "/opt/nvm" \ \ - && su -c '. /opt/nvm/nvm.sh; nvm install node' devilbox \ -&& su -c '. /opt/nvm/nvm.sh; nvm install --lts' devilbox \ -&& su -c '. /opt/nvm/nvm.sh; nvm use node' devilbox \ + && su -c '. /opt/nvm/nvm.sh; nvm install --lts' devilbox \ +&& su -c '. /opt/nvm/nvm.sh; nvm use --lts' devilbox \ +&& su -c '. /opt/nvm/nvm.sh; corepack enable' devilbox \ \ \ # -------------------- awesomeci -------------------- @@ -507,7 +513,9 @@ RUN set -eux \ RUN set -eux \ # -------------------- Software -------------------- && composer --version 2>/dev/null | grep -E 'version\s*[0-9][.0-9]+' \ - && su -c '. /opt/nvm/nvm.sh; nvm --version' devilbox | grep -E '^[0-9][.0-9]+' \ + && su -c '. /opt/nvm/nvm.sh; nvm --version' devilbox | grep -E '^v?[0-9][.0-9]+' \ +&& su -c '. /opt/nvm/nvm.sh; yarn --version' devilbox | grep -E '^v?[0-9][.0-9]+' \ + \ && regex-grep --version | grep -E '[0-9][.0-9]+' \ && dep --version 2>/dev/null | grep -Ei 'deployer\s*(version\s*)?[0-9][.0-9]+' \ && git-flow version | grep -E '[0-9][.0-9]+' \ diff --git a/Dockerfiles/work/Dockerfile-8.2 b/Dockerfiles/work/Dockerfile-8.2 index 60c19d2..14a4d81 100644 --- a/Dockerfiles/work/Dockerfile-8.2 +++ b/Dockerfiles/work/Dockerfile-8.2 @@ -60,8 +60,6 @@ RUN set -eux \ && echo "deb http://packages.blackfire.io/debian any main" > /etc/apt/sources.list.d/blackfire.list \ && APT_KEY_DONT_WARN_ON_DANGEROUS_USAGE=1 apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv A1715D88E1DF1F24 \ && echo "deb http://ppa.launchpad.net/git-core/ppa/ubuntu artful main" > /etc/apt/sources.list.d/git.list \ - && curl -sS -k -L --fail https://dl.yarnpkg.com/debian/pubkey.gpg | APT_KEY_DONT_WARN_ON_DANGEROUS_USAGE=1 apt-key add - \ - && echo "deb http://dl.yarnpkg.com/debian/ stable main" > /etc/apt/sources.list.d/yarn.list \ \ && DEBIAN_FRONTEND=noninteractive apt-get update \ && DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends --no-install-suggests \ @@ -176,9 +174,17 @@ RUN set -eux \ \ \ # -------------------- nvm -------------------- - && git clone https://github.com/creationix/nvm /opt/nvm \ -&& cd /opt/nvm \ -&& git checkout "$(git describe --abbrev=0 --tags --match "v[0-9]*" $(git rev-list --tags --max-count=1))" \ + && NVM_VERSION="$( \ + curl -sS 'https://github.com/nvm-sh/nvm/releases' \ + | grep -Eo '/nvm-sh/nvm/releases/tag/v?[.0-9]+"' \ + | grep -Eo 'v?[.0-9]+' \ + | sort -V \ + | tail -1 \ +)" \ +&& mkdir -p /opt/nvm \ + \ + && curl -o- "https://raw.githubusercontent.com/nvm-sh/nvm/${NVM_VERSION}/install.sh" \ + | NVM_DIR="/opt/nvm" bash \ \ && { \ echo 'export NVM_DIR="/opt/nvm"'; \ @@ -186,11 +192,11 @@ RUN set -eux \ echo '[ -s "$NVM_DIR/bash_completion" ] && \. "$NVM_DIR/bash_completion" # This loads nvm bash_completion'; \ } >> /home/devilbox/.bashrc \ \ -&& chown -R devilbox:devilbox /opt/nvm \ +&& chown -R devilbox:devilbox "/opt/nvm" \ \ - && su -c '. /opt/nvm/nvm.sh; nvm install node' devilbox \ -&& su -c '. /opt/nvm/nvm.sh; nvm install --lts' devilbox \ -&& su -c '. /opt/nvm/nvm.sh; nvm use node' devilbox \ + && su -c '. /opt/nvm/nvm.sh; nvm install --lts' devilbox \ +&& su -c '. /opt/nvm/nvm.sh; nvm use --lts' devilbox \ +&& su -c '. /opt/nvm/nvm.sh; corepack enable' devilbox \ \ \ # -------------------- awesomeci -------------------- @@ -491,7 +497,9 @@ RUN set -eux \ RUN set -eux \ # -------------------- Software -------------------- && composer --version 2>/dev/null | grep -E 'version\s*[0-9][.0-9]+' \ - && su -c '. /opt/nvm/nvm.sh; nvm --version' devilbox | grep -E '^[0-9][.0-9]+' \ + && su -c '. /opt/nvm/nvm.sh; nvm --version' devilbox | grep -E '^v?[0-9][.0-9]+' \ +&& su -c '. /opt/nvm/nvm.sh; yarn --version' devilbox | grep -E '^v?[0-9][.0-9]+' \ + \ && regex-grep --version | grep -E '[0-9][.0-9]+' \ && dep --version 2>/dev/null | grep -Ei 'deployer\s*(version\s*)?[0-9][.0-9]+' \ && git-flow version | grep -E '[0-9][.0-9]+' \ diff --git a/build/ansible/group_vars/all/work.yml b/build/ansible/group_vars/all/work.yml index 5a0d1e4..126f63d 100644 --- a/build/ansible/group_vars/all/work.yml +++ b/build/ansible/group_vars/all/work.yml @@ -12,7 +12,8 @@ # Global variables # ------------------------------------------------------------------------------------------------- composer_home: /usr/local/src/composer -nvm_home: /usr/local/src/nvm +nvm_home: /opt/nvm +node_version: --lts # ------------------------------------------------------------------------------------------------- @@ -24,7 +25,6 @@ apt_repositories_enabled: - git #- mongo #- pgsql - - yarn # ------------------------------------------------------------------------------------------------- @@ -206,10 +206,6 @@ apt_repositories_available: all: deb: deb http://apt.postgresql.org/pub/repos/apt/ bullseye-pgdg main pre: curl -sS -k -L --fail https://www.postgresql.org/media/keys/ACCC4CF8.asc | APT_KEY_DONT_WARN_ON_DANGEROUS_USAGE=1 apt-key add - - yarn: - all: - deb: deb http://dl.yarnpkg.com/debian/ stable main - pre: curl -sS -k -L --fail https://dl.yarnpkg.com/debian/pubkey.gpg | APT_KEY_DONT_WARN_ON_DANGEROUS_USAGE=1 apt-key add - # ------------------------------------------------------------------------------------------------- @@ -512,25 +508,35 @@ software_available: && curl -sS -L --fail https://bootstrap.pypa.io/get-pip.py | python3 \ # nvm is a dependency for others nvm: - check: su -c '. /opt/nvm/nvm.sh; nvm --version' devilbox | grep -E '^[0-9][.0-9]+' + check: | + su -c '. {{ nvm_home }}/nvm.sh; nvm --version' devilbox | grep -E '^v?[0-9][.0-9]+' \ + && su -c '. {{ nvm_home }}/nvm.sh; yarn --version' devilbox | grep -E '^v?[0-9][.0-9]+' \ all: pre: | - git clone https://github.com/creationix/nvm /opt/nvm \ - && cd /opt/nvm \ - && git checkout "$(git describe --abbrev=0 --tags --match "v[0-9]*" $(git rev-list --tags --max-count=1))" \ + NVM_VERSION="$( \ + curl -sS 'https://github.com/nvm-sh/nvm/releases' \ + | grep -Eo '/nvm-sh/nvm/releases/tag/v?[.0-9]+"' \ + | grep -Eo 'v?[.0-9]+' \ + | sort -V \ + | tail -1 \ + )" \ + && mkdir -p {{ nvm_home }} \ + command: | + curl -o- "https://raw.githubusercontent.com/nvm-sh/nvm/${NVM_VERSION}/install.sh" \ + | NVM_DIR="{{ nvm_home }}" bash \ \ && { \ - echo 'export NVM_DIR="/opt/nvm"'; \ + echo 'export NVM_DIR="{{ nvm_home }}"'; \ echo '[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" # This loads nvm'; \ echo '[ -s "$NVM_DIR/bash_completion" ] && \. "$NVM_DIR/bash_completion" # This loads nvm bash_completion'; \ } >> /home/devilbox/.bashrc \ \ - && chown -R devilbox:devilbox /opt/nvm \ - # Install latest and LTS version - command: | - su -c '. /opt/nvm/nvm.sh; nvm install node' devilbox \ - && su -c '. /opt/nvm/nvm.sh; nvm install --lts' devilbox \ - && su -c '. /opt/nvm/nvm.sh; nvm use node' devilbox \ + && chown -R devilbox:devilbox "{{ nvm_home }}" \ + # Install latest and LTS version and yarn + post: | + su -c '. {{ nvm_home }}/nvm.sh; nvm install {{ node_version }}' devilbox \ + && su -c '. {{ nvm_home }}/nvm.sh; nvm use {{ node_version }}' devilbox \ + && su -c '. {{ nvm_home }}/nvm.sh; corepack enable' devilbox \ awesomeci: check: regex-grep --version | grep -E '[0-9][.0-9]+' all: