mirror of
https://github.com/actions/runner-images.git
synced 2025-12-10 19:16:48 +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>
92 lines
4.1 KiB
Bash
92 lines
4.1 KiB
Bash
#!/bin/bash
|
|
################################################################################
|
|
## File: java-tools.sh
|
|
## Desc: Installs Java and related tooling (Ant, Gradle, Maven)
|
|
################################################################################
|
|
|
|
# Source the helpers for use with the script
|
|
source $HELPER_SCRIPTS/document.sh
|
|
source $HELPER_SCRIPTS/os.sh
|
|
|
|
set -e
|
|
|
|
# Install the Azul Systems Zulu JDKs
|
|
# See https://www.azul.com/downloads/azure-only/zulu/
|
|
apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 0xB1998361219BD9C9
|
|
apt-add-repository "deb http://repos.azul.com/azure-only/zulu/apt stable main"
|
|
apt-get -q update
|
|
|
|
if isUbuntu16 || isUbuntu18 ; then
|
|
apt-get -y install zulu-7-azure-jdk=\*
|
|
echo "JAVA_HOME_7_X64=/usr/lib/jvm/zulu-7-azure-amd64" | tee -a /etc/environment
|
|
DEFAULT_JDK_VERSION=8
|
|
defaultLabel8="(default)"
|
|
fi
|
|
|
|
if isUbuntu20 ; then
|
|
DEFAULT_JDK_VERSION=11
|
|
defaultLabel11="(default)"
|
|
fi
|
|
|
|
apt-get -y install zulu-8-azure-jdk=\*
|
|
apt-get -y install zulu-11-azure-jdk=\*
|
|
apt-get -y install zulu-12-azure-jdk=\*
|
|
update-java-alternatives -s /usr/lib/jvm/zulu-8-azure-amd64
|
|
|
|
echo "JAVA_HOME_8_X64=/usr/lib/jvm/zulu-8-azure-amd64" | tee -a /etc/environment
|
|
echo "JAVA_HOME_11_X64=/usr/lib/jvm/zulu-11-azure-amd64" | tee -a /etc/environment
|
|
echo "JAVA_HOME_12_X64=/usr/lib/jvm/zulu-12-azure-amd64" | tee -a /etc/environment
|
|
echo "JAVA_HOME=/usr/lib/jvm/zulu-${DEFAULT_JDK_VERSION}-azure-amd64" | tee -a /etc/environment
|
|
echo "JAVA_TOOL_OPTIONS=-Dfile.encoding=UTF8" | tee -a /etc/environment
|
|
|
|
# Install Ant
|
|
apt-fast install -y --no-install-recommends ant ant-optional
|
|
echo "ANT_HOME=/usr/share/ant" | tee -a /etc/environment
|
|
|
|
# Install Maven
|
|
curl -sL https://www-eu.apache.org/dist/maven/maven-3/3.6.3/binaries/apache-maven-3.6.3-bin.zip -o maven.zip
|
|
unzip -d /usr/share maven.zip
|
|
rm maven.zip
|
|
ln -s /usr/share/apache-maven-3.6.3/bin/mvn /usr/bin/mvn
|
|
echo "M2_HOME=/usr/share/apache-maven-3.6.3" | tee -a /etc/environment
|
|
|
|
# Install Gradle
|
|
# This script downloads the latest HTML list of releases at https://gradle.org/releases/.
|
|
# Then, it extracts the top-most release download URL, relying on the top-most URL being for the latest release.
|
|
# The release download URL looks like this: https://services.gradle.org/distributions/gradle-5.2.1-bin.zip
|
|
# The release version is extracted from the download URL (i.e. 5.2.1).
|
|
# After all of this, the release is downloaded, extracted, a symlink is created that points to it, and GRADLE_HOME is set.
|
|
wget -O gradleReleases.html https://gradle.org/releases/
|
|
gradleUrl=$(grep -m 1 -o "https:\/\/services.gradle.org\/distributions\/gradle-.*-bin\.zip" gradleReleases.html | head -1)
|
|
gradleVersion=$(echo $gradleUrl | sed -nre 's/^[^0-9]*(([0-9]+\.)*[0-9]+).*/\1/p')
|
|
rm gradleReleases.html
|
|
echo "gradleUrl=$gradleUrl"
|
|
echo "gradleVersion=$gradleVersion"
|
|
curl -sL $gradleUrl -o gradleLatest.zip
|
|
unzip -d /usr/share gradleLatest.zip
|
|
rm gradleLatest.zip
|
|
ln -s /usr/share/gradle-"${gradleVersion}"/bin/gradle /usr/bin/gradle
|
|
echo "GRADLE_HOME=/usr/share/gradle" | tee -a /etc/environment
|
|
|
|
# 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 gradle java javac mvn ant; do
|
|
if ! command -v $cmd; then
|
|
echo "$cmd was not installed or found on path"
|
|
exit 1
|
|
fi
|
|
done
|
|
|
|
# Document what was added to the image
|
|
echo "Lastly, documenting what we added to the metadata file"
|
|
DocumentInstalledItem "Azul Zulu OpenJDK:"
|
|
if isUbuntu16 || isUbuntu18 ; then
|
|
DocumentInstalledItemIndent "7 ($(/usr/lib/jvm/zulu-7-azure-amd64/bin/java -showversion |& head -n 1))"
|
|
fi
|
|
DocumentInstalledItemIndent "8 ($(/usr/lib/jvm/zulu-8-azure-amd64/bin/java -showversion |& head -n 1)) $defaultLabel8"
|
|
DocumentInstalledItemIndent "11 ($(/usr/lib/jvm/zulu-11-azure-amd64/bin/java -showversion |& head -n 1)) $defaultLabel11"
|
|
DocumentInstalledItemIndent "12 ($(/usr/lib/jvm/zulu-12-azure-amd64/bin/java -showversion |& head -n 1))"
|
|
DocumentInstalledItem "Ant ($(ant -version))"
|
|
DocumentInstalledItem "Gradle ${gradleVersion}"
|
|
DocumentInstalledItem "Maven ($(mvn -version | head -n 1))"
|