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"
if ! IsInstalled $latest_package; then
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
else
echo ".NET Core ($latest_package) is already installed"

View File

@@ -17,7 +17,7 @@ apt-get update
apt-get install -y kubectl
# 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
echo "Testing to make sure that script performed as expected, and basic scenarios work"

View File

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

View File

@@ -19,7 +19,7 @@ apt-get update
apt-get install -y kubectl
# 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
echo "Testing to make sure that script performed as expected, and basic scenarios work"

View File

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

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
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
chown root:root $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
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
# 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
npm install -g grunt gulp n parcel-bundler typescript
npm install -g --save-dev webpack webpack-cli

View File

@@ -133,6 +133,7 @@
"{{template_dir}}/scripts/installers/erlang.sh",
"{{template_dir}}/scripts/installers/firefox.sh",
"{{template_dir}}/scripts/installers/gcc.sh",
"{{template_dir}}/scripts/installers/gfortran.sh",
"{{template_dir}}/scripts/installers/git.sh",
"{{template_dir}}/scripts/installers/1604/go.sh",
"{{template_dir}}/scripts/installers/google-chrome.sh",
@@ -162,7 +163,9 @@
"{{template_dir}}/scripts/installers/subversion.sh",
"{{template_dir}}/scripts/installers/terraform.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": [
"METADATA_FILE={{user `metadata_file`}}",

View File

@@ -136,6 +136,7 @@
"{{template_dir}}/scripts/installers/erlang.sh",
"{{template_dir}}/scripts/installers/firefox.sh",
"{{template_dir}}/scripts/installers/gcc.sh",
"{{template_dir}}/scripts/installers/gfortran.sh",
"{{template_dir}}/scripts/installers/git.sh",
"{{template_dir}}/scripts/installers/1804/go.sh",
"{{template_dir}}/scripts/installers/google-chrome.sh",
@@ -165,7 +166,8 @@
"{{template_dir}}/scripts/installers/subversion.sh",
"{{template_dir}}/scripts/installers/terraform.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": [
"METADATA_FILE={{user `metadata_file`}}",

View File

@@ -1,34 +1,34 @@
---
title: GitHub Hosted Github Mojave 10.15 VM Image Updates
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.2.1 set by default
#### Xcode 11.3.1 set by default
## Operating System
- OS X 10.15.2 (19C57) **Catalina**
- OS X 10.15.3 (19D76) **Catalina**
## Installed Software
### Language and Runtime
- 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 12: Zulu12.3+11-CA (build 12.0.2+3)
- Java 13: Zulu13.29+9-CA (build 13.0.2+6-MTS)
- Rust 1.41.0
- Node.js v12.14.1
- NVM 0.33.11
- NVM - Cached node versions: v6.17.1 v8.17.0 v10.18.1 v12.14.1 v13.6.0
- PowerShell 6.2.3
- NVM - Cached node versions: v6.17.1 v8.17.0 v10.18.1 v12.14.1 v13.7.0
- PowerShell 6.2.4
- Python 2.7.17
- Python 3.7.6
- 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
- Go 1.13.6
- Go 1.13.7
### Package Management
- Rustup 1.21.1
- Bundler version 2.1.4
- Carthage 0.34.0
- CocoaPods 1.8.4
@@ -38,34 +38,35 @@ date: Week 4
- NuGet 5.3.1.6268
- Pip 19.3.1 (python 2.7)
- Pip 19.3.1 (python 3.7)
- Rustup 1.21.1
- Miniconda 4.7.12
- RubyGems 3.1.2
### Project Management
- Apache Maven 3.6.3
- Gradle 6.1
- Gradle 6.1.1
### Utilities
- Curl 7.68.0
- Git: 2.25.0
- Git LFS: 2.9.2
- Git LFS: 2.10.0
- GNU Wget 1.20.3
- Subversion (SVN) 1.13.0
- GNU parallel 20191222
- GNU parallel 20200122
- OpenSSL 1.0.2t 10 Sep 2019
- jq 1.6
- gpg (GnuPG) 2.2.19
### Tools
- Fastlane 2.140.0
- Cmake 3.16.2
- Fastlane 2.141.0
- Cmake 3.16.3
- App Center CLI 2.3.3
- Azure CLI 2.0.80
### Browsers
- Google Chrome 79.0.3945.130
- ChromeDriver 79.0.3945.36
- Microsoft Edge 79.0.309.71
- MSEdgeDriver 79.0.309.71
### Toolcache
#### Ruby
@@ -82,12 +83,12 @@ date: Week 4
- 3.8.1
#### PyPy
- 2.7.13
- 2.7.17
- 3.6.9
### Xamarin
#### Visual Studio for Mac
- 8.4.1.4
- 8.4.3.12
#### Mono
- 6.6.0.155
@@ -115,7 +116,7 @@ date: Week 4
### Xcode
| 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.2.1 | 11B500 | /Applications/Xcode_11.2.1.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.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.3 | Android SDK Build-Tools, Revision 29.0.3 |
#### Android Utils
| Package Name | Version |

View File

@@ -125,7 +125,8 @@ _Environment:_
* WIX: Installation root of WIX
## .NET 4.8
_Version:_ 4.8.03761
_Path:_ C:\Program Files (x86)\Microsoft SDKs\Windows\v10.0A\bin\NETFX 4.8 Tools
## Windows Driver Kit

View File

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

View File

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

View File

@@ -26,6 +26,16 @@ else
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>.*)' )