mirror of
https://github.com/actions/runner-images.git
synced 2025-12-12 03:57:32 +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>
200 lines
5.5 KiB
Bash
200 lines
5.5 KiB
Bash
#!/bin/bash
|
|
################################################################################
|
|
## File: basic.sh
|
|
## Desc: Installs basic command line utilities and dev packages
|
|
################################################################################
|
|
|
|
# Source the helpers for use with the script
|
|
source $HELPER_SCRIPTS/document.sh
|
|
source $HELPER_SCRIPTS/apt.sh
|
|
source $HELPER_SCRIPTS/os.sh
|
|
|
|
set -e
|
|
|
|
if isUbuntu20 ; then
|
|
echo "Install python2"
|
|
apt-get install -y --no-install-recommends python-is-python2
|
|
fi
|
|
|
|
echo "Install dnsutils"
|
|
apt-get install -y --no-install-recommends dnsutils
|
|
|
|
echo "Install file"
|
|
apt-get install -y --no-install-recommends file
|
|
|
|
echo "Install ftp"
|
|
apt-get install -y --no-install-recommends ftp
|
|
|
|
echo "Install iproute2"
|
|
apt-get install -y --no-install-recommends iproute2
|
|
|
|
echo "Install iputils-ping"
|
|
apt-get install -y --no-install-recommends iputils-ping
|
|
|
|
echo "Install jq"
|
|
apt-get install -y --no-install-recommends jq
|
|
|
|
echo "Install libcurl"
|
|
if isUbuntu18 ; then
|
|
libcurelVer="libcurl3"
|
|
fi
|
|
|
|
if isUbuntu20 ; then
|
|
libcurelVer="libcurl4"
|
|
fi
|
|
|
|
apt-get install -y --no-install-recommends $libcurelVer
|
|
|
|
echo "Install libunwind8"
|
|
apt-get install -y --no-install-recommends libunwind8
|
|
|
|
echo "Install locales"
|
|
apt-get install -y --no-install-recommends locales
|
|
|
|
echo "Install netcat"
|
|
apt-get install -y --no-install-recommends netcat
|
|
|
|
echo "Install openssh-client"
|
|
apt-get install -y --no-install-recommends openssh-client
|
|
|
|
echo "Install rsync"
|
|
apt-get install -y --no-install-recommends rsync
|
|
|
|
echo "Install shellcheck"
|
|
apt-get install -y --no-install-recommends shellcheck
|
|
|
|
echo "Install sudo"
|
|
apt-get install -y --no-install-recommends sudo
|
|
|
|
echo "Install telnet"
|
|
apt-get install -y --no-install-recommends telnet
|
|
|
|
echo "Install time"
|
|
apt-get install -y --no-install-recommends time
|
|
|
|
echo "Install tzdata"
|
|
apt-get install -y --no-install-recommends tzdata
|
|
|
|
echo "Install unzip"
|
|
apt-get install -y --no-install-recommends unzip
|
|
|
|
echo "Install upx"
|
|
apt-get install -y --no-install-recommends upx
|
|
|
|
echo "Install wget"
|
|
apt-get install -y --no-install-recommends wget
|
|
|
|
echo "Install zip"
|
|
apt-get install -y --no-install-recommends zip
|
|
|
|
echo "Install zstd"
|
|
apt-get install -y --no-install-recommends zstd
|
|
|
|
echo "Install libxkbfile"
|
|
apt-get install -y --no-install-recommends libxkbfile-dev
|
|
|
|
echo "Install pkg-config"
|
|
apt-get install -y --no-install-recommends pkg-config
|
|
|
|
echo "Install libsecret-1-dev"
|
|
apt-get install -y --no-install-recommends libsecret-1-dev
|
|
|
|
echo "Install libxss1"
|
|
apt-get install -y --no-install-recommends libxss1
|
|
|
|
echo "Install libgconf-2-4"
|
|
apt-get install -y --no-install-recommends libgconf-2-4
|
|
|
|
echo "Install dbus"
|
|
apt-get install -y --no-install-recommends dbus
|
|
|
|
echo "Install xvfb"
|
|
apt-get install -y --no-install-recommends xvfb
|
|
|
|
echo "Install libgbm-dev"
|
|
apt-get install -y --no-install-recommends libgbm-dev
|
|
|
|
echo "Install libgtk"
|
|
apt-get install -y --no-install-recommends libgtk-3-0
|
|
|
|
echo "Install tk"
|
|
apt install -y tk
|
|
|
|
echo "Install fakeroot"
|
|
apt-get install -y --no-install-recommends fakeroot
|
|
|
|
echo "Install dpkg"
|
|
apt-get install -y --no-install-recommends dpkg
|
|
|
|
echo "Install rpm"
|
|
apt-get install -y --no-install-recommends rpm
|
|
|
|
echo "Install xz-utils"
|
|
apt-get install -y --no-install-recommends xz-utils
|
|
|
|
echo "Install xorriso"
|
|
apt-get install -y --no-install-recommends xorriso
|
|
|
|
echo "Install zsync"
|
|
apt-get install -y --no-install-recommends zsync
|
|
|
|
echo "Install curl"
|
|
apt-get install -y --no-install-recommends curl
|
|
|
|
echo "Install parallel"
|
|
apt-get install -y --no-install-recommends parallel
|
|
|
|
echo "Install gnupg2"
|
|
apt-get install -y --no-install-recommends gnupg2
|
|
|
|
echo "Install lib32z1"
|
|
apt-get install -y --no-install-recommends lib32z1
|
|
|
|
# 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 curl file ftp jq netcat ssh parallel rsync shellcheck sudo telnet time unzip wget zip; do
|
|
if ! command -v $cmd; then
|
|
echo "$cmd was not installed"
|
|
exit 1
|
|
fi
|
|
done
|
|
|
|
# Workaround for systemd-resolve, since sometimes stub resolver does not work properly. Details: https://github.com/actions/virtual-environments/issues/798
|
|
echo "Create resolv.conf link."
|
|
if [[ -f /run/systemd/resolve/resolv.conf ]]; then
|
|
echo "Create resolv.conf link."
|
|
ln -sf /run/systemd/resolve/resolv.conf /etc/resolv.conf
|
|
fi
|
|
|
|
# Document what was added to the image
|
|
echo "Lastly, documenting what we added to the metadata file"
|
|
DocumentInstalledItem "Basic CLI:"
|
|
DocumentInstalledItemIndent "curl"
|
|
DocumentInstalledItemIndent "dnsutils"
|
|
DocumentInstalledItemIndent "file"
|
|
DocumentInstalledItemIndent "ftp"
|
|
DocumentInstalledItemIndent "iproute2"
|
|
DocumentInstalledItemIndent "iputils-ping"
|
|
DocumentInstalledItemIndent "jq"
|
|
DocumentInstalledItemIndent "$libcurelVer"
|
|
DocumentInstalledItemIndent "libgbm-dev"
|
|
DocumentInstalledItemIndent "libicu55"
|
|
DocumentInstalledItemIndent "libunwind8"
|
|
DocumentInstalledItemIndent "locales"
|
|
DocumentInstalledItemIndent "netcat"
|
|
DocumentInstalledItemIndent "openssh-client"
|
|
DocumentInstalledItemIndent "parallel"
|
|
DocumentInstalledItemIndent "rsync"
|
|
DocumentInstalledItemIndent "shellcheck"
|
|
DocumentInstalledItemIndent "sudo"
|
|
DocumentInstalledItemIndent "telnet"
|
|
DocumentInstalledItemIndent "time"
|
|
DocumentInstalledItemIndent "tzdata"
|
|
DocumentInstalledItemIndent "unzip"
|
|
DocumentInstalledItemIndent "upx"
|
|
DocumentInstalledItemIndent "wget"
|
|
DocumentInstalledItemIndent "zip"
|
|
DocumentInstalledItemIndent "zstd"
|
|
DocumentInstalledItemIndent "gnupg2"
|
|
DocumentInstalledItemIndent "lib32z1"
|