Merge remote-tracking branch 'origin' into v-dmshib/install-firefox

This commit is contained in:
Dmitry Shibanov
2020-02-10 17:04:28 +03:00
17 changed files with 186 additions and 60 deletions

View File

@@ -34,11 +34,6 @@ for latest_package in ${LATEST_DOTNET_PACKAGES[@]}; do
echo "Determing if .NET Core ($latest_package) is installed" echo "Determing if .NET Core ($latest_package) is installed"
if ! IsInstalled $latest_package; then if ! IsInstalled $latest_package; then
echo "Could not find .NET Core ($latest_package), installing..." echo "Could not find .NET Core ($latest_package), installing..."
curl https://packages.microsoft.com/keys/microsoft.asc | gpg --dearmor > microsoft.gpg
mv microsoft.gpg /etc/apt/trusted.gpg.d/microsoft.gpg
sh -c 'echo "deb [arch=amd64] https://packages.microsoft.com/repos/microsoft-ubuntu-bionic-prod bionic main" > /etc/apt/sources.list.d/dotnetdev.list'
apt-get install apt-transport-https
apt-get update
apt-get install $latest_package -y apt-get install $latest_package -y
else else
echo ".NET Core ($latest_package) is already installed" echo ".NET Core ($latest_package) is already installed"

View File

@@ -17,7 +17,7 @@ apt-get update
apt-get install -y kubectl apt-get install -y kubectl
# Install Helm # Install Helm
curl -L https://git.io/get_helm.sh | bash curl -L https://raw.githubusercontent.com/helm/helm/master/scripts/get | bash
# Run tests to determine that the software installed as expected # Run tests to determine that the software installed as expected
echo "Testing to make sure that script performed as expected, and basic scenarios work" echo "Testing to make sure that script performed as expected, and basic scenarios work"

View File

@@ -30,6 +30,9 @@ mksamples()
set -e set -e
# Disable telemetry
export DOTNET_CLI_TELEMETRY_OPTOUT=1
for latest_package in ${LATEST_DOTNET_PACKAGES[@]}; do for latest_package in ${LATEST_DOTNET_PACKAGES[@]}; do
echo "Determing if .NET Core ($latest_package) is installed" echo "Determing if .NET Core ($latest_package) is installed"
if ! IsInstalled $latest_package; then if ! IsInstalled $latest_package; then

View File

@@ -19,7 +19,7 @@ apt-get update
apt-get install -y kubectl apt-get install -y kubectl
# Install Helm # Install Helm
curl -L https://git.io/get_helm.sh | bash curl -L https://raw.githubusercontent.com/helm/helm/master/scripts/get | bash
# Run tests to determine that the software installed as expected # Run tests to determine that the software installed as expected
echo "Testing to make sure that script performed as expected, and basic scenarios work" echo "Testing to make sure that script performed as expected, and basic scenarios work"

View File

@@ -1,31 +1,61 @@
#!/bin/bash #!/bin/bash
################################################################################ ################################################################################
## File: example.sh ## File: clang.sh
## Desc: This is an example script that can be copied to add a new software ## Desc: Installs Clang compiler (versions: 6, 8 and 9)
## installer to the image
################################################################################ ################################################################################
# Source the helpers for use with the script # Source the helpers for use with the script
source $HELPER_SCRIPTS/document.sh source $HELPER_SCRIPTS/document.sh
source $HELPER_SCRIPTS/apt.sh source $HELPER_SCRIPTS/apt.sh
function InstallClang {
version=$1
echo "Installing clang-$version..."
# Clang 6.0 is not supported by automatic installation script (`llvm.sh`)
# Thus we have to install it explicitly
if [[ $version == 6* ]]; then
apt-get install -y "clang-$version" "lldb-$version" "lld-$version"
else
./llvm.sh $version
fi
# 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 clang-$version clang++-$version; do
if ! command -v $cmd; then
echo "$cmd was not installed"
exit 1
fi
done
# Document what was added to the image
echo "Documenting clang-$version..."
DocumentInstalledItem "Clang $version ($(clang-$version --version | head -n 1 | cut -d ' ' -f 3 | cut -d '-' -f 1))"
}
# Install Clang compiler
wget -O - https://apt.llvm.org/llvm-snapshot.gpg.key | apt-key add - wget -O - https://apt.llvm.org/llvm-snapshot.gpg.key | apt-key add -
apt-add-repository "deb http://apt.llvm.org/$(lsb_release -cs)/ llvm-toolchain-$(lsb_release -cs)-6.0 main" apt-add-repository "deb http://apt.llvm.org/$(lsb_release -cs)/ llvm-toolchain-$(lsb_release -cs)-6.0 main"
apt-get update apt-get update -y
apt-get install -y clang-6.0 lldb-6.0 lld-6.0
update-alternatives --install /usr/bin/clang++ clang++ /usr/bin/clang++-6.0 100 # Download script for automatic installation
update-alternatives --install /usr/bin/clang clang /usr/bin/clang-6.0 100 wget https://apt.llvm.org/llvm.sh
chmod +x llvm.sh
# Run tests to determine that the software installed as expected versions=(
echo "Testing to make sure that script performed as expected, and basic scenarios work" "6.0"
for cmd in clang clang++ clang-6.0 clang++-6.0; do "8"
if ! command -v $cmd; then "9"
echo "$cmd was not installed" )
exit 1
fi for version in ${versions[*]}
do
InstallClang $version
done done
# Document what was added to the image rm llvm.sh
echo "Lastly, documenting what we added to the metadata file"
DocumentInstalledItem "Clang 6.0 ($(clang-6.0 --version | head -n 1 | sed 's/~/\\~/g'))" # Make Clang 9 default
update-alternatives --install /usr/bin/clang++ clang++ /usr/bin/clang++-9 100
update-alternatives --install /usr/bin/clang clang /usr/bin/clang-9 100

