diff --git a/images/linux/scripts/installers/github-cli.sh b/images/linux/scripts/installers/github-cli.sh new file mode 100644 index 00000000..5cc43094 --- /dev/null +++ b/images/linux/scripts/installers/github-cli.sh @@ -0,0 +1,26 @@ +#!/bin/bash +################################################################################ +## File: github-cli.sh +## Desc: Installs GitHub CLI +## Must be run as non-root user after homebrew +################################################################################ + +# Source the helpers for use with the script +source $HELPER_SCRIPTS/document.sh + +# Install GitHub CLI +url=$(curl -s https://api.github.com/repos/cli/cli/releases/latest | jq -r '.assets[].browser_download_url|select(contains("linux") and contains("amd64") and contains(".deb"))') +wget $url +apt install ./gh_*_linux_amd64.deb +rm gh_*_linux_amd64.deb + +# 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 ! gh --version; then + echo "GitHub CLI was not installed" + exit 1 +fi + +# Document what was added to the image +echo "Lastly, documenting what we added to the metadata file" +DocumentInstalledItem "GitHub CLI $(gh --version|awk 'FNR==1 {print $3}')" diff --git a/images/linux/ubuntu1604.json b/images/linux/ubuntu1604.json index a493a330..9ead9a30 100644 --- a/images/linux/ubuntu1604.json +++ b/images/linux/ubuntu1604.json @@ -197,6 +197,7 @@ "{{template_dir}}/scripts/installers/gcc.sh", "{{template_dir}}/scripts/installers/gfortran.sh", "{{template_dir}}/scripts/installers/git.sh", + "{{template_dir}}/scripts/installers/github-cli.sh", "{{template_dir}}/scripts/installers/google-chrome.sh", "{{template_dir}}/scripts/installers/google-cloud-sdk.sh", "{{template_dir}}/scripts/installers/haskell.sh", diff --git a/images/linux/ubuntu1804.json b/images/linux/ubuntu1804.json index 89a024d3..13d37990 100644 --- a/images/linux/ubuntu1804.json +++ b/images/linux/ubuntu1804.json @@ -200,6 +200,7 @@ "{{template_dir}}/scripts/installers/gcc.sh", "{{template_dir}}/scripts/installers/gfortran.sh", "{{template_dir}}/scripts/installers/git.sh", + "{{template_dir}}/scripts/installers/github-cli.sh", "{{template_dir}}/scripts/installers/google-chrome.sh", "{{template_dir}}/scripts/installers/google-cloud-sdk.sh", "{{template_dir}}/scripts/installers/haskell.sh",