mirror of
https://github.com/actions/runner-images.git
synced 2025-12-11 11:37:00 +00:00
* add ubuntu 20 yml * add ubuntu 20.04 * add toolcache * add config * install ansible from oficial canonical repo * remove azure-cli * remove azure-devops-cli * libcurl3 -> libcurl4 * libcurl4 * install python2 * install clang9 directly from apt-get * remove swift * fix libcurl in the right place * remove docker-moby * remove dotnetcore-sdk * remove haskell * remove azul jdk * remove leingen * remove php * remove sbt * fix lsb release * remove mongodb * remove >> for go installation * install only python3 * remove pip version * remove add-apt-repository -y ppa:apt-fast/stable * remove android * remove powershell * remove python from tests * add java back * change heroku installation * get back leingen * get back android * remove set -e from java installation * get back apt-fast * remove git-lfs install from packagecloud * add pip installation for python2 * get back set -e to java-tools.sh * change ansible installation * add pip to python * Revert "install clang9 directly from apt-get" This reverts commite7d965f5b4. * Revert "change heroku installation" This reverts commit4fb3c0c3eb. * Revert "remove php" This reverts commitd64ce162b8. * change CRLF to LF for php installation * get back heroku to template * get back haskell * get back dotnet * install pwsh via snap * remove netcore 3.0 & 2.2 * add azpowershell * Upgrade to Az 3.8 * Update Validate-AzureModules.ps1 * Fix formatting in doc-string for Rust for Windows-image. Ensure output in ` images/win/Windows2019-Readme.md` looks proper. [Live in master right now](https://github.com/actions/virtual-environments/blob/master/images/win/Windows2019-Readme.md#rust-64-bit), it looks kinda bad. * added workaround for default DNS * revert changes * Don\'t create backup sed file (#792) Co-authored-by: Sergey Dolin <v-sedoli@micorosoft.com> * Updated README with new rules of tool installation. (#793) * Update README with new rules of tool installation. * fixed typo * fix notes * another minor fix * fixed articles * fixed license line * Add Python toolcache installation from Github releases for Ubuntu (#704) Change logic to install Python to Ubuntu images to use GitHub releases from https://github.com/actions/python-versions * Software list: "do not change" label. (#796) * added_advises * change place for hided stirng. * changed to more direct message. * Fail fast in image generation if not enough disk space for customers (#767) * added checking free disk space Co-authored-by: Nikita Bykov <v-nibyko@microsoft.com> * Add FS-iSCSITarget-Server (#805) * Updating readme file for win19 version 20200426.1 * Add Python tools installation from Github releases for Windows (#705) * Add Toolset provision for Windows Co-authored-by: MaksimZhukov <v-mazhuk@microsoft.com> * Updating readme file for macOS version 20200425.1 (#801) * Updating readme file for win16 version 20200426.1 * change min free space to 18000Mb (#814) * Added java 13 package in VM (#795) * Added java 13 package in VM * Fixed var name * Make changes from 11 to 13 * added java 13 for validate-javatool * Fix documentation for containertools * pre-create .composer folder to preserve permission * Fix minor glitch in installer message echo "cmake is already installed" * added workaround for default DNS (#819) * workaround reverted * Improve Windows provisioners stability (#733) * Improve Install-CloudFoundryCli.ps1 * Improve Install-Go.ps1 * Improve Install-Kind.ps1 * Improve Install-MysqlCli.ps1 * Improve Install-Rust.ps1 * Improve Install-SQLPowerShellTools.ps1 * Improve Update-AndroidSDK.ps1 * Fix issue with resolve * Improve Windows Visual Studio provisioners (#758) * Add retries to DotnetSDK provisioner * Improve VS provisioners * Fixes in syntax * Fixes in syntax * Rename Install-VS function * Remove bootstrapperName parameter from Install-VisualStudio * Small fix * Improve Windows browsers provisioners stability (#725) * Improve Chrome provisioner * Improve Edge provisioner * Improve Firefox provisioner * Resolve conflicts in Install-Chrome.ps1 * Add retry logic for javatools (#802) * Add retry logic for javatools * Add retry logic for Selenium server download (#807) * Add retry logic for selenium * Refactoring * Add retries for Selenium release info * Minor fix * Fix kubectl installation (#799) * Fix kubectl installation * Fix kubectl installation * Add --client flag * Fix for ubuntu 16.04 * Move kubectl apt packages installation to basic.sh * Combined separated scripts for kubectl installation to one * Minor fix * Remove apt-transport-https package from basic.sh * Delete helm init * Disable crash reporting (#826) * disable jit debugger * override settings asfter vs installation * Fix maven environment variable (#831) * Updating readme file for macOS version 20200430.1 (#846) * Add nodejs toolcache for windows (#840) * add installation of nodejs Co-authored-by: Dmitry Shibanov <v-dmshib@microsoft.com> * Add nodejs tool cache for linux. (#839) * add nodejs * 4 node versions Co-authored-by: Dmitry Shibanov <v-dmshib@microsoft.com> * Hide packages that are no longer required (#854) * Updating readme file for macOS version 20200430.1 * hide AutomaticRemove info * added SSDT workload to VS 2019 (#844) * Install Go to hostedtoolcache directory on Ubuntu image (#848) * Move go location to the toolcache * Install Go to hostedtoolcache directory on Windows image (#849) * Move installed go versions to toolcache directory * Updating readme file for win19 version 20200430.2 * Updating readme file for ubuntu16 version 20200430.2 * Install Windows 10 SDK (10.0.14393.795) via standalone installer (#862) * add win10 sdk 10.0.14393 * markdown changes * Add msys2 installation and validation (#632) * SQL Server Data-Tier Application Framework latest upgrade. (#863) * DACFx_latest_version_install * Fix the cleanup script. (#856) * Fix the cleanup script.The result is not returned to the variable because of the output redirect * Added the cancel timeout. * Update Haskell tool Stack (#860) * Update Haskell tool Stack * Update haskell script to install stack from get.haskellstack.org * Updating readme file for win16 version 20200505.1 * Updating readme file for ubuntu18 version 20200430.1 * Switch Expand-Archive to 7zip on Windows image generation (#861) * switch expand-archive to 7zip on windows * [Ubuntu] Add Azcopy10 (#871) * Add azcopy10 * Add spaces after azcopy * add condition to ansible * deprecated software Ubuntu 20.04 * install powershell Ubuntu 20.04 * use function in ansible * move preparemetadata.sh to installers folder * update preimagedata.sh ubuntu20 * add confition for dotnetsdk * scripts/installers/2004/android.sh * python.sh ubuntu 20.04 * simplify conditions * remove toolcache.json * get back note in readme * remove workaround for git-lfs * Az 3.8.0 Ubuntu 20.04 * fix kubernetes-tools in template * add helpers script to os.sh * remove old android, old cabal * remove platform tools * remove java7 for ubuntu20 * stay only go 1.14 Ubuntu 20.04 * add helper to python.sh * add os.sh helper to azpwsh and java * remove apis from documented * remove addons google-api * Install Az latest module * get back swift * set java 11 as default * change offer and sku * Revert "change offer and sku" This reverts commitd5d92a553a. * Unite mercurial scripts * combine basic scripts for ubuntu 18 & 20 * add os.sh to basic.sh * Revert "set java 11 as default" This reverts commitaada5b12b0. * set Java11 by default, set Java8 for Androidsdk * rework php script * remove rid of php.sh files * move installation to for loop * add disk space validation Co-authored-by: Christoph Bergmeister [MVP] <c.bergmeister@gmail.com> Co-authored-by: Jostein Kjønigsen <jostein@kjonigsen.net> Co-authored-by: Darii Nurgaleev <Darleev@github.com> Co-authored-by: Sergey Dolin <v-sedoli@microsoft.com> Co-authored-by: Sergey Dolin <v-sedoli@micorosoft.com> Co-authored-by: Alena Sviridenko <alenasviridenko@github.com> Co-authored-by: Vladimir Safonkin <vsafonkin@gmail.com> Co-authored-by: Dariy Nurgaleev <50947177+Darleev@users.noreply.github.com> Co-authored-by: Nikita Bykov <49442273+nikita-bykov@users.noreply.github.com> Co-authored-by: Aleksandr Chebotov <47745270+al-cheb@users.noreply.github.com> Co-authored-by: Image generation service account <no-reply@microsoft.com> Co-authored-by: Maksim Petrov <47208721+vmapetr@users.noreply.github.com> Co-authored-by: Sima Zhu <48036328+sima-zhu@users.noreply.github.com> Co-authored-by: phozzy <arthur.fayzullin@gmail.com> Co-authored-by: Jorgen Thelin <jthelin@microsoft.com> Co-authored-by: Dmitry Shibanov <shibanov-1997@inbox.ru> Co-authored-by: Dmitry Shibanov <v-dmshib@microsoft.com> Co-authored-by: cage200 <patruadrian@yahoo.com> Co-authored-by: Junyoung Clare Jang <jjc9310@gmail.com> Co-authored-by: Dibir Magomedsaygitov <61747324+dibir-magomedsaygitov@users.noreply.github.com> Co-authored-by: Aleksandr Chebotov <v-aleche@microsoft.com>
138 lines
4.0 KiB
Bash
138 lines
4.0 KiB
Bash
#!/bin/bash
|
||
################################################################################
|
||
## File: php.sh
|
||
## Desc: Installs php
|
||
################################################################################
|
||
|
||
# Source the helpers for use with the script
|
||
source $HELPER_SCRIPTS/etc-environment.sh
|
||
source $HELPER_SCRIPTS/document.sh
|
||
|
||
set -e
|
||
|
||
# add repository
|
||
apt-add-repository ppa:ondrej/php -y
|
||
apt-get update
|
||
|
||
# Install PHP
|
||
if isUbuntu16 ; then
|
||
php_versions="5.6 7.0 7.1 7.2 7.3 7.4"
|
||
fi
|
||
|
||
if isUbuntu18 ; then
|
||
php_versions="7.1 7.2 7.3 7.4"
|
||
fi
|
||
|
||
if isUbuntu20 ; then
|
||
php_versions="7.4"
|
||
fi
|
||
|
||
for version in $php_versions; do
|
||
echo "Installing PHP $version"
|
||
apt-fast install -y --no-install-recommends \
|
||
php$version \
|
||
php$version-bcmath \
|
||
php$version-bz2 \
|
||
php$version-cgi \
|
||
php$version-cli \
|
||
php$version-common \
|
||
php$version-curl \
|
||
php$version-dba \
|
||
php$version-dev \
|
||
php$version-enchant \
|
||
php$version-fpm \
|
||
php$version-gd \
|
||
php$version-gmp \
|
||
php$version-imap \
|
||
php$version-interbase \
|
||
php$version-intl \
|
||
php$version-json \
|
||
php$version-ldap \
|
||
php$version-mbstring \
|
||
php$version-mysql \
|
||
php$version-odbc \
|
||
php$version-opcache \
|
||
php$version-pgsql \
|
||
php$version-phpdbg \
|
||
php$version-pspell \
|
||
php$version-readline \
|
||
php$version-snmp \
|
||
php$version-soap \
|
||
php$version-sqlite3 \
|
||
php$version-sybase \
|
||
php$version-tidy \
|
||
php$version-xml \
|
||
php$version-xmlrpc \
|
||
php$version-xsl \
|
||
php$version-zip
|
||
|
||
if [[ $version == "5.6" || $version == "7.0" || $version == "7.1" ]]; then
|
||
apt-fast install -y --no-install-recommends php$version-mcrypt php$version-recode
|
||
apt-get remove --purge -yq php$version-dev
|
||
fi
|
||
|
||
if [[ $version == "7.2" || $version == "7.3" ]]; then
|
||
apt-fast install -y --no-install-recommends php$version-recode
|
||
fi
|
||
done
|
||
|
||
apt-fast install -y --no-install-recommends \
|
||
php-amqp \
|
||
php-apcu \
|
||
php-igbinary \
|
||
php-memcache \
|
||
php-memcached \
|
||
php-mongodb \
|
||
php-redis \
|
||
php-xdebug \
|
||
php-yaml \
|
||
php-zmq
|
||
|
||
apt-get remove --purge -yq php7.2-dev
|
||
|
||
apt-fast install -y --no-install-recommends snmp
|
||
|
||
# Install composer
|
||
php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
|
||
php -r "if (hash_file('sha384', 'composer-setup.php') === file_get_contents('https://composer.github.io/installer.sig')) { echo 'Installer verified'; } else { echo 'Installer corrupt'; unlink('composer-setup.php'); } echo PHP_EOL;"
|
||
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
|
||
|
||
#Create composer folder for user to preserve folder permissions
|
||
mkdir -p /etc/skel/.composer
|
||
|
||
# Install phpunit (for PHP)
|
||
wget -q -O phpunit https://phar.phpunit.de/phpunit-7.phar
|
||
chmod +x phpunit
|
||
mv phpunit /usr/local/bin/phpunit
|
||
|
||
# Run tests to determine that the software installed as expected
|
||
echo "Testing to make sure that script performed as expected, and basic scenarios work"
|
||
for cmd in php $php_versions composer phpunit; do
|
||
if [[ $cmd =~ ^[0-9] ]]; then
|
||
cmd="php$cmd"
|
||
fi
|
||
|
||
if ! command -v $cmd; then
|
||
echo "$cmd was not installed"
|
||
exit 1
|
||
fi
|
||
done
|
||
|
||
# Document what was added to the image
|
||
echo "Lastly, documenting what we added to the metadata file"
|
||
|
||
for version in $php_versions; do
|
||
DocumentInstalledItem "PHP $version ($(php$version --version | head -n 1))"
|
||
done;
|
||
|
||
DocumentInstalledItem "Composer ($(composer --version))"
|
||
DocumentInstalledItem "PHPUnit ($(phpunit --version))"
|