View File

@@ -0,0 +1,19 @@
#!/bin/bash
# This is the anti-frontend. It never interacts with you at all,
# and makes the default answers be used for all questions. It
# might mail error messages to root, but that's it; otherwise it
# is completely silent and unobtrusive, a perfect frontend for
# automatic installs. If you are using this front-end, and require
# non-default answers to questions, you will need to preseed the
# debconf database
echo 'DEBIAN_FRONTEND=noninteractive' | tee -a /etc/environment
# dpkg can be instructed not to ask for confirmation
# when replacing a configuration file (with the --force-confdef --force-confold options)
cat <<EOF >> /etc/apt/apt.conf.d/10dpkg-options
Dpkg::Options {
"--force-confdef";
"--force-confold";
}
EOF

View File

@@ -7,19 +7,35 @@
# Source the helpers for use with the script # Source the helpers for use with the script
source $HELPER_SCRIPTS/document.sh source $HELPER_SCRIPTS/document.sh
function InstallGcc {
version=$1
echo "Installing $version..."
apt-get install $version -y
# Run tests to determine that the software installed as expected
echo "Testing to make sure that script performed as expected, and basic scenarios work"
if ! command -v $version; then
echo "$version was not installed"
exit 1
fi
# Document what was added to the image
echo "Documenting $version..."
DocumentInstalledItem "GNU C++ $($version --version | head -n 1 | cut -d ' ' -f 4)"
}
# Install GNU C++ compiler # Install GNU C++ compiler
add-apt-repository ppa:ubuntu-toolchain-r/test -y add-apt-repository ppa:ubuntu-toolchain-r/test -y
apt-get update -y apt-get update -y
apt-get install g++-7 -y
versions=(
"g++-7"
"g++-8"
"g++-9"
)
# Run tests to determine that the software installed as expected for version in ${versions[*]}
echo "Testing to make sure that script performed as expected, and basic scenarios work" do
if ! command -v g++-7; then InstallGcc $version
echo "GNU C++ was not installed" done
exit 1
fi
# Document what was added to the image
echo "Lastly, documenting what we added to the metadata file"
DocumentInstalledItem "GNU C++ $(g++-7 --version | head -n 1 | cut -d ' ' -f 4)"

View File

@@ -0,0 +1,40 @@
#!/bin/bash
################################################################################
## File: gfortran.sh
## Desc: Installs GNU Fortran
################################################################################
# Source the helpers for use with the script
source $HELPER_SCRIPTS/document.sh
function InstallFortran {
version=$1
echo "Installing $version..."
apt-get install $version -y
# Run tests to determine that the software installed as expected
echo "Testing to make sure that script performed as expected, and basic scenarios work"
if ! command -v $version; then
echo "$version was not installed"
exit 1
fi
# Document what was added to the image
echo "Documenting $version..."
DocumentInstalledItem "GNU Fortran $($version --version | head -n 1 | cut -d ' ' -f 5)"
}
# Install GNU Fortran compiler
add-apt-repository ppa:ubuntu-toolchain-r/test -y
apt-get update -y
versions=(
"gfortran-8"
"gfortran-9"
)
for version in ${versions[*]}
do
InstallFortran $version
done

View File

