diff --git a/images/linux/post-generation/environment-variables.sh b/images/linux/post-generation/environment-variables.sh new file mode 100644 index 000000000..975c8a4af --- /dev/null +++ b/images/linux/post-generation/environment-variables.sh @@ -0,0 +1,6 @@ +#!/bin/bash + +# Replace $HOME with the default user's home directory for environmental variables related to the default user home directory + +homeDir=$(cut -d: -f6 /etc/passwd | tail -1) +sed -i "s|\$HOME|$homeDir|g" /etc/environment \ No newline at end of file diff --git a/images/linux/scripts/installers/configure-environment.sh b/images/linux/scripts/installers/configure-environment.sh index 03a39f1dc..d3c99fcf4 100644 --- a/images/linux/scripts/installers/configure-environment.sh +++ b/images/linux/scripts/installers/configure-environment.sh @@ -9,7 +9,7 @@ echo ACCEPT_EULA=Y | tee -a /etc/environment # This directory is supposed to be created in $HOME and owned by user(https://github.com/actions/virtual-environments/issues/491) mkdir -p /etc/skel/.config/configstore -echo 'export XDG_CONFIG_HOME=$HOME/.config' | tee -a /etc/skel/.bashrc +echo 'XDG_CONFIG_HOME=$HOME/.config' | tee -a /etc/environment # Change waagent entries to use /mnt for swapfile sed -i 's/ResourceDisk.Format=n/ResourceDisk.Format=y/g' /etc/waagent.conf diff --git a/images/linux/scripts/installers/dotnetcore-sdk.sh b/images/linux/scripts/installers/dotnetcore-sdk.sh index 5acae9c27..229bfb8e6 100644 --- a/images/linux/scripts/installers/dotnetcore-sdk.sh +++ b/images/linux/scripts/installers/dotnetcore-sdk.sh @@ -89,7 +89,6 @@ done setEtcEnvironmentVariable DOTNET_SKIP_FIRST_TIME_EXPERIENCE 1 setEtcEnvironmentVariable DOTNET_NOLOGO 1 setEtcEnvironmentVariable DOTNET_MULTILEVEL_LOOKUP 0 -prependEtcEnvironmentPath /home/runner/.dotnet/tools -echo 'export PATH="$PATH:$HOME/.dotnet/tools"' | tee -a /etc/skel/.bashrc +prependEtcEnvironmentPath '$HOME/.dotnet/tools' invoke_tests "DotnetSDK" \ No newline at end of file diff --git a/images/linux/scripts/installers/nvm.sh b/images/linux/scripts/installers/nvm.sh index 36b5e7916..ddb146119 100644 --- a/images/linux/scripts/installers/nvm.sh +++ b/images/linux/scripts/installers/nvm.sh @@ -8,7 +8,7 @@ export NVM_DIR="/etc/skel/.nvm" mkdir $NVM_DIR VERSION=$(curl -s https://api.github.com/repos/nvm-sh/nvm/releases/latest | jq -r '.tag_name') curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/$VERSION/install.sh | bash -echo 'export NVM_DIR=$HOME/.nvm' | tee -a /etc/skel/.bash_profile +echo 'NVM_DIR=$HOME/.nvm' | tee -a /etc/environment echo '[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" # This loads nvm' | tee -a /etc/skel/.bash_profile [ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" diff --git a/images/linux/scripts/installers/php.sh b/images/linux/scripts/installers/php.sh index e305bc6eb..5391e2cb3 100644 --- a/images/linux/scripts/installers/php.sh +++ b/images/linux/scripts/installers/php.sh @@ -87,12 +87,8 @@ php composer-setup.php sudo mv composer.phar /usr/bin/composer php -r "unlink('composer-setup.php');" -# Update /etc/environment -prependEtcEnvironmentPath /home/runner/.config/composer/vendor/bin - - # Add composer bin folder to path -echo 'export PATH="$PATH:$HOME/.config/composer/vendor/bin"' >> /etc/skel/.bashrc +prependEtcEnvironmentPath '$HOME/.config/composer/vendor/bin' #Create composer folder for user to preserve folder permissions mkdir -p /etc/skel/.composer diff --git a/images/linux/scripts/installers/python.sh b/images/linux/scripts/installers/python.sh index 193d810b8..bd78087c2 100644 --- a/images/linux/scripts/installers/python.sh +++ b/images/linux/scripts/installers/python.sh @@ -41,6 +41,6 @@ if isUbuntu18 || isUbuntu20 ; then fi # Adding this dir to PATH will make installed pip commands are immediately available. -echo 'export PATH="$PATH:$HOME/.local/bin"' | tee -a /etc/skel/.bashrc +prependEtcEnvironmentPath '$HOME/.local/bin' invoke_tests "Tools" "Python"