mirror of
https://github.com/actions/runner-images.git
synced 2025-12-14 21:56:55 +00:00
[Ubuntu] Migrate tests for common tools to Pester (part 3) (#2337)
* add test for Git * Add Heroku * Add hhvm * Add Homebrew * Add Julia * Add kind * Add Kubernetes Tools * Remove kind and homebrew validate * replace capital letter * Add Leiningen * add source to Leiningen * Add Mercurial * Add conda * Add Netlify * Add packer * Add pollinate * Add Pulumi * Add Phantomjs * Add Haveged * Fix for kubectl * Fix julia installation * Add installer_script_folder env variable to run tests in brew provisioner * Add delay after reboot * Adjust pause settings
This commit is contained in:
@@ -69,4 +69,40 @@ function ShouldReturnZeroExitCode {
|
|||||||
|
|
||||||
If (Get-Command -Name Add-AssertionOperator -ErrorAction SilentlyContinue) {
|
If (Get-Command -Name Add-AssertionOperator -ErrorAction SilentlyContinue) {
|
||||||
Add-AssertionOperator -Name ReturnZeroExitCode -InternalName ShouldReturnZeroExitCode -Test ${function:ShouldReturnZeroExitCode}
|
Add-AssertionOperator -Name ReturnZeroExitCode -InternalName ShouldReturnZeroExitCode -Test ${function:ShouldReturnZeroExitCode}
|
||||||
|
}
|
||||||
|
|
||||||
|
function ShouldMatchCommandOutput {
|
||||||
|
Param(
|
||||||
|
[String] $ActualValue,
|
||||||
|
[String] $RegularExpression,
|
||||||
|
[switch] $Negate
|
||||||
|
)
|
||||||
|
|
||||||
|
$output = (Get-CommandResult $ActualValue).Output | Out-String
|
||||||
|
[bool] $succeeded = $output -cmatch $RegularExpression
|
||||||
|
|
||||||
|
if ($Negate) {
|
||||||
|
$succeeded = -not $succeeded
|
||||||
|
}
|
||||||
|
|
||||||
|
$failureMessage = ''
|
||||||
|
|
||||||
|
if (-not $succeeded) {
|
||||||
|
if ($Negate) {
|
||||||
|
$failureMessage = "Expected regular expression '$RegularExpression' for '$ActualValue' command to not match '$output', but it did match."
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
$failureMessage = "Expected regular expression '$RegularExpression' for '$ActualValue' command to match '$output', but it did not match."
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return [PSCustomObject] @{
|
||||||
|
Succeeded = $succeeded
|
||||||
|
FailureMessage = $failureMessage
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
If (Get-Command -Name Add-AssertionOperator -ErrorAction SilentlyContinue) {
|
||||||
|
Add-AssertionOperator -Name ReturnZeroExitCode -InternalName ShouldReturnZeroExitCode -Test ${function:ShouldReturnZeroExitCode}
|
||||||
|
Add-AssertionOperator -Name MatchCommandOutput -InternalName ShouldMatchCommandOutput -Test ${function:ShouldMatchCommandOutput}
|
||||||
}
|
}
|
||||||
@@ -5,7 +5,8 @@
|
|||||||
################################################################################
|
################################################################################
|
||||||
|
|
||||||
# Source the helpers for use with the script
|
# Source the helpers for use with the script
|
||||||
source "$HELPER_SCRIPTS"/install.sh
|
source $HELPER_SCRIPTS/install.sh
|
||||||
|
source $HELPER_SCRIPTS/invoke-tests.sh
|
||||||
|
|
||||||
## Install git
|
## Install git
|
||||||
add-apt-repository ppa:git-core/ppa -y
|
add-apt-repository ppa:git-core/ppa -y
|
||||||
@@ -20,23 +21,6 @@ apt-get install -y --no-install-recommends git-lfs
|
|||||||
# Install git-ftp
|
# Install git-ftp
|
||||||
apt-get install git-ftp -y
|
apt-get install git-ftp -y
|
||||||
|
|
||||||
# Run tests to determine that the software installed as expected
|
|
||||||
echo "Testing git installation"
|
|
||||||
if ! command -v git; then
|
|
||||||
echo "git was not installed"
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
echo "Testing git-lfs installation"
|
|
||||||
if ! command -v git-lfs; then
|
|
||||||
echo "git-lfs was not installed"
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
echo "Testing git-ftp installation"
|
|
||||||
if ! command -v git-ftp; then
|
|
||||||
echo "git-ftp was not installed"
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
|
|
||||||
#Install hub
|
#Install hub
|
||||||
tmp_hub="/tmp/hub"
|
tmp_hub="/tmp/hub"
|
||||||
mkdir -p "$tmp_hub"
|
mkdir -p "$tmp_hub"
|
||||||
@@ -45,13 +29,8 @@ download_with_retries "$url" "$tmp_hub"
|
|||||||
tar xzvf "$tmp_hub"/hub-linux-amd64-*.tgz --strip-components 1 -C "$tmp_hub"
|
tar xzvf "$tmp_hub"/hub-linux-amd64-*.tgz --strip-components 1 -C "$tmp_hub"
|
||||||
mv "$tmp_hub"/bin/hub /usr/local/bin
|
mv "$tmp_hub"/bin/hub /usr/local/bin
|
||||||
|
|
||||||
if command -v hub; then
|
|
||||||
echo "hub CLI was installed successfully"
|
|
||||||
else
|
|
||||||
echo "[!] Hub CLI was not installed"
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
|
|
||||||
# Add well-known SSH host keys to known_hosts
|
# Add well-known SSH host keys to known_hosts
|
||||||
ssh-keyscan -t rsa github.com >> /etc/ssh/ssh_known_hosts
|
ssh-keyscan -t rsa github.com >> /etc/ssh/ssh_known_hosts
|
||||||
ssh-keyscan -t rsa ssh.dev.azure.com >> /etc/ssh/ssh_known_hosts
|
ssh-keyscan -t rsa ssh.dev.azure.com >> /etc/ssh/ssh_known_hosts
|
||||||
|
|
||||||
|
invoke_tests "Tools" "Git"
|
||||||
@@ -4,11 +4,9 @@
|
|||||||
## Desc: Installs Heroku CLI
|
## Desc: Installs Heroku CLI
|
||||||
################################################################################
|
################################################################################
|
||||||
|
|
||||||
|
source $HELPER_SCRIPTS/invoke-tests.sh
|
||||||
|
|
||||||
# Install Heroku CLI
|
# Install Heroku CLI
|
||||||
curl https://cli-assets.heroku.com/install-ubuntu.sh | sh
|
curl https://cli-assets.heroku.com/install-ubuntu.sh | sh
|
||||||
|
|
||||||
# Run tests to determine that the software installed as expected
|
invoke_tests "Tools" "Heroku"
|
||||||
echo "Testing to make sure that script performed as expected, and basic scenarios work"
|
|
||||||
if ! command -v heroku; then
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
@@ -4,29 +4,11 @@
|
|||||||
## Desc: Installs hhvm
|
## Desc: Installs hhvm
|
||||||
################################################################################
|
################################################################################
|
||||||
|
|
||||||
# Source the helpers for use with the script
|
source $HELPER_SCRIPTS/invoke-tests.sh
|
||||||
source $HELPER_SCRIPTS/install.sh
|
|
||||||
|
|
||||||
hhvm_package=hhvm
|
apt-key adv --recv-keys --keyserver hkp://keyserver.ubuntu.com:80 0xB4112585D386EB94
|
||||||
|
add-apt-repository https://dl.hhvm.com/ubuntu
|
||||||
|
apt-get update
|
||||||
|
apt-get -qq install -y hhvm
|
||||||
|
|
||||||
# Test to see if the software in question is already installed, if not install it
|
invoke_tests "Tools" "HHVM"
|
||||||
echo "Checking to see if the installer script has already been run"
|
|
||||||
if ! IsPackageInstalled ${hhvm_package}; then
|
|
||||||
apt-key adv --recv-keys --keyserver hkp://keyserver.ubuntu.com:80 0xB4112585D386EB94
|
|
||||||
add-apt-repository https://dl.hhvm.com/ubuntu
|
|
||||||
apt-get update
|
|
||||||
apt-get -qq install -y hhvm
|
|
||||||
else
|
|
||||||
echo "${hhvm_package} already installed"
|
|
||||||
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"
|
|
||||||
if ! IsPackageInstalled ${hhvm_package}; then
|
|
||||||
echo "${hhvm_package} was not installed"
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
|
|
||||||
if ! command -v hhvm; then
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
|
|||||||
@@ -1,14 +0,0 @@
|
|||||||
#!/bin/bash -e
|
|
||||||
################################################################################
|
|
||||||
## File: homebrew-validate.sh
|
|
||||||
## Desc: Validate the Homebrew can run after reboot without extra configuring
|
|
||||||
################################################################################
|
|
||||||
|
|
||||||
# Validate the installation
|
|
||||||
echo "Validate the Homebrew can run after reboot"
|
|
||||||
|
|
||||||
if ! command -v brew; then
|
|
||||||
echo "brew executable not found after reboot"
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
|
|
||||||
@@ -7,6 +7,7 @@
|
|||||||
|
|
||||||
# Source the helpers
|
# Source the helpers
|
||||||
source $HELPER_SCRIPTS/etc-environment.sh
|
source $HELPER_SCRIPTS/etc-environment.sh
|
||||||
|
source $HELPER_SCRIPTS/invoke-tests.sh
|
||||||
|
|
||||||
# Install the Homebrew on Linux
|
# Install the Homebrew on Linux
|
||||||
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install.sh)"
|
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install.sh)"
|
||||||
@@ -23,7 +24,4 @@ prependEtcEnvironmentPath "$brew_path"
|
|||||||
echo "Validate the installation reloading /etc/environment"
|
echo "Validate the installation reloading /etc/environment"
|
||||||
reloadEtcEnvironment
|
reloadEtcEnvironment
|
||||||
|
|
||||||
if ! command -v brew; then
|
invoke_tests "Tools" "Homebrew"
|
||||||
echo "brew was not installed"
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
|
|||||||
@@ -4,6 +4,8 @@
|
|||||||
## Desc: Installs Julia, and adds Julia to the path
|
## Desc: Installs Julia, and adds Julia to the path
|
||||||
################################################################################
|
################################################################################
|
||||||
|
|
||||||
|
source $HELPER_SCRIPTS/invoke-tests.sh
|
||||||
|
|
||||||
# This function fetches the latest Julia release from the GitHub API
|
# This function fetches the latest Julia release from the GitHub API
|
||||||
# Based on https://gist.github.com/lukechilds/a83e1d7127b78fef38c2914c4ececc3c
|
# Based on https://gist.github.com/lukechilds/a83e1d7127b78fef38c2914c4ececc3c
|
||||||
function GetLatestJuliaRelease () {
|
function GetLatestJuliaRelease () {
|
||||||
@@ -13,44 +15,15 @@ function GetLatestJuliaRelease () {
|
|||||||
sed 's/v//' # remove v prefix
|
sed 's/v//' # remove v prefix
|
||||||
}
|
}
|
||||||
|
|
||||||
|
juliaVersion="$(GetLatestJuliaRelease)"
|
||||||
|
juliaMajorAndMinorVersion="$(cut -d. -f1,2 <<< $juliaVersion)"
|
||||||
|
juliaInstallationPath="/usr/local/julia$juliaVersion"
|
||||||
|
|
||||||
# This function installs Julia using the specified arguments:
|
curl -sL "https://julialang-s3.julialang.org/bin/linux/x64/$juliaMajorAndMinorVersion/julia-$juliaVersion-linux-x86_64.tar.gz" -o "julia-$juliaVersion-linux-x86_64.tar.gz"
|
||||||
# $1=MajorAndMinorVersion (1.3.1)
|
mkdir -p "$juliaInstallationPath"
|
||||||
# $2=IsDefaultVersion (true or false)
|
tar -C "$juliaInstallationPath" -xzf "julia-$juliaVersion-linux-x86_64.tar.gz" --strip-components=1
|
||||||
|
rm "julia-$juliaVersion-linux-x86_64.tar.gz"
|
||||||
|
|
||||||
function InstallJulia () {
|
ln -s "$juliaInstallationPath/bin/julia" /usr/bin/julia
|
||||||
# Extract Major and Minor version from full version string
|
|
||||||
juliaMajorAndMinorVersion="$(cut -d. -f1,2 <<< $1)"
|
|
||||||
juliaInstallationPath="/usr/local/julia$1"
|
|
||||||
|
|
||||||
curl -sL "https://julialang-s3.julialang.org/bin/linux/x64/$juliaMajorAndMinorVersion/julia-$1-linux-x86_64.tar.gz" -o "julia-$1-linux-x86_64.tar.gz"
|
invoke_tests "Tools" "Julia"
|
||||||
mkdir -p "$juliaInstallationPath"
|
|
||||||
tar -C "$juliaInstallationPath" -xzf "julia-$1-linux-x86_64.tar.gz" --strip-components=1
|
|
||||||
rm "julia-$1-linux-x86_64.tar.gz"
|
|
||||||
|
|
||||||
# If this version of Julia is to be the default version,
|
|
||||||
# symlink it into the path
|
|
||||||
if [ "$2" = true ]; then
|
|
||||||
ln -s "$juliaInstallationPath/bin/julia" /usr/bin/julia
|
|
||||||
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"
|
|
||||||
|
|
||||||
# If this version of Julia is to be the default version,
|
|
||||||
# check that it has been added to PATH
|
|
||||||
if [ "$2" = true ]; then
|
|
||||||
if ! command -v julia; then
|
|
||||||
echo "Julia was not installed or found on PATH"
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
|
|
||||||
# Verify output of julia --version
|
|
||||||
if [ ! "$($juliaInstallationPath/bin/julia --version)" = "julia version $1" ]; then
|
|
||||||
echo "Julia was not installed correctly"
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
}
|
|
||||||
|
|
||||||
InstallJulia "$(GetLatestJuliaRelease)" true
|
|
||||||
|
|||||||
@@ -1,17 +0,0 @@
|
|||||||
#!/bin/bash -e
|
|
||||||
################################################################################
|
|
||||||
## File: kind.sh
|
|
||||||
## Desc: Installs kind
|
|
||||||
################################################################################
|
|
||||||
|
|
||||||
# Install KIND
|
|
||||||
URL=$(curl -s https://api.github.com/repos/kubernetes-sigs/kind/releases/latest | jq -r '.assets[].browser_download_url | select(contains("kind-linux-amd64"))')
|
|
||||||
curl -L -o /usr/local/bin/kind $URL
|
|
||||||
chmod +x /usr/local/bin/kind
|
|
||||||
|
|
||||||
# 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 kind; then
|
|
||||||
echo "Kind was not installed or found on PATH"
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
@@ -4,6 +4,13 @@
|
|||||||
## Desc: Installs kubectl, helm, kustomize
|
## Desc: Installs kubectl, helm, kustomize
|
||||||
################################################################################
|
################################################################################
|
||||||
|
|
||||||
|
source $HELPER_SCRIPTS/invoke-tests.sh
|
||||||
|
|
||||||
|
# Install KIND
|
||||||
|
URL=$(curl -s https://api.github.com/repos/kubernetes-sigs/kind/releases/latest | jq -r '.assets[].browser_download_url | select(contains("kind-linux-amd64"))')
|
||||||
|
curl -L -o /usr/local/bin/kind $URL
|
||||||
|
chmod +x /usr/local/bin/kind
|
||||||
|
|
||||||
## Install kubectl
|
## Install kubectl
|
||||||
curl -s https://packages.cloud.google.com/apt/doc/apt-key.gpg | apt-key add -
|
curl -s https://packages.cloud.google.com/apt/doc/apt-key.gpg | apt-key add -
|
||||||
touch /etc/apt/sources.list.d/kubernetes.list
|
touch /etc/apt/sources.list.d/kubernetes.list
|
||||||
@@ -25,27 +32,4 @@ download_url="https://raw.githubusercontent.com/kubernetes-sigs/kustomize/master
|
|||||||
curl -s "$download_url" | bash
|
curl -s "$download_url" | bash
|
||||||
mv kustomize /usr/local/bin
|
mv kustomize /usr/local/bin
|
||||||
|
|
||||||
# Run tests to determine that the software installed as expected
|
invoke_tests "Tools" "Kubernetes tools"
|
||||||
echo "Testing to make sure that script performed as expected, and basic scenarios work"
|
|
||||||
if ! command -v kubectl; then
|
|
||||||
echo "kubectl was not installed"
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
|
|
||||||
if ! command -v helm; then
|
|
||||||
echo "helm was not installed"
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
|
|
||||||
# Run tests to determine that the software installed as expected
|
|
||||||
echo "Testing to make sure that minikube was installed"
|
|
||||||
if ! command -v minikube; then
|
|
||||||
echo "minikube was not installed"
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
|
|
||||||
echo "Testing to make sure that kustomize was installed"
|
|
||||||
if ! command -v kustomize; then
|
|
||||||
echo "kustomize was not installed"
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
|
|||||||
@@ -4,6 +4,8 @@
|
|||||||
## Desc: Installs Leiningen
|
## Desc: Installs Leiningen
|
||||||
################################################################################
|
################################################################################
|
||||||
|
|
||||||
|
source $HELPER_SCRIPTS/invoke-tests.sh
|
||||||
|
|
||||||
LEIN_BIN=/usr/local/bin/lein
|
LEIN_BIN=/usr/local/bin/lein
|
||||||
curl -s https://raw.githubusercontent.com/technomancy/leiningen/stable/bin/lein > $LEIN_BIN
|
curl -s https://raw.githubusercontent.com/technomancy/leiningen/stable/bin/lein > $LEIN_BIN
|
||||||
chmod 0755 $LEIN_BIN
|
chmod 0755 $LEIN_BIN
|
||||||
@@ -16,11 +18,4 @@ LEIN_JAR=$(find $LEIN_HOME -name "leiningen-*-standalone.jar")
|
|||||||
echo "LEIN_JAR=$LEIN_JAR" | tee -a /etc/environment
|
echo "LEIN_JAR=$LEIN_JAR" | tee -a /etc/environment
|
||||||
echo "LEIN_HOME=$LEIN_HOME" | tee -a /etc/environment
|
echo "LEIN_HOME=$LEIN_HOME" | tee -a /etc/environment
|
||||||
|
|
||||||
# Run tests to determine that the software installed as expected
|
invoke_tests "Tools" "Leiningen"
|
||||||
echo "Testing to make sure that script performed as expected, and basic scenarios work"
|
|
||||||
if ! command -v lein; then
|
|
||||||
echo "lein was not installed"
|
|
||||||
exit 1
|
|
||||||
else
|
|
||||||
lein new app testapp && rm -rf testapp
|
|
||||||
fi
|
|
||||||
@@ -4,6 +4,8 @@
|
|||||||
## Desc: Installs Mercurial
|
## Desc: Installs Mercurial
|
||||||
################################################################################
|
################################################################################
|
||||||
|
|
||||||
|
source $HELPER_SCRIPTS/invoke-tests.sh
|
||||||
|
|
||||||
# Source the helpers for use with the script
|
# Source the helpers for use with the script
|
||||||
source $HELPER_SCRIPTS/os.sh
|
source $HELPER_SCRIPTS/os.sh
|
||||||
|
|
||||||
@@ -16,8 +18,4 @@ fi
|
|||||||
|
|
||||||
apt-get install -y --no-install-recommends mercurial
|
apt-get install -y --no-install-recommends mercurial
|
||||||
|
|
||||||
# Run tests to determine that the software installed as expected
|
invoke_tests "Tools" "Mercurial"
|
||||||
echo "Testing to make sure that script performed as expected, and basic scenarios work"
|
|
||||||
if ! command -v hg; then
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
@@ -4,6 +4,8 @@
|
|||||||
## Desc: Installs miniconda
|
## Desc: Installs miniconda
|
||||||
################################################################################
|
################################################################################
|
||||||
|
|
||||||
|
source $HELPER_SCRIPTS/invoke-tests.sh
|
||||||
|
|
||||||
# Install Miniconda
|
# Install Miniconda
|
||||||
curl -sL https://repo.continuum.io/miniconda/Miniconda3-latest-Linux-x86_64.sh -o miniconda.sh \
|
curl -sL https://repo.continuum.io/miniconda/Miniconda3-latest-Linux-x86_64.sh -o miniconda.sh \
|
||||||
&& chmod +x miniconda.sh \
|
&& chmod +x miniconda.sh \
|
||||||
@@ -14,3 +16,5 @@ CONDA=/usr/share/miniconda
|
|||||||
echo "CONDA=$CONDA" | tee -a /etc/environment
|
echo "CONDA=$CONDA" | tee -a /etc/environment
|
||||||
|
|
||||||
ln -s $CONDA/bin/conda /usr/bin/conda
|
ln -s $CONDA/bin/conda /usr/bin/conda
|
||||||
|
|
||||||
|
invoke_tests "Tools" "Conda"
|
||||||
@@ -4,12 +4,9 @@
|
|||||||
## Desc: Installs the Netlify CLI
|
## Desc: Installs the Netlify CLI
|
||||||
################################################################################
|
################################################################################
|
||||||
|
|
||||||
|
source $HELPER_SCRIPTS/invoke-tests.sh
|
||||||
|
|
||||||
# Install the Netlify CLI
|
# Install the Netlify CLI
|
||||||
npm i -g netlify-cli
|
npm i -g netlify-cli
|
||||||
|
|
||||||
# Validate the installation
|
invoke_tests "Tools" "Netlify"
|
||||||
echo "Validate the installation"
|
|
||||||
if ! command -v netlify; then
|
|
||||||
echo "Netlify CLI was not installed"
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
@@ -4,15 +4,12 @@
|
|||||||
## Desc: Installs packer
|
## Desc: Installs packer
|
||||||
################################################################################
|
################################################################################
|
||||||
|
|
||||||
|
source $HELPER_SCRIPTS/invoke-tests.sh
|
||||||
|
|
||||||
# Install Packer
|
# Install Packer
|
||||||
PACKER_VERSION=$(curl -s https://checkpoint-api.hashicorp.com/v1/check/packer | jq -r .current_version)
|
PACKER_VERSION=$(curl -s https://checkpoint-api.hashicorp.com/v1/check/packer | jq -r .current_version)
|
||||||
curl -LO "https://releases.hashicorp.com/packer/${PACKER_VERSION}/packer_${PACKER_VERSION}_linux_amd64.zip"
|
curl -LO "https://releases.hashicorp.com/packer/${PACKER_VERSION}/packer_${PACKER_VERSION}_linux_amd64.zip"
|
||||||
unzip "packer_${PACKER_VERSION}_linux_amd64.zip" -d /usr/local/bin
|
unzip "packer_${PACKER_VERSION}_linux_amd64.zip" -d /usr/local/bin
|
||||||
rm -f "packer_${PACKER_VERSION}_linux_amd64.zip"
|
rm -f "packer_${PACKER_VERSION}_linux_amd64.zip"
|
||||||
|
|
||||||
# Run tests to determine that the software installed as expected
|
invoke_tests "Tools" "Packer"
|
||||||
echo "Testing to make sure that script performed as expected, and basic scenarios work"
|
|
||||||
if ! command -v packer; then
|
|
||||||
echo "Packer was not installed or found on PATH"
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
@@ -4,6 +4,8 @@
|
|||||||
## Desc: Installs PhantomJS
|
## Desc: Installs PhantomJS
|
||||||
################################################################################
|
################################################################################
|
||||||
|
|
||||||
|
source $HELPER_SCRIPTS/invoke-tests.sh
|
||||||
|
|
||||||
# Install PhantomJS
|
# Install PhantomJS
|
||||||
apt-get install -y chrpath libssl-dev libxft-dev libfreetype6 libfreetype6-dev libfontconfig1 libfontconfig1-dev
|
apt-get install -y chrpath libssl-dev libxft-dev libfreetype6 libfreetype6-dev libfontconfig1 libfontconfig1-dev
|
||||||
PHANTOM_JS=phantomjs-2.1.1-linux-x86_64
|
PHANTOM_JS=phantomjs-2.1.1-linux-x86_64
|
||||||
@@ -12,9 +14,4 @@ tar xvjf $PHANTOM_JS.tar.bz2
|
|||||||
mv $PHANTOM_JS /usr/local/share
|
mv $PHANTOM_JS /usr/local/share
|
||||||
ln -sf /usr/local/share/$PHANTOM_JS/bin/phantomjs /usr/local/bin
|
ln -sf /usr/local/share/$PHANTOM_JS/bin/phantomjs /usr/local/bin
|
||||||
|
|
||||||
# Run tests to determine that the software installed as expected
|
invoke_tests "Tools" "Phantomjs"
|
||||||
echo "Testing to make sure that script performed as expected, and basic scenarios work"
|
|
||||||
if ! command -v phantomjs; then
|
|
||||||
echo "phantomjs was not installed"
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
|
|||||||
@@ -4,12 +4,9 @@
|
|||||||
## Desc: Installs Pollinate
|
## Desc: Installs Pollinate
|
||||||
################################################################################
|
################################################################################
|
||||||
|
|
||||||
|
source $HELPER_SCRIPTS/invoke-tests.sh
|
||||||
|
|
||||||
# Install Pollinate
|
# Install Pollinate
|
||||||
apt-get install -y --no-install-recommends pollinate
|
apt-get install -y --no-install-recommends pollinate
|
||||||
|
|
||||||
# Run tests to determine that the software installed as expected
|
invoke_tests "Tools" "Pollinate"
|
||||||
echo "Testing to make sure that script performed as expected, and basic scenarios work"
|
|
||||||
if ! command -v pollinate; then
|
|
||||||
echo "pollinate was not installed"
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
|
|||||||
@@ -6,6 +6,7 @@
|
|||||||
|
|
||||||
# Source the helpers for use with the script
|
# Source the helpers for use with the script
|
||||||
source $HELPER_SCRIPTS/install.sh
|
source $HELPER_SCRIPTS/install.sh
|
||||||
|
source $HELPER_SCRIPTS/invoke-tests.sh
|
||||||
|
|
||||||
# Install Pulumi
|
# Install Pulumi
|
||||||
VERSION=$(curl --fail --silent -L "https://www.pulumi.com/latest-version")
|
VERSION=$(curl --fail --silent -L "https://www.pulumi.com/latest-version")
|
||||||
@@ -13,9 +14,4 @@ TARBALL_URL="https://get.pulumi.com/releases/sdk/pulumi-v${VERSION}-linux-x64.ta
|
|||||||
download_with_retries ${TARBALL_URL} "/tmp" pulumi-v${VERSION}.tar.gz
|
download_with_retries ${TARBALL_URL} "/tmp" pulumi-v${VERSION}.tar.gz
|
||||||
tar --strip=1 -xvf /tmp/pulumi-v${VERSION}.tar.gz -C /usr/local/bin
|
tar --strip=1 -xvf /tmp/pulumi-v${VERSION}.tar.gz -C /usr/local/bin
|
||||||
|
|
||||||
# Run tests to determine that the software installed as expected
|
invoke_tests "Tools" "Pulumi"
|
||||||
echo "Testing to make sure that script performed as expected, and basic scenarios work"
|
|
||||||
if ! command -v pulumi ; then
|
|
||||||
echo "Pulumi was not installed"
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
|
|||||||
@@ -4,14 +4,9 @@
|
|||||||
## Desc: Install random number generator
|
## Desc: Install random number generator
|
||||||
################################################################################
|
################################################################################
|
||||||
|
|
||||||
|
source $HELPER_SCRIPTS/invoke-tests.sh
|
||||||
|
|
||||||
# Install haveged
|
# Install haveged
|
||||||
apt-get -y install haveged
|
apt-get -y install haveged
|
||||||
|
|
||||||
# Run tests to determine that the software installed as expected
|
invoke_tests "Tools" "Haveged"
|
||||||
echo "Testing to make sure that script performed as expected, and basic scenarios work"
|
|
||||||
for cmd in haveged; do
|
|
||||||
if ! command -v $cmd; then
|
|
||||||
echo "$cmd was not installed or not found on PATH"
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
done
|
|
||||||
@@ -119,3 +119,121 @@ Describe "gfortran" {
|
|||||||
"$GfortranVersion --version" | Should -ReturnZeroExitCode
|
"$GfortranVersion --version" | Should -ReturnZeroExitCode
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Describe "Git" {
|
||||||
|
It "git" {
|
||||||
|
"git --version" | Should -ReturnZeroExitCode
|
||||||
|
}
|
||||||
|
|
||||||
|
It "git-lfs" {
|
||||||
|
"git-lfs --version" | Should -ReturnZeroExitCode
|
||||||
|
}
|
||||||
|
|
||||||
|
It "git-ftp" {
|
||||||
|
"git-ftp --version" | Should -ReturnZeroExitCode
|
||||||
|
}
|
||||||
|
|
||||||
|
It "hub-cli" {
|
||||||
|
"hub --version" | Should -ReturnZeroExitCode
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
Describe "Heroku" {
|
||||||
|
It "heroku" {
|
||||||
|
"heroku --version" | Should -ReturnZeroExitCode
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
Describe "HHVM" {
|
||||||
|
It "hhvm" {
|
||||||
|
"hhvm --version" | Should -ReturnZeroExitCode
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
Describe "Homebrew" {
|
||||||
|
It "homebrew" {
|
||||||
|
"brew --version" | Should -ReturnZeroExitCode
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
Describe "Julia" {
|
||||||
|
It "julia" {
|
||||||
|
"julia --version" | Should -ReturnZeroExitCode
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
Describe "Kubernetes tools" {
|
||||||
|
It "kind" {
|
||||||
|
"kind --version" | Should -ReturnZeroExitCode
|
||||||
|
}
|
||||||
|
|
||||||
|
It "kubectl" {
|
||||||
|
"kubectl version" | Should -MatchCommandOutput "Client Version: version.Info"
|
||||||
|
}
|
||||||
|
|
||||||
|
It "helm" {
|
||||||
|
"helm version" | Should -ReturnZeroExitCode
|
||||||
|
}
|
||||||
|
|
||||||
|
It "minikube" {
|
||||||
|
"minikube version" | Should -ReturnZeroExitCode
|
||||||
|
}
|
||||||
|
|
||||||
|
It "kustomize" {
|
||||||
|
"kustomize version" | Should -ReturnZeroExitCode
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
Describe "Leiningen" {
|
||||||
|
It "leiningen" {
|
||||||
|
"lein --version" | Should -ReturnZeroExitCode
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
Describe "Mercurial" {
|
||||||
|
It "mercurial" {
|
||||||
|
"hg --version" | Should -ReturnZeroExitCode
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
Describe "Conda" {
|
||||||
|
It "conda" {
|
||||||
|
"conda --version" | Should -ReturnZeroExitCode
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
Describe "Netlify" {
|
||||||
|
It "netlify" {
|
||||||
|
"netlify --version" | Should -ReturnZeroExitCode
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
Describe "Packer" {
|
||||||
|
It "packer" {
|
||||||
|
"packer --version" | Should -ReturnZeroExitCode
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
Describe "Pollinate" {
|
||||||
|
It "pollinate" {
|
||||||
|
"sudo pollinate -r && sleep 5 && sudo grep pollinate /var/log/syslog" | Should -ReturnZeroExitCode
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
Describe "Pulumi" {
|
||||||
|
It "pulumi" {
|
||||||
|
"pulumi version" | Should -ReturnZeroExitCode
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
Describe "Phantomjs" {
|
||||||
|
It "phantomjs" {
|
||||||
|
"phantomjs --version" | Should -ReturnZeroExitCode
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
Describe "Haveged" {
|
||||||
|
It "haveged" {
|
||||||
|
"systemctl status haveged | grep 'active (running)'" | Should -ReturnZeroExitCode
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|||||||
@@ -198,7 +198,6 @@
|
|||||||
"{{template_dir}}/scripts/installers/hhvm.sh",
|
"{{template_dir}}/scripts/installers/hhvm.sh",
|
||||||
"{{template_dir}}/scripts/installers/image-magick.sh",
|
"{{template_dir}}/scripts/installers/image-magick.sh",
|
||||||
"{{template_dir}}/scripts/installers/java-tools.sh",
|
"{{template_dir}}/scripts/installers/java-tools.sh",
|
||||||
"{{template_dir}}/scripts/installers/kind.sh",
|
|
||||||
"{{template_dir}}/scripts/installers/kubernetes-tools.sh",
|
"{{template_dir}}/scripts/installers/kubernetes-tools.sh",
|
||||||
"{{template_dir}}/scripts/installers/oc.sh",
|
"{{template_dir}}/scripts/installers/oc.sh",
|
||||||
"{{template_dir}}/scripts/installers/leiningen.sh",
|
"{{template_dir}}/scripts/installers/leiningen.sh",
|
||||||
@@ -273,7 +272,8 @@
|
|||||||
],
|
],
|
||||||
"environment_vars": [
|
"environment_vars": [
|
||||||
"HELPER_SCRIPTS={{user `helper_script_folder`}}",
|
"HELPER_SCRIPTS={{user `helper_script_folder`}}",
|
||||||
"DEBIAN_FRONTEND=noninteractive"
|
"DEBIAN_FRONTEND=noninteractive",
|
||||||
|
"INSTALLER_SCRIPT_FOLDER={{user `installer_script_folder`}}"
|
||||||
],
|
],
|
||||||
"execute_command": "/bin/sh -c '{{ .Vars }} {{ .Path }}'"
|
"execute_command": "/bin/sh -c '{{ .Vars }} {{ .Path }}'"
|
||||||
},
|
},
|
||||||
@@ -287,16 +287,8 @@
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "shell",
|
"type": "shell",
|
||||||
"pause_before": "30s",
|
"pause_before": "60s",
|
||||||
"timeout": "10m",
|
"start_retry_timeout": "10m",
|
||||||
"start_retry_timeout": "10s",
|
|
||||||
"scripts": [
|
|
||||||
"{{template_dir}}/scripts/installers/homebrew-validate.sh"
|
|
||||||
],
|
|
||||||
"execute_command": "/bin/sh -c '{{ .Vars }} {{ .Path }}'"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"type": "shell",
|
|
||||||
"scripts": [
|
"scripts": [
|
||||||
"{{template_dir}}/scripts/installers/cleanup.sh"
|
"{{template_dir}}/scripts/installers/cleanup.sh"
|
||||||
],
|
],
|
||||||
|
|||||||
@@ -201,7 +201,6 @@
|
|||||||
"{{template_dir}}/scripts/installers/hhvm.sh",
|
"{{template_dir}}/scripts/installers/hhvm.sh",
|
||||||
"{{template_dir}}/scripts/installers/image-magick.sh",
|
"{{template_dir}}/scripts/installers/image-magick.sh",
|
||||||
"{{template_dir}}/scripts/installers/java-tools.sh",
|
"{{template_dir}}/scripts/installers/java-tools.sh",
|
||||||
"{{template_dir}}/scripts/installers/kind.sh",
|
|
||||||
"{{template_dir}}/scripts/installers/kubernetes-tools.sh",
|
"{{template_dir}}/scripts/installers/kubernetes-tools.sh",
|
||||||
"{{template_dir}}/scripts/installers/oc.sh",
|
"{{template_dir}}/scripts/installers/oc.sh",
|
||||||
"{{template_dir}}/scripts/installers/leiningen.sh",
|
"{{template_dir}}/scripts/installers/leiningen.sh",
|
||||||
@@ -277,7 +276,8 @@
|
|||||||
],
|
],
|
||||||
"environment_vars": [
|
"environment_vars": [
|
||||||
"HELPER_SCRIPTS={{user `helper_script_folder`}}",
|
"HELPER_SCRIPTS={{user `helper_script_folder`}}",
|
||||||
"DEBIAN_FRONTEND=noninteractive"
|
"DEBIAN_FRONTEND=noninteractive",
|
||||||
|
"INSTALLER_SCRIPT_FOLDER={{user `installer_script_folder`}}"
|
||||||
],
|
],
|
||||||
"execute_command": "/bin/sh -c '{{ .Vars }} {{ .Path }}'"
|
"execute_command": "/bin/sh -c '{{ .Vars }} {{ .Path }}'"
|
||||||
},
|
},
|
||||||
@@ -291,16 +291,8 @@
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "shell",
|
"type": "shell",
|
||||||
"pause_before": "30s",
|
"pause_before": "60s",
|
||||||
"timeout": "10m",
|
"start_retry_timeout": "10m",
|
||||||
"start_retry_timeout": "10s",
|
|
||||||
"scripts": [
|
|
||||||
"{{template_dir}}/scripts/installers/homebrew-validate.sh"
|
|
||||||
],
|
|
||||||
"execute_command": "/bin/sh -c '{{ .Vars }} {{ .Path }}'"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"type": "shell",
|
|
||||||
"scripts": [
|
"scripts": [
|
||||||
"{{template_dir}}/scripts/installers/cleanup.sh"
|
"{{template_dir}}/scripts/installers/cleanup.sh"
|
||||||
],
|
],
|
||||||
|
|||||||
@@ -201,7 +201,6 @@
|
|||||||
"{{template_dir}}/scripts/installers/hhvm.sh",
|
"{{template_dir}}/scripts/installers/hhvm.sh",
|
||||||
"{{template_dir}}/scripts/installers/image-magick.sh",
|
"{{template_dir}}/scripts/installers/image-magick.sh",
|
||||||
"{{template_dir}}/scripts/installers/java-tools.sh",
|
"{{template_dir}}/scripts/installers/java-tools.sh",
|
||||||
"{{template_dir}}/scripts/installers/kind.sh",
|
|
||||||
"{{template_dir}}/scripts/installers/kubernetes-tools.sh",
|
"{{template_dir}}/scripts/installers/kubernetes-tools.sh",
|
||||||
"{{template_dir}}/scripts/installers/oc.sh",
|
"{{template_dir}}/scripts/installers/oc.sh",
|
||||||
"{{template_dir}}/scripts/installers/leiningen.sh",
|
"{{template_dir}}/scripts/installers/leiningen.sh",
|
||||||
@@ -277,7 +276,8 @@
|
|||||||
],
|
],
|
||||||
"environment_vars": [
|
"environment_vars": [
|
||||||
"HELPER_SCRIPTS={{user `helper_script_folder`}}",
|
"HELPER_SCRIPTS={{user `helper_script_folder`}}",
|
||||||
"DEBIAN_FRONTEND=noninteractive"
|
"DEBIAN_FRONTEND=noninteractive",
|
||||||
|
"INSTALLER_SCRIPT_FOLDER={{user `installer_script_folder`}}"
|
||||||
],
|
],
|
||||||
"execute_command": "/bin/sh -c '{{ .Vars }} {{ .Path }}'"
|
"execute_command": "/bin/sh -c '{{ .Vars }} {{ .Path }}'"
|
||||||
},
|
},
|
||||||
@@ -291,16 +291,8 @@
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "shell",
|
"type": "shell",
|
||||||
"pause_before": "30s",
|
"pause_before": "60s",
|
||||||
"timeout": "10m",
|
"start_retry_timeout": "10m",
|
||||||
"start_retry_timeout": "10s",
|
|
||||||
"scripts": [
|
|
||||||
"{{template_dir}}/scripts/installers/homebrew-validate.sh"
|
|
||||||
],
|
|
||||||
"execute_command": "/bin/sh -c '{{ .Vars }} {{ .Path }}'"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"type": "shell",
|
|
||||||
"scripts": [
|
"scripts": [
|
||||||
"{{template_dir}}/scripts/installers/cleanup.sh"
|
"{{template_dir}}/scripts/installers/cleanup.sh"
|
||||||
],
|
],
|
||||||
|
|||||||
Reference in New Issue
Block a user