@@ -39,11 +39,14 @@ wget "https://chromedriver.storage.googleapis.com/$LATEST_CHROMEDRIVER_VERSION/c
unzip chromedriver_linux64.zip unzip chromedriver_linux64.zip
rm chromedriver_linux64.zip rm chromedriver_linux64.zip
CHROMEDRIVER_BIN="/usr/bin/chromedriver" CHROMEDRIVER_DIR="/usr/local/share/chrome_driver"
CHROMEDRIVER_BIN="$CHROMEDRIVER_DIR/chromedriver"
mkdir -p $CHROMEDRIVER_DIR
mv "chromedriver" $CHROMEDRIVER_BIN mv "chromedriver" $CHROMEDRIVER_BIN
chown root:root $CHROMEDRIVER_BIN
chmod +x $CHROMEDRIVER_BIN chmod +x $CHROMEDRIVER_BIN
echo "CHROMEWEBDRIVER=$CHROMEDRIVER_BIN" | tee -a /etc/environment ln -s "$CHROMEDRIVER_BIN" /usr/bin/
echo "CHROMEWEBDRIVER=$CHROMEDRIVER_DIR" | tee -a /etc/environment
# Run tests to determine that the chromedriver installed as expected # Run tests to determine that the chromedriver installed as expected
echo "Testing to make sure that script performed as expected, and basic scenarios work" echo "Testing to make sure that script performed as expected, and basic scenarios work"

View File

@@ -8,7 +8,7 @@
source $HELPER_SCRIPTS/document.sh source $HELPER_SCRIPTS/document.sh
# Install LTS Node.js and related build tools # Install LTS Node.js and related build tools
curl -sL https://git.io/n-install | bash -s -- -ny - curl -sL https://raw.githubusercontent.com/mklement0/n-install/stable/bin/n-install | bash -s -- -ny -
~/n/bin/n lts ~/n/bin/n lts
npm install -g grunt gulp n parcel-bundler typescript npm install -g grunt gulp n parcel-bundler typescript
npm install -g --save-dev webpack webpack-cli npm install -g --save-dev webpack webpack-cli

View File

@@ -133,6 +133,7 @@
"{{template_dir}}/scripts/installers/erlang.sh", "{{template_dir}}/scripts/installers/erlang.sh",
"{{template_dir}}/scripts/installers/firefox.sh", "{{template_dir}}/scripts/installers/firefox.sh",
"{{template_dir}}/scripts/installers/gcc.sh", "{{template_dir}}/scripts/installers/gcc.sh",
"{{template_dir}}/scripts/installers/gfortran.sh",
"{{template_dir}}/scripts/installers/git.sh", "{{template_dir}}/scripts/installers/git.sh",
"{{template_dir}}/scripts/installers/1604/go.sh", "{{template_dir}}/scripts/installers/1604/go.sh",
"{{template_dir}}/scripts/installers/google-chrome.sh", "{{template_dir}}/scripts/installers/google-chrome.sh",
@@ -162,7 +163,9 @@
"{{template_dir}}/scripts/installers/subversion.sh", "{{template_dir}}/scripts/installers/subversion.sh",
"{{template_dir}}/scripts/installers/terraform.sh", "{{template_dir}}/scripts/installers/terraform.sh",
"{{template_dir}}/scripts/installers/vcpkg.sh", "{{template_dir}}/scripts/installers/vcpkg.sh",
"{{template_dir}}/scripts/installers/zeit-now.sh" "{{template_dir}}/scripts/installers/zeit-now.sh",
"{{template_dir}}/scripts/installers/dpkg-config.sh"
], ],
"environment_vars": [ "environment_vars": [
"METADATA_FILE={{user `metadata_file`}}", "METADATA_FILE={{user `metadata_file`}}",

View File

@@ -136,6 +136,7 @@
"{{template_dir}}/scripts/installers/erlang.sh", "{{template_dir}}/scripts/installers/erlang.sh",
"{{template_dir}}/scripts/installers/firefox.sh", "{{template_dir}}/scripts/installers/firefox.sh",
"{{template_dir}}/scripts/installers/gcc.sh", "{{template_dir}}/scripts/installers/gcc.sh",
"{{template_dir}}/scripts/installers/gfortran.sh",
"{{template_dir}}/scripts/installers/git.sh", "{{template_dir}}/scripts/installers/git.sh",
"{{template_dir}}/scripts/installers/1804/go.sh", "{{template_dir}}/scripts/installers/1804/go.sh",
"{{template_dir}}/scripts/installers/google-chrome.sh", "{{template_dir}}/scripts/installers/google-chrome.sh",
@@ -165,7 +166,8 @@
"{{template_dir}}/scripts/installers/subversion.sh", "{{template_dir}}/scripts/installers/subversion.sh",
"{{template_dir}}/scripts/installers/terraform.sh", "{{template_dir}}/scripts/installers/terraform.sh",
"{{template_dir}}/scripts/installers/vcpkg.sh", "{{template_dir}}/scripts/installers/vcpkg.sh",
"{{template_dir}}/scripts/installers/zeit-now.sh" "{{template_dir}}/scripts/installers/zeit-now.sh",
"{{template_dir}}/scripts/installers/dpkg-config.sh"
], ],
"environment_vars": [ "environment_vars": [
"METADATA_FILE={{user `metadata_file`}}", "METADATA_FILE={{user `metadata_file`}}",

View File

@@ -1,34 +1,34 @@
--- ---
title: GitHub Hosted Github Mojave 10.15 VM Image Updates title: GitHub Hosted Github Mojave 10.15 VM Image Updates
description: Software used on build machines description: Software used on build machines
date: Week 4 date: Week 6
--- ---
#### ⚠️ We are going to change the default Xcode to 11.3.1 next week. #### Xcode 11.3.1 set by default
#### Xcode 11.2.1 set by default
## Operating System ## Operating System
- OS X 10.15.2 (19C57) **Catalina** - OS X 10.15.3 (19D76) **Catalina**
## Installed Software ## Installed Software
### Language and Runtime ### Language and Runtime
- Java 1.7: (Zulu 7.36.0.5-CA-macosx) (build 1.7.0_252-b10) - Java 1.7: (Zulu 7.36.0.5-CA-macosx) (build 1.7.0_252-b10)
- Java 1.8: (Zulu 8.44.0.9-CA-macosx) (build 1.8.0_242-b20) (default) - Java 1.8: (Zulu 8.44.0.11-CA-macosx) (build 1.8.0_242-b20) (default)
- Java 11: Zulu11.37+17-CA (build 11.0.6+10-LTS) - Java 11: Zulu11.37+17-CA (build 11.0.6+10-LTS)
- Java 12: Zulu12.3+11-CA (build 12.0.2+3) - Java 12: Zulu12.3+11-CA (build 12.0.2+3)
- Java 13: Zulu13.29+9-CA (build 13.0.2+6-MTS) - Java 13: Zulu13.29+9-CA (build 13.0.2+6-MTS)
- Rust 1.41.0
- Node.js v12.14.1 - Node.js v12.14.1
- NVM 0.33.11 - NVM 0.33.11
- NVM - Cached node versions: v6.17.1 v8.17.0 v10.18.1 v12.14.1 v13.6.0 - NVM - Cached node versions: v6.17.1 v8.17.0 v10.18.1 v12.14.1 v13.7.0
- PowerShell 6.2.3 - PowerShell 6.2.4
- Python 2.7.17 - Python 2.7.17
- Python 3.7.6 - Python 3.7.6
- Ruby 2.6.5p114 - Ruby 2.6.5p114
- Rust 1.40.0
- .NET SDK 2.0.0 3.0.100 3.0.101 3.0.102 3.1.100 3.1.101 - .NET SDK 2.0.0 3.0.100 3.0.101 3.0.102 3.1.100 3.1.101
- Go 1.13.6 - Go 1.13.7
### Package Management ### Package Management
- Rustup 1.21.1
- Bundler version 2.1.4 - Bundler version 2.1.4
- Carthage 0.34.0 - Carthage 0.34.0
- CocoaPods 1.8.4 - CocoaPods 1.8.4
@@ -38,34 +38,35 @@ date: Week 4
- NuGet 5.3.1.6268 - NuGet 5.3.1.6268
- Pip 19.3.1 (python 2.7) - Pip 19.3.1 (python 2.7)
- Pip 19.3.1 (python 3.7) - Pip 19.3.1 (python 3.7)
- Rustup 1.21.1
- Miniconda 4.7.12 - Miniconda 4.7.12
- RubyGems 3.1.2 - RubyGems 3.1.2
### Project Management ### Project Management
- Apache Maven 3.6.3 - Apache Maven 3.6.3
- Gradle 6.1 - Gradle 6.1.1
### Utilities ### Utilities
- Curl 7.68.0 - Curl 7.68.0
- Git: 2.25.0 - Git: 2.25.0
- Git LFS: 2.9.2 - Git LFS: 2.10.0
- GNU Wget 1.20.3 - GNU Wget 1.20.3
- Subversion (SVN) 1.13.0 - Subversion (SVN) 1.13.0
- GNU parallel 20191222 - GNU parallel 20200122
- OpenSSL 1.0.2t 10 Sep 2019 - OpenSSL 1.0.2t 10 Sep 2019
- jq 1.6 - jq 1.6
- gpg (GnuPG) 2.2.19 - gpg (GnuPG) 2.2.19
### Tools ### Tools
- Fastlane 2.140.0 - Fastlane 2.141.0
- Cmake 3.16.2 - Cmake 3.16.3
- App Center CLI 2.3.3 - App Center CLI 2.3.3
- Azure CLI 2.0.80 - Azure CLI 2.0.80
### Browsers ### Browsers
- Google Chrome 79.0.3945.130 - Google Chrome 79.0.3945.130
- ChromeDriver 79.0.3945.36 - ChromeDriver 79.0.3945.36
- Microsoft Edge 79.0.309.71
- MSEdgeDriver 79.0.309.71
### Toolcache ### Toolcache
#### Ruby #### Ruby
@@ -82,12 +83,12 @@ date: Week 4
- 3.8.1 - 3.8.1
#### PyPy #### PyPy
- 2.7.13 - 2.7.17
- 3.6.9 - 3.6.9
### Xamarin ### Xamarin
#### Visual Studio for Mac #### Visual Studio for Mac
- 8.4.1.4 - 8.4.3.12
#### Mono #### Mono
- 6.6.0.155 - 6.6.0.155
@@ -115,7 +116,7 @@ date: Week 4
### Xcode ### Xcode
| Version | Build | Path | | Version | Build | Path |
| ------------------------------ | ------------------------------ | ------------------------------ | | ------------------------------ | ------------------------------ | ------------------------------ |
| 11.3.1 | 11C505 | /Applications/Xcode_11.3.1.app | | 11.3.1 (default) | 11C505 | /Applications/Xcode_11.3.1.app |
| 11.3 | 11C29 | /Applications/Xcode_11.3.app | | 11.3 | 11C29 | /Applications/Xcode_11.3.app |
| 11.2.1 | 11B500 | /Applications/Xcode_11.2.1.app | | 11.2.1 | 11B500 | /Applications/Xcode_11.2.1.app |
| 11.2 | 11B52 | /Applications/Xcode_11.2.app | | 11.2 | 11B52 | /Applications/Xcode_11.2.app |
@@ -209,6 +210,7 @@ date: Week 4
| build-tools-29.0.0 | Android SDK Build-Tools, Revision 29.0.0 | | build-tools-29.0.0 | Android SDK Build-Tools, Revision 29.0.0 |
| build-tools-29.0.1 | Android SDK Build-Tools, Revision 29.0.1 | | build-tools-29.0.1 | Android SDK Build-Tools, Revision 29.0.1 |
| build-tools-29.0.2 | Android SDK Build-Tools, Revision 29.0.2 | | build-tools-29.0.2 | Android SDK Build-Tools, Revision 29.0.2 |
| build-tools-29.0.3 | Android SDK Build-Tools, Revision 29.0.3 |
#### Android Utils #### Android Utils
| Package Name | Version | | Package Name | Version |

View File

@@ -126,6 +126,7 @@ _Environment:_
## .NET 4.8 ## .NET 4.8
_Version:_ 4.8.03761
_Path:_ C:\Program Files (x86)\Microsoft SDKs\Windows\v10.0A\bin\NETFX 4.8 Tools _Path:_ C:\Program Files (x86)\Microsoft SDKs\Windows\v10.0A\bin\NETFX 4.8 Tools
## Windows Driver Kit ## Windows Driver Kit

View File

@@ -31,3 +31,4 @@ npm install -g gulp-cli
npm install -g parcel-bundler npm install -g parcel-bundler
npm install -g --save-dev webpack webpack-cli npm install -g --save-dev webpack webpack-cli
npm install -g yarn npm install -g yarn
npm install -g lerna

View File

@@ -22,6 +22,7 @@ $SoftwareName = ".NET 4.8"
$Description = @" $Description = @"
_Version:_ $version _Version:_ $version
_Path:_ ${Env:ProgramFiles(x86)}\Microsoft SDKs\Windows\v10.0A\bin\NETFX 4.8 Tools
"@ "@
Add-SoftwareDetailsToMarkdown -SoftwareName $SoftwareName -DescriptionMarkdown $Description Add-SoftwareDetailsToMarkdown -SoftwareName $SoftwareName -DescriptionMarkdown $Description

View File

@@ -26,6 +26,16 @@ else
exit 1 exit 1
} }
if(Get-Command -Name 'lerna')
{
Write-Host "lerna $(lerna --version) on path"
}
else
{
Write-Host "lerna is not on path"
exit 1
}
if( $(node --version) -match 'v(?<version>.*)' ) if( $(node --version) -match 'v(?<version>.*)' )