mirror of
https://github.com/actions/runner-images.git
synced 2025-12-15 06:08:07 +00:00
Merge main into install-codeql-bundle.
This commit is contained in:
2
.github/pull_request_template.md
vendored
2
.github/pull_request_template.md
vendored
@@ -3,6 +3,8 @@ New tool, Bug fixing, or Improvement?
|
||||
Please include a summary of the change and which issue is fixed. Also include relevant motivation and context.
|
||||
**For new tools, please provide total size and installation time.**
|
||||
|
||||
<!-- Currently, we can't accept external contributions to macOS source. Please find more details in [CONTRIBUTING.md](CONTRIBUTING.md#macOS) guide -->
|
||||
|
||||
#### Related issue:
|
||||
|
||||
## Check list
|
||||
|
||||
4
.github/workflows/merge_pull_request.yml
vendored
4
.github/workflows/merge_pull_request.yml
vendored
@@ -26,7 +26,7 @@ jobs:
|
||||
- name: Approve pull request by GitHub-Actions bot
|
||||
uses: actions/github-script@v2
|
||||
with:
|
||||
github-token: ${{secrets.GITHUB_TOKEN}}
|
||||
github-token: ${{secrets.PRAPPROVAL_SECRET}}
|
||||
script: |
|
||||
github.pulls.createReview({
|
||||
owner: context.repo.owner,
|
||||
@@ -56,4 +56,4 @@ jobs:
|
||||
owner: context.repo.owner,
|
||||
repo: context.repo.repo,
|
||||
ref: "heads/${{ github.event.client_payload.ReleaseBranchName }}-docs"
|
||||
})
|
||||
})
|
||||
|
||||
@@ -31,27 +31,29 @@ Here are a few things you can do that will increase the likelihood of your pull
|
||||
## How to add new tool
|
||||
### General rules
|
||||
- For every new tool add validation scripts and update software report script to make sure that it is included to documentation
|
||||
- If the tool is available in other platforms (MacOS, Windows, Linux), make sure you include it in as many as possible.
|
||||
- If the tool is available in other platforms (macOS, Windows, Linux), make sure you include it in as many as possible.
|
||||
- If installing a few versions of the tool, consider putting the list of versions in the corresponding `toolset.json` file. It will help other customers to configure their builds flexibly. See [toolset-windows-2016.json](images/win/toolsets/toolset-2019.json) as example.
|
||||
- Use consistent naming across all files
|
||||
- Validation scripts should be simple and shouldn't change image content
|
||||
|
||||
### Windows
|
||||
- Add a script that will install the tool and put the script in the `scripts/Installers` folder.
|
||||
There are a bunch of helper functions that could simplify your code: `Choco-Install`, `Install-Binary`, `Install-VsixExtension`, ` Start-DownloadWithRetry`, `Test-IsWin16`, ` Test-IsWin19` (find the full list of helpers in [ImageHelpers.psm1](images/win/scripts/ImageHelpers/ImageHelpers.psm1)).
|
||||
There are a bunch of helper functions that could simplify your code: `Choco-Install`, `Install-Binary`, `Install-VsixExtension`, `Start-DownloadWithRetry`, `Test-IsWin16`, `Test-IsWin19` (find the full list of helpers in [ImageHelpers.psm1](images/win/scripts/ImageHelpers/ImageHelpers.psm1)).
|
||||
- Add a script that will validate the tool installation and put the script in the `scripts/Tests` folder.
|
||||
We use [Pester v5](https://github.com/pester/pester) for validation scripts. If the tests for the tool are complex enough, create a separate `*.Tests.ps1`. Otherwise, use `Tools.Tests.ps1` for simple tests.
|
||||
Add `Invoke-PesterTests -TestFile <testFileName> [-TestName <describeName>]` at the end of the installation script to make sure that your tests will be run.
|
||||
- Add changes to the software report generator `images/win/scripts/SoftwareReport/SoftwareReport.Generator.ps1`. The software report generator is used to generate an image's README file, e.g. [Windows2019-Readme.md](images/win/Windows2019-Readme.md) and uses [MarkdownPS](https://github.com/Sarafian/MarkdownPS).
|
||||
|
||||
### Ubuntu
|
||||
- Add a single script that will install, validate, and document the tool and put the script in the `script/Installers` folder. Use existing scripts such as [github-cli.sh](images/linux/scripts/installers/github-cli.sh) as a starting point.
|
||||
- Add script that will install and validate the tool and put the script in the `scripts/installers` folder.
|
||||
Use existing scripts such as [github-cli.sh](images/linux/scripts/installers/github-cli.sh) as a starting point.
|
||||
- Use [helpers](images/linux/scripts/helpers/install.sh) to simplify installation process.
|
||||
- Validation part should `exit 1` if any issue with installation.
|
||||
- Use `DocumentInstalledItem "<add to docs>"` helper for building documentation.
|
||||
- Add changes to the software report generator `images/linux/scripts/SoftwareReport/SoftwareReport.Generator.ps1`. The software report generator is used to generate an image's README file, e.g. [Ubuntu1804-Readme.md](images/linux/Ubuntu1804-README.md) and it uses [MarkdownPS](https://github.com/Sarafian/MarkdownPS).
|
||||
|
||||
### macOS
|
||||
We are in the process of preparing our macOS source to live in this repo so we can take contributions from the community. Until then, we appreciate your patience and ask you continue to make tool requests by filing issues.
|
||||
macOS source lives in this repository and available for everyone. However, macOS image-generation CI doesn't support external contributions yet so we are not able to accept pull-requests for now.
|
||||
We are in the process of preparing macOS CI to accept contributions. Until then, we appreciate your patience and ask you continue to make tool requests by filing issues.
|
||||
|
||||
## Resources
|
||||
|
||||
|
||||
@@ -19,7 +19,8 @@ The "ubuntu-latest" YAML workflow label still uses the Ubuntu 18.04 virtual envi
|
||||
|
||||
***Looking for other Linux distributions?*** We do not plan to offer other Linux distributions. We recommend using Docker if you'd like to build using other distributions with the hosted virtual environments. Alternatively, you can leverage [self-hosted runners] and fully customize your environment to your needs.
|
||||
|
||||
***Where is the macOS source?*** We are in the process of preparing our macOS source to live in this repo so we can take contributions from the community. Until then, we appreciate your patience and ask you continue to make tool requests by filing issues.
|
||||
***How to contribute to macOS source?*** macOS source lives in this repository and available for everyone. However, MacOS image-generation CI doesn't support external contributions yet so we are not able to accept pull-requests for now.
|
||||
We are in the process of preparing MacOS CI to accept contributions. Until then, we appreciate your patience and ask you continue to make tool requests by filing issues.
|
||||
|
||||
## Software Guidelines
|
||||
In general, these are the guidelines we consider when deciding what to pre-install:
|
||||
|
||||
@@ -20,13 +20,13 @@ jobs:
|
||||
targetType: 'filePath'
|
||||
filePath: ./images.CI/download-repo.ps1
|
||||
arguments: -RepoUrl $(CUSTOM_REPOSITORY_URL) `
|
||||
-RepoBranch $(CUSTOM_REPOSITORY_BRANCH)
|
||||
-RepoBranch $(CUSTOM_REPOSITORY_BRANCH)
|
||||
|
||||
- task: PowerShell@2
|
||||
displayName: 'Build VM'
|
||||
inputs:
|
||||
targetType: filePath
|
||||
filePath: ./images.CI/build-image.ps1
|
||||
filePath: ./images.CI/linux-and-win/build-image.ps1
|
||||
arguments: -ResourcesNamePrefix $(Build.BuildId) `
|
||||
-ClientId $(CLIENT_ID) `
|
||||
-ClientSecret $(CLIENT_SECRET) `
|
||||
@@ -45,7 +45,7 @@ jobs:
|
||||
displayName: 'Create release for VM deployment'
|
||||
inputs:
|
||||
targetType: filePath
|
||||
filePath: ./images.CI/create-release.ps1
|
||||
filePath: ./images.CI/linux-and-win/create-release.ps1
|
||||
arguments: -BuildId $(Build.BuildId) `
|
||||
-Organization $(RELEASE_TARGET_ORGANIZATION) `
|
||||
-DefinitionId $(RELEASE_TARGET_DEFINITION_ID) `
|
||||
@@ -66,7 +66,7 @@ jobs:
|
||||
condition: always()
|
||||
inputs:
|
||||
targetType: filePath
|
||||
filePath: ./images.CI/cleanup.ps1
|
||||
filePath: ./images.CI/linux-and-win/cleanup.ps1
|
||||
arguments: -ResourcesNamePrefix $(Build.BuildId) `
|
||||
-ClientId $(CLIENT_ID) `
|
||||
-ClientSecret $(CLIENT_SECRET) `
|
||||
105
images.CI/macos/azure-pipelines/image-generation.yml
Normal file
105
images.CI/macos/azure-pipelines/image-generation.yml
Normal file
@@ -0,0 +1,105 @@
|
||||
jobs:
|
||||
- job: Image_generation
|
||||
displayName: Image Generation (${{ parameters.image_label }})
|
||||
timeoutInMinutes: 720
|
||||
pool:
|
||||
name: Mac-Cloud Image Generation
|
||||
variables:
|
||||
- group: Mac-Cloud Image Generation
|
||||
- group: Mac-Cloud Image Generation Key Vault
|
||||
|
||||
steps:
|
||||
- checkout: self
|
||||
clean: true
|
||||
fetchDepth: 1
|
||||
|
||||
- task: PowerShell@2
|
||||
displayName: 'Validate contributor permissions'
|
||||
condition: startsWith(variables['Build.SourceBranch'], 'refs/pull/')
|
||||
inputs:
|
||||
targetType: 'filePath'
|
||||
filePath: ./images.CI/macos/validate-contributor.ps1
|
||||
pwsh: true
|
||||
arguments: -RepositoryName "$(Build.Repository.Name)" `
|
||||
-AccessToken "$(github-feed-token)" `
|
||||
-SourceBranch "$(Build.SourceBranch)" `
|
||||
-ContributorAllowList "$(CONTRIBUTOR_ALLOWLIST)"
|
||||
|
||||
- task: PowerShell@2
|
||||
displayName: 'Download custom repository'
|
||||
condition: and(ne(variables['CUSTOM_REPOSITORY_URL'], ''), ne(variables['CUSTOM_REPOSITORY_BRANCH'], ''))
|
||||
inputs:
|
||||
targetType: 'filePath'
|
||||
filePath: ./images.CI/download-repo.ps1
|
||||
arguments: -RepoUrl $(CUSTOM_REPOSITORY_URL) `
|
||||
-RepoBranch $(CUSTOM_REPOSITORY_BRANCH)
|
||||
|
||||
- task: DeleteFiles@1
|
||||
displayName: Clean up self-hosted machine
|
||||
inputs:
|
||||
SourceFolder: 'images/macos/provision/log/'
|
||||
RemoveSourceFolder: true
|
||||
|
||||
- pwsh: |
|
||||
$SensitiveData = @(
|
||||
'IP address:',
|
||||
'Using ssh communicator to connect:'
|
||||
)
|
||||
|
||||
packer build -on-error=abort `
|
||||
-var="vcenter_server=$(vcenter-server-v2)" `
|
||||
-var="vcenter_username=$(vcenter-username-v2)" `
|
||||
-var="vcenter_password=$(vcenter-password-v2)" `
|
||||
-var="vcenter_datacenter=$(vcenter-datacenter-v2)" `
|
||||
-var="cluster_or_esxi_host=$(esxi-cluster-v2)" `
|
||||
-var="esxi_datastore=${{ parameters.target_datastore }}" `
|
||||
-var="output_folder=$(output-folder)" `
|
||||
-var="vm_username=$(vm-username)" `
|
||||
-var="vm_password=$(vm-password)" `
|
||||
-var="build_id=$(Build.BuildNumber)" `
|
||||
-var="baseimage_name=${{ parameters.base_image_name }}" `
|
||||
-var="github_feed_token=$(github-feed-token)" `
|
||||
-var="xcode_install_user=$(xcode-installation-user)" `
|
||||
-var="xcode_install_password=$(xcode-installation-password)" `
|
||||
-color=false `
|
||||
${{ parameters.template_path }} `
|
||||
| Where-Object {
|
||||
#Filter sensitive data from Packer logs
|
||||
$currentString = $_
|
||||
$sensitiveString = $SensitiveData | Where-Object { $currentString -match $_ }
|
||||
$sensitiveString -eq $null
|
||||
}
|
||||
displayName: 'Build VM'
|
||||
env:
|
||||
PACKER_LOG: 0
|
||||
workingDirectory: 'images/macos'
|
||||
|
||||
- bash: |
|
||||
echo "Copy image output files"
|
||||
cp -R "images/image-output/software-report/." "$(Build.ArtifactStagingDirectory)/"
|
||||
|
||||
echo "Copy test results"
|
||||
cp -R "images/image-output/tests/." "$(Common.TestResultsDirectory)/"
|
||||
ls $(Common.TestResultsDirectory)
|
||||
|
||||
echo "Put VM name to 'VM_Done_Name' file"
|
||||
echo "$(Build.BuildNumber)" > "$(Build.ArtifactStagingDirectory)/VM_Done_Name"
|
||||
displayName: Prepare artifact
|
||||
|
||||
- bash: |
|
||||
cat "$(Build.ArtifactStagingDirectory)/systeminfo.md"
|
||||
displayName: Print software report
|
||||
|
||||
- task: PublishBuildArtifacts@1
|
||||
inputs:
|
||||
ArtifactName: 'Built_VM_Artifacts'
|
||||
displayName: Publish Artifacts
|
||||
|
||||
- task: PublishTestResults@2
|
||||
inputs:
|
||||
testResultsFiles: '*.xml'
|
||||
testResultsFormat: NUnit
|
||||
searchFolder: '$(Common.TestResultsDirectory)'
|
||||
failTaskOnFailedTests: true
|
||||
displayName: Publish test results
|
||||
condition: always()
|
||||
23
images.CI/macos/azure-pipelines/macos1013.yml
Normal file
23
images.CI/macos/azure-pipelines/macos1013.yml
Normal file
@@ -0,0 +1,23 @@
|
||||
name: macOS-10.13_$(date:yyyyMMdd)$(rev:.r)_unstable
|
||||
schedules:
|
||||
- cron: "0 0 * * *"
|
||||
displayName: Daily
|
||||
branches:
|
||||
include:
|
||||
- main
|
||||
always: true
|
||||
|
||||
trigger: none
|
||||
pr:
|
||||
autoCancel: true
|
||||
branches:
|
||||
include:
|
||||
- main
|
||||
|
||||
jobs:
|
||||
- template: image-generation.yml
|
||||
parameters:
|
||||
image_label: 'macOS High Sierra'
|
||||
base_image_name: 'clean-macOS-10.13.6-380Gb-SIPoff_runner'
|
||||
template_path: 'templates/macOS-10.13.json'
|
||||
target_datastore: 'ds-image'
|
||||
23
images.CI/macos/azure-pipelines/macos1014.yml
Normal file
23
images.CI/macos/azure-pipelines/macos1014.yml
Normal file
@@ -0,0 +1,23 @@
|
||||
name: macOS-10.14_$(date:yyyyMMdd)$(rev:.r)_unstable
|
||||
schedules:
|
||||
- cron: "0 0 * * *"
|
||||
displayName: Daily
|
||||
branches:
|
||||
include:
|
||||
- main
|
||||
always: true
|
||||
|
||||
trigger: none
|
||||
pr:
|
||||
autoCancel: true
|
||||
branches:
|
||||
include:
|
||||
- main
|
||||
|
||||
jobs:
|
||||
- template: image-generation.yml
|
||||
parameters:
|
||||
image_label: 'macOS Mojave'
|
||||
base_image_name: 'clean-macOS-10.14-380Gb_runner'
|
||||
template_path: 'templates/macOS-10.14.json'
|
||||
target_datastore: 'ds-image'
|
||||
23
images.CI/macos/azure-pipelines/macos1015.yml
Normal file
23
images.CI/macos/azure-pipelines/macos1015.yml
Normal file
@@ -0,0 +1,23 @@
|
||||
name: macOS-10.15_$(date:yyyyMMdd)$(rev:.r)_unstable
|
||||
schedules:
|
||||
- cron: "0 0 * * *"
|
||||
displayName: Daily
|
||||
branches:
|
||||
include:
|
||||
- main
|
||||
always: true
|
||||
|
||||
trigger: none
|
||||
pr:
|
||||
autoCancel: true
|
||||
branches:
|
||||
include:
|
||||
- main
|
||||
|
||||
jobs:
|
||||
- template: image-generation.yml
|
||||
parameters:
|
||||
image_label: 'macOS Catalina'
|
||||
base_image_name: 'clean-macOS-10.15-380Gb-runner'
|
||||
template_path: 'templates/macOS-10.15.json'
|
||||
target_datastore: 'ds-image'
|
||||
23
images.CI/macos/azure-pipelines/macos110.yml
Normal file
23
images.CI/macos/azure-pipelines/macos110.yml
Normal file
@@ -0,0 +1,23 @@
|
||||
name: macOS-11.0_$(date:yyyyMMdd)$(rev:.r)_unstable
|
||||
schedules:
|
||||
- cron: "0 0 * * *"
|
||||
displayName: Daily
|
||||
branches:
|
||||
include:
|
||||
- main
|
||||
always: true
|
||||
|
||||
trigger: none
|
||||
pr:
|
||||
autoCancel: true
|
||||
branches:
|
||||
include:
|
||||
- main
|
||||
|
||||
jobs:
|
||||
- template: image-generation.yml
|
||||
parameters:
|
||||
image_label: 'macOS Big Sur'
|
||||
base_image_name: 'clean-macOS-11.0-380Gb-runner'
|
||||
template_path: 'templates/macOS-11.0.json'
|
||||
target_datastore: 'ds-image'
|
||||
63
images.CI/macos/validate-contributor.ps1
Normal file
63
images.CI/macos/validate-contributor.ps1
Normal file
@@ -0,0 +1,63 @@
|
||||
param(
|
||||
[Parameter(Mandatory)] [string] $RepositoryName,
|
||||
[Parameter(Mandatory)] [string] $AccessToken,
|
||||
[Parameter(Mandatory)] [string] $SourceBranch,
|
||||
[Parameter(Mandatory)] [string] $ContributorAllowList
|
||||
)
|
||||
|
||||
function Build-AuthHeader {
|
||||
param(
|
||||
[Parameter(Mandatory)] [string] $AccessToken
|
||||
)
|
||||
|
||||
$base64AuthInfo = [Convert]::ToBase64String([Text.Encoding]::ASCII.GetBytes("'':${AccessToken}"))
|
||||
return "Basic ${base64AuthInfo}"
|
||||
}
|
||||
|
||||
function Get-PullRequest {
|
||||
param(
|
||||
[Parameter(Mandatory)] [string] $RepositoryName,
|
||||
[Parameter(Mandatory)] [string] $AccessToken,
|
||||
[Parameter(Mandatory)] [UInt32] $PullRequestNumber
|
||||
)
|
||||
|
||||
$requestUrl = "https://api.github.com/repos/$RepositoryName/pulls/$PullRequestNumber"
|
||||
$authHeader = Build-AuthHeader -AccessToken $AccessToken
|
||||
|
||||
$params = @{
|
||||
Method = "GET"
|
||||
ContentType = "application/json"
|
||||
Uri = $requestUrl
|
||||
Headers = @{ Authorization = $authHeader }
|
||||
}
|
||||
|
||||
return Invoke-RestMethod @params
|
||||
}
|
||||
|
||||
function Validate-ContributorPermissions {
|
||||
param(
|
||||
[Parameter(Mandatory)] [string] $ContributorAllowList,
|
||||
[Parameter(Mandatory)] [string] $ContributorName
|
||||
)
|
||||
|
||||
$allowedContributors = $ContributorAllowList.Split(",").Trim()
|
||||
$validСontributor = $allowedContributors | Where-Object { $_ -eq $ContributorName } `
|
||||
| Select-Object -First 1
|
||||
|
||||
if (-not $validСontributor) {
|
||||
Write-Host "Failed to start this build. '$ContributorName' is an unknown contributor"
|
||||
Write-Host "Please add '$ContributorName' to the allowed list to run builds"
|
||||
exit 1
|
||||
}
|
||||
}
|
||||
|
||||
$pullRequestNumber = $SourceBranch.Split("/")[2]
|
||||
|
||||
$pullRequestInfo = Get-PullRequest -RepositoryName $RepositoryName `
|
||||
-AccessToken $AccessToken `
|
||||
-PullRequestNumber $pullRequestNumber
|
||||
|
||||
$contributorName = $pullRequestInfo.user.login
|
||||
|
||||
Validate-ContributorPermissions -ContributorAllowList $ContributorAllowList `
|
||||
-ContributorName $contributorName
|
||||
@@ -1,6 +1,10 @@
|
||||
<!--- DO NOT EDIT - This markdown file is autogenerated. -->
|
||||
| Announcements |
|
||||
|-|
|
||||
| [Clang/LLVM 10 will be set as a default one and Clang/LLVM 6 will be deprecated for Ubuntu 20.04 on September, 23](https://github.com/actions/virtual-environments/issues/1536) |
|
||||
***
|
||||
# Ubuntu 16.04.7 LTS
|
||||
The following software is installed on machines with the 20200908.1 update.
|
||||
The following software is installed on machines with the 20200914.1 update.
|
||||
***
|
||||
- 7-Zip 9.20
|
||||
- Ansible (ansible 2.9.13)
|
||||
@@ -9,64 +13,64 @@ The following software is installed on machines with the 20200908.1 update.
|
||||
- Azure CLI (azure-cli 2.11.1)
|
||||
- Azure CLI (azure-devops 0.18.0)
|
||||
- Basic packages:
|
||||
- dbus
|
||||
- dnsutils
|
||||
- dpkg
|
||||
- fakeroot
|
||||
- gnupg2
|
||||
- iproute2
|
||||
- iputils-ping
|
||||
- lib32z1
|
||||
- libc++abi-dev
|
||||
- libc++-dev
|
||||
- libcurl3
|
||||
- libgbm-dev
|
||||
- libgconf-2-4
|
||||
- libgtk-3-0
|
||||
- libicu55
|
||||
- libsecret-1-dev
|
||||
- libsqlite3-dev
|
||||
- libunwind8
|
||||
- libxkbfile-dev
|
||||
- libxss1
|
||||
- locales
|
||||
- openssh-client
|
||||
- pkg-config
|
||||
- rpm
|
||||
- texinfo
|
||||
- tk
|
||||
- tzdata
|
||||
- upx
|
||||
- zstd
|
||||
- libxkbfile-dev
|
||||
- pkg-config
|
||||
- libsecret-1-dev
|
||||
- libxss1
|
||||
- libgconf-2-4
|
||||
- dbus
|
||||
- xvfb
|
||||
- libgbm-dev
|
||||
- libgtk-3-0
|
||||
- tk
|
||||
- fakeroot
|
||||
- dpkg
|
||||
- rpm
|
||||
- xz-utils
|
||||
- xorriso
|
||||
- xvfb
|
||||
- xz-utils
|
||||
- zstd
|
||||
- zsync
|
||||
- gnupg2
|
||||
- lib32z1
|
||||
- texinfo
|
||||
- libsqlite3-dev
|
||||
- libc++-dev
|
||||
- libc++abi-dev
|
||||
- libicu55
|
||||
- bison
|
||||
- brotli
|
||||
- bzip2
|
||||
- curl
|
||||
- file
|
||||
- flex
|
||||
- ftp
|
||||
- jq
|
||||
- m4
|
||||
- netcat
|
||||
- ssh
|
||||
- parallel
|
||||
- patchelf
|
||||
- rsync
|
||||
- shellcheck
|
||||
- sqlite3
|
||||
- ssh
|
||||
- sudo
|
||||
- telnet
|
||||
- time
|
||||
- unzip
|
||||
- zip
|
||||
- wget
|
||||
- m4
|
||||
- bison
|
||||
- flex
|
||||
- patchelf
|
||||
- bzip2
|
||||
- sqlite3
|
||||
- brotli
|
||||
- yamllint
|
||||
- libcurl3
|
||||
- zip
|
||||
- Alibaba Cloud CLI (3.0.56)
|
||||
- AWS CLI (aws-cli/1.18.134 Python/2.7.12 Linux/4.15.0-1093-azure botocore/1.17.57)
|
||||
- AWS CLI (aws-cli/1.18.137 Python/2.7.12 Linux/4.15.0-1095-azure botocore/1.17.60)
|
||||
- AWS CLI Session manager plugin (1.1.61.0)
|
||||
- build-essential
|
||||
- nvm (0.35.3)
|
||||
@@ -76,9 +80,25 @@ The following software is installed on machines with the 20200908.1 update.
|
||||
- Swift version 5.2.5 (swift-5.2.5-RELEASE)
|
||||
Target: x86_64-unknown-linux-gnu
|
||||
- CMake (cmake version 3.17.0)
|
||||
- Docker Compose (docker-compose version 1.27.0, build 980ec85b)
|
||||
- Docker Compose (docker-compose version 1.27.2, build 18f557f9)
|
||||
- Docker-Moby (Docker version 19.03.12+azure, build 0ed913b885c8919944a2e4c8d0b80a318a8dd48b)
|
||||
- Docker-Buildx (0.4.2+azure)
|
||||
- Cached container images
|
||||
- node:10 (Digest: sha256:ab6f988c514b5c5fb6d5a6d18afb216084b256719791c6cc61096da58e66c436)
|
||||
- node:12 (Digest: sha256:20ffb04c1d35e273dc7aa68fe31ef136630d95128689283a8eb914329158022b)
|
||||
- buildpack-deps:stretch (Digest: sha256:4f72cea5afa05e21bf2aec93b219b0843a10af5e2f407cc184f211e45f929ccc)
|
||||
- buildpack-deps:buster (Digest: sha256:8a76b9f9ee417eb330e97d3129e373277515e98d0f3a95a89ab944b645190efd)
|
||||
- debian:9 (Digest: sha256:bc125c699d736ac84c92b76ab7028741bbac69f207b7a8a4065bca6f79d5698e)
|
||||
- debian:8 (Digest: sha256:e180975d5c1012518e711c92ab26a4ff98218f439a97d9adbcd503b0d3ad1c8a)
|
||||
- jekyll/builder:latest (Digest: sha256:4bc6a3b6eddebef1652ef38ceb965fc9c1b06677f65f764e1e17b88dc2aa9934)
|
||||
- node:12-alpine (Digest: sha256:9623cd396644f9b2e595d833dc0188a880333674488d939338ab5fde10ef7c43)
|
||||
- node:10-alpine (Digest: sha256:2f202af4d6baba655fef9c93f41a914b33ee576b9f55a6e69ba23b49e3b62766)
|
||||
- alpine:3.9 (Digest: sha256:414e0518bb9228d35e4cd5165567fb91d26c6a214e9c95899e1e056fcd349011)
|
||||
- alpine:3.10 (Digest: sha256:f0e9534a598e501320957059cb2a23774b4d4072e37c7b2cf7e95b241f019e35)
|
||||
- alpine:3.8 (Digest: sha256:2bb501e6173d9d006e56de5bce2720eb06396803300fe1687b58a7ff32bf4c14)
|
||||
- ubuntu:14.04 (Digest: sha256:ffc76f71dd8be8c9e222d420dc96901a07b61616689a44c7b3ef6a10b7213de4)
|
||||
- alpine:3.7 (Digest: sha256:8421d9a84432575381bfabd248f1eb56f3aa21d9d7cd2511583c68c9b7511d10)
|
||||
- mcr.microsoft.com/azure-pipelines/node8-typescript:latest (Digest: sha256:e52e60b9f71183969830a3664279b5d8c799b4b0ec2c25a0686f7c02f6a9669a)
|
||||
- .NET Core SDK:
|
||||
- 3.1.402
|
||||
- 3.1.401
|
||||
@@ -166,7 +186,7 @@ Target: x86_64-unknown-linux-gnu
|
||||
- GitHub CLI 0.12.0
|
||||
- Google Chrome (Google Chrome 85.0.4183.102 )
|
||||
- ChromeDriver 85.0.4183.87 (cd6713ebf92fa1cacc0f1a598df280093af0c5d7-refs/branch-heads/4183@{#1689}); Chrome Driver is available via CHROMEWEBDRIVER environment variable
|
||||
- Google Cloud SDK (308.0.0)
|
||||
- Google Cloud SDK (309.0.0)
|
||||
- Haskell Cabal (cabal-install version 3.4.0.0
|
||||
compiled using version 3.4.0.0 of the Cabal library )
|
||||
- GHC (The Glorious Glasgow Haskell Compilation System, version 8.10.2)
|
||||
@@ -184,7 +204,7 @@ compiled using version 3.4.0.0 of the Cabal library )
|
||||
- Gradle 6.6.1
|
||||
- Maven (Apache Maven 3.6.3 (cecedd343002696d0abb50b32b541b8a6ba2883f))
|
||||
- Kind (kind v0.8.1 go1.14.2 linux/amd64)
|
||||
- kubectl (Client Version: v1.19.0)
|
||||
- kubectl (Client Version: v1.19.1)
|
||||
- helm (v3.3.1+g249e521)
|
||||
- minikube version: v1.13.0
|
||||
- kustomize ({kustomize/v3.8.2 2020-08-29T17:44:01Z })
|
||||
@@ -217,14 +237,14 @@ Local version: Unknown)
|
||||
- PHP 7.0 (PHP 7.0.33-30+ubuntu16.04.1+deb.sury.org+1 (cli) (built: Aug 7 2020 14:46:59) ( NTS ))
|
||||
- PHP 7.1 (PHP 7.1.33-17+ubuntu16.04.1+deb.sury.org+1 (cli) (built: Aug 7 2020 14:46:52) ( NTS ))
|
||||
- PHP 7.2 (PHP 7.2.33-1+ubuntu16.04.1+deb.sury.org+1 (cli) (built: Aug 7 2020 14:43:59) ( NTS ))
|
||||
- PHP 7.3 (PHP 7.3.21-1+ubuntu16.04.1+deb.sury.org+1 (cli) (built: Aug 7 2020 14:43:42) ( NTS ))
|
||||
- PHP 7.4 (PHP 7.4.9 (cli) (built: Aug 7 2020 14:29:10) ( NTS ))
|
||||
- Composer (Composer version 1.10.12 2020-09-08 22:58:51)
|
||||
- PHP 7.3 (PHP 7.3.22-1+ubuntu16.04.1+deb.sury.org+1 (cli) (built: Sep 9 2020 06:46:12) ( NTS ))
|
||||
- PHP 7.4 (PHP 7.4.10 (cli) (built: Sep 9 2020 06:35:57) ( NTS ))
|
||||
- Composer (Composer version 1.10.13 2020-09-09 11:46:34)
|
||||
- PHPUnit (PHPUnit 7.5.20 by Sebastian Bergmann and contributors.)
|
||||
- Pollinate
|
||||
- psql (PostgreSQL) 12.4
|
||||
- Powershell (PowerShell 7.0.3)
|
||||
- Pulumi v2.9.2
|
||||
- Pulumi v2.10.0
|
||||
- ruby (2.3.1p112)
|
||||
- gem (3.1.4)
|
||||
- OpenSSL 1.1.0h 27 Mar 2018 (Library: OpenSSL 1.1.1g 21 Apr 2020)
|
||||
@@ -249,10 +269,10 @@ Local version: Unknown)
|
||||
- Packer (1.6.2)
|
||||
- Vcpkg 2020.06.15-unknownhash
|
||||
- Vercel CLI (20.1.0)
|
||||
- MongoDB on Linux v4.4.0
|
||||
- MongoDB on Linux v4.4.1
|
||||
- Haveged 1.9.1-3
|
||||
- Swig 3.0.8
|
||||
- Netlify CLI (netlify-cli/2.61.2 linux-x64 node-v12.18.3)
|
||||
- Netlify CLI (netlify-cli/2.63.0 linux-x64 node-v12.18.3)
|
||||
- Google Repository 58
|
||||
- Google Play services 49
|
||||
- Google APIs 24
|
||||
@@ -327,22 +347,6 @@ Local version: Unknown)
|
||||
- Az Module (4.3.0)
|
||||
- Az Module (4.4.0)
|
||||
- Az Module (4.6.0)
|
||||
- Cached container images
|
||||
- jekyll/builder:latest (Digest: sha256:4bc6a3b6eddebef1652ef38ceb965fc9c1b06677f65f764e1e17b88dc2aa9934)
|
||||
- node:10 (Digest: sha256:304c59f827930ae1a4a9775aec5837c8f95c3d41b5e6d7c0a329b4eb8c4cc8a8)
|
||||
- node:12 (Digest: sha256:099346a8e9c861b406c9bbb1f109125c7263868e5447cc57d6d564e1fec8a5cf)
|
||||
- buildpack-deps:stretch (Digest: sha256:82a686ba95fdf2bf4a5f5264e8e55b8aa272ffcedaed7826777f08de0d9e1146)
|
||||
- buildpack-deps:buster (Digest: sha256:0f7be4c25fadb2b8aee537cdac00a684b09057e66368683bbf22adf477e05faa)
|
||||
- debian:9 (Digest: sha256:335ecf9e8d9b2206c2e9e7f8b09547faa9f868e694f7c5be14c38be15ea8a7cf)
|
||||
- debian:8 (Digest: sha256:8a0f2603166345b4d7bbf4842137b2ffcb492ece20d15f963f08aa26670f82c7)
|
||||
- node:12-alpine (Digest: sha256:9623cd396644f9b2e595d833dc0188a880333674488d939338ab5fde10ef7c43)
|
||||
- node:10-alpine (Digest: sha256:2f202af4d6baba655fef9c93f41a914b33ee576b9f55a6e69ba23b49e3b62766)
|
||||
- alpine:3.9 (Digest: sha256:414e0518bb9228d35e4cd5165567fb91d26c6a214e9c95899e1e056fcd349011)
|
||||
- alpine:3.10 (Digest: sha256:f0e9534a598e501320957059cb2a23774b4d4072e37c7b2cf7e95b241f019e35)
|
||||
- alpine:3.8 (Digest: sha256:2bb501e6173d9d006e56de5bce2720eb06396803300fe1687b58a7ff32bf4c14)
|
||||
- ubuntu:14.04 (Digest: sha256:ffc76f71dd8be8c9e222d420dc96901a07b61616689a44c7b3ef6a10b7213de4)
|
||||
- alpine:3.7 (Digest: sha256:8421d9a84432575381bfabd248f1eb56f3aa21d9d7cd2511583c68c9b7511d10)
|
||||
- mcr.microsoft.com/azure-pipelines/node8-typescript:latest (Digest: sha256:e52e60b9f71183969830a3664279b5d8c799b4b0ec2c25a0686f7c02f6a9669a)
|
||||
- Ruby:
|
||||
- Ruby 2.4.10
|
||||
- Ruby 2.5.8
|
||||
@@ -365,16 +369,16 @@ Local version: Unknown)
|
||||
- node 8.17.0
|
||||
- node 10.22.0
|
||||
- node 12.18.3
|
||||
- node 14.9.0
|
||||
- node 14.10.1
|
||||
- go:
|
||||
- go 1.11.13
|
||||
- go 1.12.17
|
||||
- go 1.13.15
|
||||
- go 1.14.8
|
||||
- go 1.15.1
|
||||
- go 1.14.9
|
||||
- go 1.15.2
|
||||
- boost:
|
||||
- boost 1.69.0
|
||||
- boost 1.72.0
|
||||
- AWS SAM CLI, version 1.2.0
|
||||
- Homebrew on Linux (Homebrew 2.5.0
|
||||
Homebrew/linuxbrew-core (git revision 3199c; last commit 2020-09-08))
|
||||
- Homebrew on Linux (Homebrew 2.5.1
|
||||
Homebrew/linuxbrew-core (git revision d52011; last commit 2020-09-12))
|
||||
|
||||
@@ -1,6 +1,10 @@
|
||||
<!--- DO NOT EDIT - This markdown file is autogenerated. -->
|
||||
| Announcements |
|
||||
|-|
|
||||
| [Clang/LLVM 10 will be set as a default one and Clang/LLVM 6 will be deprecated for Ubuntu 20.04 on September, 23](https://github.com/actions/virtual-environments/issues/1536) |
|
||||
***
|
||||
# Ubuntu 18.04.5 LTS
|
||||
The following software is installed on machines with the 20200908.1 update.
|
||||
The following software is installed on machines with the 20200914.1 update.
|
||||
***
|
||||
- 7-Zip 16.02
|
||||
- Ansible (ansible 2.9.13)
|
||||
@@ -9,63 +13,63 @@ The following software is installed on machines with the 20200908.1 update.
|
||||
- Azure CLI (azure-cli 2.11.1)
|
||||
- Azure CLI (azure-devops 0.18.0)
|
||||
- Basic packages:
|
||||
- dbus
|
||||
- dnsutils
|
||||
- dpkg
|
||||
- fakeroot
|
||||
- gnupg2
|
||||
- iproute2
|
||||
- iputils-ping
|
||||
- lib32z1
|
||||
- libc++abi-dev
|
||||
- libc++-dev
|
||||
- libcurl3
|
||||
- libgbm-dev
|
||||
- libgconf-2-4
|
||||
- libgtk-3-0
|
||||
- libsecret-1-dev
|
||||
- libsqlite3-dev
|
||||
- libunwind8
|
||||
- libxkbfile-dev
|
||||
- libxss1
|
||||
- locales
|
||||
- openssh-client
|
||||
- pkg-config
|
||||
- rpm
|
||||
- texinfo
|
||||
- tk
|
||||
- tzdata
|
||||
- upx
|
||||
- zstd
|
||||
- libxkbfile-dev
|
||||
- pkg-config
|
||||
- libsecret-1-dev
|
||||
- libxss1
|
||||
- libgconf-2-4
|
||||
- dbus
|
||||
- xvfb
|
||||
- libgbm-dev
|
||||
- libgtk-3-0
|
||||
- tk
|
||||
- fakeroot
|
||||
- dpkg
|
||||
- rpm
|
||||
- xz-utils
|
||||
- xorriso
|
||||
- xvfb
|
||||
- xz-utils
|
||||
- zstd
|
||||
- zsync
|
||||
- gnupg2
|
||||
- lib32z1
|
||||
- texinfo
|
||||
- libsqlite3-dev
|
||||
- libc++-dev
|
||||
- libc++abi-dev
|
||||
- bison
|
||||
- brotli
|
||||
- bzip2
|
||||
- curl
|
||||
- file
|
||||
- flex
|
||||
- ftp
|
||||
- jq
|
||||
- m4
|
||||
- netcat
|
||||
- ssh
|
||||
- parallel
|
||||
- patchelf
|
||||
- rsync
|
||||
- shellcheck
|
||||
- sqlite3
|
||||
- ssh
|
||||
- sudo
|
||||
- telnet
|
||||
- time
|
||||
- unzip
|
||||
- zip
|
||||
- wget
|
||||
- m4
|
||||
- bison
|
||||
- flex
|
||||
- patchelf
|
||||
- bzip2
|
||||
- sqlite3
|
||||
- brotli
|
||||
- yamllint
|
||||
- libcurl3
|
||||
- zip
|
||||
- Alibaba Cloud CLI (3.0.56)
|
||||
- AWS CLI (aws-cli/1.18.134 Python/2.7.17 Linux/5.4.0-1025-azure botocore/1.17.57)
|
||||
- AWS CLI (aws-cli/1.18.137 Python/2.7.17 Linux/5.4.0-1025-azure botocore/1.17.60)
|
||||
- AWS CLI Session manager plugin (1.1.61.0)
|
||||
- build-essential
|
||||
- Clang 6.0 (6.0.0)
|
||||
@@ -77,9 +81,25 @@ Target: x86_64-unknown-linux-gnu
|
||||
- Podman (2.0.6)
|
||||
- Buildah (1.15.2)
|
||||
- Skopeo (1.1.1)
|
||||
- Docker Compose (docker-compose version 1.27.0, build 980ec85b)
|
||||
- Docker Compose (docker-compose version 1.27.2, build 18f557f9)
|
||||
- Docker-Moby (Docker version 19.03.12+azure, build 0ed913b885c8919944a2e4c8d0b80a318a8dd48b)
|
||||
- Docker-Buildx (0.4.2+azure)
|
||||
- Cached container images
|
||||
- node:10 (Digest: sha256:ab6f988c514b5c5fb6d5a6d18afb216084b256719791c6cc61096da58e66c436)
|
||||
- node:12 (Digest: sha256:20ffb04c1d35e273dc7aa68fe31ef136630d95128689283a8eb914329158022b)
|
||||
- buildpack-deps:stretch (Digest: sha256:4f72cea5afa05e21bf2aec93b219b0843a10af5e2f407cc184f211e45f929ccc)
|
||||
- buildpack-deps:buster (Digest: sha256:8a76b9f9ee417eb330e97d3129e373277515e98d0f3a95a89ab944b645190efd)
|
||||
- debian:9 (Digest: sha256:bc125c699d736ac84c92b76ab7028741bbac69f207b7a8a4065bca6f79d5698e)
|
||||
- debian:8 (Digest: sha256:e180975d5c1012518e711c92ab26a4ff98218f439a97d9adbcd503b0d3ad1c8a)
|
||||
- jekyll/builder:latest (Digest: sha256:4bc6a3b6eddebef1652ef38ceb965fc9c1b06677f65f764e1e17b88dc2aa9934)
|
||||
- node:12-alpine (Digest: sha256:9623cd396644f9b2e595d833dc0188a880333674488d939338ab5fde10ef7c43)
|
||||
- node:10-alpine (Digest: sha256:2f202af4d6baba655fef9c93f41a914b33ee576b9f55a6e69ba23b49e3b62766)
|
||||
- alpine:3.9 (Digest: sha256:414e0518bb9228d35e4cd5165567fb91d26c6a214e9c95899e1e056fcd349011)
|
||||
- alpine:3.10 (Digest: sha256:f0e9534a598e501320957059cb2a23774b4d4072e37c7b2cf7e95b241f019e35)
|
||||
- alpine:3.8 (Digest: sha256:2bb501e6173d9d006e56de5bce2720eb06396803300fe1687b58a7ff32bf4c14)
|
||||
- ubuntu:14.04 (Digest: sha256:ffc76f71dd8be8c9e222d420dc96901a07b61616689a44c7b3ef6a10b7213de4)
|
||||
- alpine:3.7 (Digest: sha256:8421d9a84432575381bfabd248f1eb56f3aa21d9d7cd2511583c68c9b7511d10)
|
||||
- mcr.microsoft.com/azure-pipelines/node8-typescript:latest (Digest: sha256:e52e60b9f71183969830a3664279b5d8c799b4b0ec2c25a0686f7c02f6a9669a)
|
||||
- .NET Core SDK:
|
||||
- 3.1.402
|
||||
- 3.1.401
|
||||
@@ -167,7 +187,7 @@ Target: x86_64-unknown-linux-gnu
|
||||
- GitHub CLI 0.12.0
|
||||
- Google Chrome (Google Chrome 85.0.4183.102 )
|
||||
- ChromeDriver 85.0.4183.87 (cd6713ebf92fa1cacc0f1a598df280093af0c5d7-refs/branch-heads/4183@{#1689}); Chrome Driver is available via CHROMEWEBDRIVER environment variable
|
||||
- Google Cloud SDK (308.0.0)
|
||||
- Google Cloud SDK (309.0.0)
|
||||
- Haskell Cabal (cabal-install version 3.4.0.0
|
||||
compiled using version 3.4.0.0 of the Cabal library )
|
||||
- GHC (The Glorious Glasgow Haskell Compilation System, version 8.10.2)
|
||||
@@ -185,7 +205,7 @@ compiled using version 3.4.0.0 of the Cabal library )
|
||||
- Gradle 6.6.1
|
||||
- Maven (Apache Maven 3.6.3 (cecedd343002696d0abb50b32b541b8a6ba2883f))
|
||||
- Kind (kind v0.8.1 go1.14.2 linux/amd64)
|
||||
- kubectl (Client Version: v1.19.0)
|
||||
- kubectl (Client Version: v1.19.1)
|
||||
- helm (v3.3.1+g249e521)
|
||||
- minikube version: v1.13.0
|
||||
- kustomize ({kustomize/v3.8.2 2020-08-29T17:44:01Z })
|
||||
@@ -217,14 +237,14 @@ Local version: Unknown)
|
||||
- PhantomJS (2.1.1)
|
||||
- PHP 7.1 (PHP 7.1.33-17+ubuntu18.04.1+deb.sury.org+1 (cli) (built: Aug 7 2020 14:47:20) ( NTS ))
|
||||
- PHP 7.2 (PHP 7.2.33-1+ubuntu18.04.1+deb.sury.org+1 (cli) (built: Aug 7 2020 14:44:29) ( NTS ))
|
||||
- PHP 7.3 (PHP 7.3.21-1+ubuntu18.04.1+deb.sury.org+1 (cli) (built: Aug 7 2020 14:44:10) ( NTS ))
|
||||
- PHP 7.4 (PHP 7.4.9 (cli) (built: Aug 7 2020 14:29:36) ( NTS ))
|
||||
- Composer (Composer version 1.10.12 2020-09-08 22:58:51)
|
||||
- PHP 7.3 (PHP 7.3.22-1+ubuntu18.04.1+deb.sury.org+1 (cli) (built: Sep 9 2020 06:46:30) ( NTS ))
|
||||
- PHP 7.4 (PHP 7.4.10 (cli) (built: Sep 9 2020 06:36:14) ( NTS ))
|
||||
- Composer (Composer version 1.10.13 2020-09-09 11:46:34)
|
||||
- PHPUnit (PHPUnit 7.5.20 by Sebastian Bergmann and contributors.)
|
||||
- Pollinate
|
||||
- psql (PostgreSQL) 12.4
|
||||
- Powershell (PowerShell 7.0.3)
|
||||
- Pulumi v2.9.2
|
||||
- Pulumi v2.10.0
|
||||
- ruby (2.5.1p57)
|
||||
- gem (3.1.4)
|
||||
- OpenSSL 1.1.1g 21 Apr 2020
|
||||
@@ -249,10 +269,10 @@ Local version: Unknown)
|
||||
- Packer (1.6.2)
|
||||
- Vcpkg 2020.06.15-unknownhash
|
||||
- Vercel CLI (20.1.0)
|
||||
- MongoDB on Linux v4.4.0
|
||||
- MongoDB on Linux v4.4.1
|
||||
- Haveged 1.9.1-6
|
||||
- Swig 3.0.12
|
||||
- Netlify CLI (netlify-cli/2.61.2 linux-x64 node-v12.18.3)
|
||||
- Netlify CLI (netlify-cli/2.63.0 linux-x64 node-v12.18.3)
|
||||
- Google Repository 58
|
||||
- Google Play services 49
|
||||
- Google APIs 24
|
||||
@@ -321,22 +341,6 @@ Local version: Unknown)
|
||||
- Az Module (4.3.0)
|
||||
- Az Module (4.4.0)
|
||||
- Az Module (4.6.0)
|
||||
- Cached container images
|
||||
- jekyll/builder:latest (Digest: sha256:4bc6a3b6eddebef1652ef38ceb965fc9c1b06677f65f764e1e17b88dc2aa9934)
|
||||
- node:10 (Digest: sha256:304c59f827930ae1a4a9775aec5837c8f95c3d41b5e6d7c0a329b4eb8c4cc8a8)
|
||||
- node:12 (Digest: sha256:099346a8e9c861b406c9bbb1f109125c7263868e5447cc57d6d564e1fec8a5cf)
|
||||
- buildpack-deps:stretch (Digest: sha256:82a686ba95fdf2bf4a5f5264e8e55b8aa272ffcedaed7826777f08de0d9e1146)
|
||||
- buildpack-deps:buster (Digest: sha256:0f7be4c25fadb2b8aee537cdac00a684b09057e66368683bbf22adf477e05faa)
|
||||
- debian:9 (Digest: sha256:335ecf9e8d9b2206c2e9e7f8b09547faa9f868e694f7c5be14c38be15ea8a7cf)
|
||||
- debian:8 (Digest: sha256:8a0f2603166345b4d7bbf4842137b2ffcb492ece20d15f963f08aa26670f82c7)
|
||||
- node:12-alpine (Digest: sha256:9623cd396644f9b2e595d833dc0188a880333674488d939338ab5fde10ef7c43)
|
||||
- node:10-alpine (Digest: sha256:2f202af4d6baba655fef9c93f41a914b33ee576b9f55a6e69ba23b49e3b62766)
|
||||
- alpine:3.9 (Digest: sha256:414e0518bb9228d35e4cd5165567fb91d26c6a214e9c95899e1e056fcd349011)
|
||||
- alpine:3.10 (Digest: sha256:f0e9534a598e501320957059cb2a23774b4d4072e37c7b2cf7e95b241f019e35)
|
||||
- alpine:3.8 (Digest: sha256:2bb501e6173d9d006e56de5bce2720eb06396803300fe1687b58a7ff32bf4c14)
|
||||
- ubuntu:14.04 (Digest: sha256:ffc76f71dd8be8c9e222d420dc96901a07b61616689a44c7b3ef6a10b7213de4)
|
||||
- alpine:3.7 (Digest: sha256:8421d9a84432575381bfabd248f1eb56f3aa21d9d7cd2511583c68c9b7511d10)
|
||||
- mcr.microsoft.com/azure-pipelines/node8-typescript:latest (Digest: sha256:e52e60b9f71183969830a3664279b5d8c799b4b0ec2c25a0686f7c02f6a9669a)
|
||||
- Ruby:
|
||||
- Ruby 2.4.10
|
||||
- Ruby 2.5.8
|
||||
@@ -359,16 +363,16 @@ Local version: Unknown)
|
||||
- node 8.17.0
|
||||
- node 10.22.0
|
||||
- node 12.18.3
|
||||
- node 14.9.0
|
||||
- node 14.10.1
|
||||
- go:
|
||||
- go 1.11.13
|
||||
- go 1.12.17
|
||||
- go 1.13.15
|
||||
- go 1.14.8
|
||||
- go 1.15.1
|
||||
- go 1.14.9
|
||||
- go 1.15.2
|
||||
- boost:
|
||||
- boost 1.69.0
|
||||
- boost 1.72.0
|
||||
- AWS SAM CLI, version 1.2.0
|
||||
- Homebrew on Linux (Homebrew 2.5.0
|
||||
Homebrew/linuxbrew-core (git revision 3199c; last commit 2020-09-08))
|
||||
- Homebrew on Linux (Homebrew 2.5.1
|
||||
Homebrew/linuxbrew-core (git revision d52011; last commit 2020-09-12))
|
||||
|
||||
@@ -1,6 +1,10 @@
|
||||
<!--- DO NOT EDIT - This markdown file is autogenerated. -->
|
||||
| Announcements |
|
||||
|-|
|
||||
| [Clang/LLVM 10 will be set as a default one and Clang/LLVM 6 will be deprecated for Ubuntu 20.04 on September, 23](https://github.com/actions/virtual-environments/issues/1536) |
|
||||
***
|
||||
# Ubuntu 20.04.1 LTS
|
||||
The following software is installed on machines with the 20200908.1 update.
|
||||
The following software is installed on machines with the 20200914.1 update.
|
||||
***
|
||||
- 7-Zip 16.02
|
||||
- Ansible (ansible 2.9.6)
|
||||
@@ -9,63 +13,64 @@ The following software is installed on machines with the 20200908.1 update.
|
||||
- Azure CLI (azure-cli 2.11.1)
|
||||
- Azure CLI (azure-devops 0.18.0)
|
||||
- Basic packages:
|
||||
- dbus
|
||||
- dnsutils
|
||||
- dpkg
|
||||
- fakeroot
|
||||
- gnupg2
|
||||
- iproute2
|
||||
- iputils-ping
|
||||
- lib32z1
|
||||
- libc++abi-dev
|
||||
- libc++-dev
|
||||
- libcurl4
|
||||
- libgbm-dev
|
||||
- libgconf-2-4
|
||||
- libgtk-3-0
|
||||
- libsecret-1-dev
|
||||
- libsqlite3-dev
|
||||
- libunwind8
|
||||
- libxkbfile-dev
|
||||
- libxss1
|
||||
- locales
|
||||
- openssh-client
|
||||
- pkg-config
|
||||
- python-is-python2
|
||||
- rpm
|
||||
- texinfo
|
||||
- tk
|
||||
- tzdata
|
||||
- upx
|
||||
- zstd
|
||||
- libxkbfile-dev
|
||||
- pkg-config
|
||||
- libsecret-1-dev
|
||||
- libxss1
|
||||
- libgconf-2-4
|
||||
- dbus
|
||||
- xvfb
|
||||
- libgbm-dev
|
||||
- libgtk-3-0
|
||||
- tk
|
||||
- fakeroot
|
||||
- dpkg
|
||||
- rpm
|
||||
- xz-utils
|
||||
- xorriso
|
||||
- xvfb
|
||||
- xz-utils
|
||||
- zstd
|
||||
- zsync
|
||||
- gnupg2
|
||||
- lib32z1
|
||||
- texinfo
|
||||
- libsqlite3-dev
|
||||
- libc++-dev
|
||||
- libc++abi-dev
|
||||
- bison
|
||||
- brotli
|
||||
- bzip2
|
||||
- curl
|
||||
- file
|
||||
- flex
|
||||
- ftp
|
||||
- jq
|
||||
- m4
|
||||
- netcat
|
||||
- ssh
|
||||
- parallel
|
||||
- patchelf
|
||||
- rsync
|
||||
- shellcheck
|
||||
- sqlite3
|
||||
- ssh
|
||||
- sudo
|
||||
- telnet
|
||||
- time
|
||||
- unzip
|
||||
- zip
|
||||
- wget
|
||||
- m4
|
||||
- bison
|
||||
- flex
|
||||
- patchelf
|
||||
- bzip2
|
||||
- sqlite3
|
||||
- brotli
|
||||
- yamllint
|
||||
- libcurl4
|
||||
- zip
|
||||
- Alibaba Cloud CLI (3.0.56)
|
||||
- AWS CLI (aws-cli/2.0.46 Python/3.7.3 Linux/5.4.0-1023-azure exe/x86_64.ubuntu.20)
|
||||
- AWS CLI (aws-cli/2.0.48 Python/3.7.3 Linux/5.4.0-1025-azure exe/x86_64.ubuntu.20)
|
||||
- AWS CLI Session manager plugin (1.1.61.0)
|
||||
- build-essential
|
||||
- Clang 6.0 (6.0.1)
|
||||
@@ -77,9 +82,25 @@ Target: x86_64-unknown-linux-gnu
|
||||
- Podman (2.0.6)
|
||||
- Buildah (1.15.2)
|
||||
- Skopeo (1.1.1)
|
||||
- Docker Compose (docker-compose version 1.27.0, build 980ec85b)
|
||||
- Docker Compose (docker-compose version 1.27.2, build 18f557f9)
|
||||
- Docker-Moby (Docker version 19.03.12+azure, build 0ed913b885c8919944a2e4c8d0b80a318a8dd48b)
|
||||
- Docker-Buildx (0.4.2+azure)
|
||||
- Cached container images
|
||||
- node:10 (Digest: sha256:ab6f988c514b5c5fb6d5a6d18afb216084b256719791c6cc61096da58e66c436)
|
||||
- node:12 (Digest: sha256:20ffb04c1d35e273dc7aa68fe31ef136630d95128689283a8eb914329158022b)
|
||||
- buildpack-deps:stretch (Digest: sha256:4f72cea5afa05e21bf2aec93b219b0843a10af5e2f407cc184f211e45f929ccc)
|
||||
- buildpack-deps:buster (Digest: sha256:8a76b9f9ee417eb330e97d3129e373277515e98d0f3a95a89ab944b645190efd)
|
||||
- debian:9 (Digest: sha256:bc125c699d736ac84c92b76ab7028741bbac69f207b7a8a4065bca6f79d5698e)
|
||||
- debian:8 (Digest: sha256:e180975d5c1012518e711c92ab26a4ff98218f439a97d9adbcd503b0d3ad1c8a)
|
||||
- jekyll/builder:latest (Digest: sha256:4bc6a3b6eddebef1652ef38ceb965fc9c1b06677f65f764e1e17b88dc2aa9934)
|
||||
- node:12-alpine (Digest: sha256:9623cd396644f9b2e595d833dc0188a880333674488d939338ab5fde10ef7c43)
|
||||
- node:10-alpine (Digest: sha256:2f202af4d6baba655fef9c93f41a914b33ee576b9f55a6e69ba23b49e3b62766)
|
||||
- alpine:3.9 (Digest: sha256:414e0518bb9228d35e4cd5165567fb91d26c6a214e9c95899e1e056fcd349011)
|
||||
- alpine:3.10 (Digest: sha256:f0e9534a598e501320957059cb2a23774b4d4072e37c7b2cf7e95b241f019e35)
|
||||
- alpine:3.8 (Digest: sha256:2bb501e6173d9d006e56de5bce2720eb06396803300fe1687b58a7ff32bf4c14)
|
||||
- ubuntu:14.04 (Digest: sha256:ffc76f71dd8be8c9e222d420dc96901a07b61616689a44c7b3ef6a10b7213de4)
|
||||
- alpine:3.7 (Digest: sha256:8421d9a84432575381bfabd248f1eb56f3aa21d9d7cd2511583c68c9b7511d10)
|
||||
- mcr.microsoft.com/azure-pipelines/node8-typescript:latest (Digest: sha256:e52e60b9f71183969830a3664279b5d8c799b4b0ec2c25a0686f7c02f6a9669a)
|
||||
- .NET Core SDK:
|
||||
- 3.1.402
|
||||
- 3.1.401
|
||||
@@ -163,7 +184,7 @@ Target: x86_64-unknown-linux-gnu
|
||||
- GitHub CLI 0.12.0
|
||||
- Google Chrome (Google Chrome 85.0.4183.102 )
|
||||
- ChromeDriver 85.0.4183.87 (cd6713ebf92fa1cacc0f1a598df280093af0c5d7-refs/branch-heads/4183@{#1689}); Chrome Driver is available via CHROMEWEBDRIVER environment variable
|
||||
- Google Cloud SDK (308.0.0)
|
||||
- Google Cloud SDK (309.0.0)
|
||||
- Haskell Cabal (cabal-install version 3.4.0.0
|
||||
compiled using version 3.4.0.0 of the Cabal library )
|
||||
- GHC (The Glorious Glasgow Haskell Compilation System, version 8.10.2)
|
||||
@@ -178,7 +199,7 @@ compiled using version 3.4.0.0 of the Cabal library )
|
||||
- Gradle 6.6.1
|
||||
- Maven (Apache Maven 3.6.3 (cecedd343002696d0abb50b32b541b8a6ba2883f))
|
||||
- Kind (kind v0.8.1 go1.14.2 linux/amd64)
|
||||
- kubectl (Client Version: v1.19.0)
|
||||
- kubectl (Client Version: v1.19.1)
|
||||
- helm (v3.3.1+g249e521)
|
||||
- minikube version: v1.13.0
|
||||
- kustomize ({kustomize/v3.8.2 2020-08-29T17:44:01Z })
|
||||
@@ -208,18 +229,18 @@ Local version: Unknown)
|
||||
- Bazelisk (1.6.1)
|
||||
- ORAS CLI 0.8.1
|
||||
- PhantomJS (2.1.1)
|
||||
- PHP 7.4 (PHP 7.4.9 (cli) (built: Aug 7 2020 14:30:01) ( NTS ))
|
||||
- PHP 7.4 (PHP 7.4.10 (cli) (built: Sep 9 2020 06:36:30) ( NTS ))
|
||||
> To use ppa:ondrej/php APT repository On Ubuntu 20.04 it is necessary to add it to the APT sources
|
||||
```
|
||||
apt-add-repository ppa:ondrej/php -y
|
||||
apt-get update
|
||||
```
|
||||
- Composer (Composer version 1.10.12 2020-09-08 22:58:51)
|
||||
- Composer (Composer version 1.10.13 2020-09-09 11:46:34)
|
||||
- PHPUnit (PHPUnit 7.5.20 by Sebastian Bergmann and contributors.)
|
||||
- Pollinate
|
||||
- psql (PostgreSQL) 12.4
|
||||
- Powershell (PowerShell 7.0.3)
|
||||
- Pulumi v2.9.2
|
||||
- Pulumi v2.10.0
|
||||
- ruby (2.7.0p0)
|
||||
- gem (3.1.2)
|
||||
- OpenSSL 1.1.1f 31 Mar 2020
|
||||
@@ -245,10 +266,10 @@ apt-get update
|
||||
- Packer (1.6.2)
|
||||
- Vcpkg 2020.06.15-unknownhash
|
||||
- Vercel CLI (20.1.0)
|
||||
- MongoDB on Linux v4.4.0
|
||||
- MongoDB on Linux v4.4.1
|
||||
- Haveged 1.9.1-6ubuntu1
|
||||
- Swig 4.0.1
|
||||
- Netlify CLI (netlify-cli/2.61.2 linux-x64 node-v12.18.3)
|
||||
- Netlify CLI (netlify-cli/2.63.0 linux-x64 node-v12.18.3)
|
||||
- Google Repository 58
|
||||
- Google Play services 49
|
||||
- CMake 3.10.2.4988404
|
||||
@@ -274,22 +295,6 @@ apt-get update
|
||||
- Android SDK Build-Tools 27.0.0
|
||||
- Android NDK 21.3.6528147
|
||||
- Az Module (4.6.1)
|
||||
- Cached container images
|
||||
- jekyll/builder:latest (Digest: sha256:4bc6a3b6eddebef1652ef38ceb965fc9c1b06677f65f764e1e17b88dc2aa9934)
|
||||
- node:10 (Digest: sha256:304c59f827930ae1a4a9775aec5837c8f95c3d41b5e6d7c0a329b4eb8c4cc8a8)
|
||||
- node:12 (Digest: sha256:099346a8e9c861b406c9bbb1f109125c7263868e5447cc57d6d564e1fec8a5cf)
|
||||
- buildpack-deps:stretch (Digest: sha256:82a686ba95fdf2bf4a5f5264e8e55b8aa272ffcedaed7826777f08de0d9e1146)
|
||||
- buildpack-deps:buster (Digest: sha256:0f7be4c25fadb2b8aee537cdac00a684b09057e66368683bbf22adf477e05faa)
|
||||
- debian:9 (Digest: sha256:335ecf9e8d9b2206c2e9e7f8b09547faa9f868e694f7c5be14c38be15ea8a7cf)
|
||||
- debian:8 (Digest: sha256:8a0f2603166345b4d7bbf4842137b2ffcb492ece20d15f963f08aa26670f82c7)
|
||||
- node:12-alpine (Digest: sha256:9623cd396644f9b2e595d833dc0188a880333674488d939338ab5fde10ef7c43)
|
||||
- node:10-alpine (Digest: sha256:2f202af4d6baba655fef9c93f41a914b33ee576b9f55a6e69ba23b49e3b62766)
|
||||
- alpine:3.9 (Digest: sha256:414e0518bb9228d35e4cd5165567fb91d26c6a214e9c95899e1e056fcd349011)
|
||||
- alpine:3.10 (Digest: sha256:f0e9534a598e501320957059cb2a23774b4d4072e37c7b2cf7e95b241f019e35)
|
||||
- alpine:3.8 (Digest: sha256:2bb501e6173d9d006e56de5bce2720eb06396803300fe1687b58a7ff32bf4c14)
|
||||
- ubuntu:14.04 (Digest: sha256:ffc76f71dd8be8c9e222d420dc96901a07b61616689a44c7b3ef6a10b7213de4)
|
||||
- alpine:3.7 (Digest: sha256:8421d9a84432575381bfabd248f1eb56f3aa21d9d7cd2511583c68c9b7511d10)
|
||||
- mcr.microsoft.com/azure-pipelines/node8-typescript:latest (Digest: sha256:e52e60b9f71183969830a3664279b5d8c799b4b0ec2c25a0686f7c02f6a9669a)
|
||||
- Ruby:
|
||||
- Ruby 2.5.8
|
||||
- Ruby 2.6.6
|
||||
@@ -311,10 +316,10 @@ apt-get update
|
||||
- node 8.17.0
|
||||
- node 10.22.0
|
||||
- node 12.18.3
|
||||
- node 14.9.0
|
||||
- node 14.10.1
|
||||
- go:
|
||||
- go 1.14.8
|
||||
- go 1.15.1
|
||||
- go 1.14.9
|
||||
- go 1.15.2
|
||||
- AWS SAM CLI, version 1.2.0
|
||||
- Homebrew on Linux (Homebrew 2.5.0
|
||||
Homebrew/linuxbrew-core (git revision 3199c; last commit 2020-09-08))
|
||||
- Homebrew on Linux (Homebrew 2.5.1
|
||||
Homebrew/linuxbrew-core (git revision d52011; last commit 2020-09-12))
|
||||
|
||||
147
images/linux/scripts/SoftwareReport/SoftwareReport.Android.psm1
Normal file
147
images/linux/scripts/SoftwareReport/SoftwareReport.Android.psm1
Normal file
@@ -0,0 +1,147 @@
|
||||
function Split-TableRowByColumns {
|
||||
param(
|
||||
[string] $Row
|
||||
)
|
||||
return $Row.Split("|") | ForEach-Object { $_.trim() }
|
||||
}
|
||||
|
||||
function Get-AndroidSDKRoot {
|
||||
return "/usr/local/lib/android/sdk"
|
||||
}
|
||||
|
||||
function Get-AndroidSDKManagerPath {
|
||||
$androidSDKDir = Get-AndroidSDKRoot
|
||||
return Join-Path $androidSDKDir "tools" "bin" "sdkmanager"
|
||||
}
|
||||
|
||||
function Get-AndroidInstalledPackages {
|
||||
$androidSDKManagerPath = Get-AndroidSDKManagerPath
|
||||
$androidSDKManagerList = Invoke-Expression "$androidSDKManagerPath --list --include_obsolete"
|
||||
$androidInstalledPackages = @()
|
||||
foreach($packageInfo in $androidSDKManagerList) {
|
||||
if($packageInfo -Match "Available Packages:") {
|
||||
break
|
||||
}
|
||||
|
||||
$androidInstalledPackages += $packageInfo
|
||||
}
|
||||
return $androidInstalledPackages
|
||||
}
|
||||
|
||||
|
||||
function Build-AndroidTable {
|
||||
$packageInfo = Get-AndroidInstalledPackages
|
||||
return @(
|
||||
@{
|
||||
"Package" = "Android SDK Platform-Tools"
|
||||
"Version" = Get-AndroidPackageVersions -PackageInfo $packageInfo -MatchedString "Android SDK Platform-Tools"
|
||||
},
|
||||
@{
|
||||
"Package" = "Android SDK Tools"
|
||||
"Version" = Get-AndroidPackageVersions -PackageInfo $packageInfo -MatchedString "Android SDK Tools"
|
||||
},
|
||||
@{
|
||||
"Package" = "Android SDK Platforms"
|
||||
"Version" = Get-AndroidPlatformVersions -PackageInfo $packageInfo
|
||||
},
|
||||
@{
|
||||
"Package" = "Android SDK Build-tools"
|
||||
"Version" = Get-AndroidBuildToolVersions -PackageInfo $packageInfo
|
||||
},
|
||||
@{
|
||||
"Package" = "Google APIs"
|
||||
"Version" = Get-AndroidGoogleAPIsVersions -PackageInfo $packageInfo
|
||||
},
|
||||
@{
|
||||
"Package" = "NDK"
|
||||
"Version" = Get-AndroidPackageVersions -PackageInfo $packageInfo -MatchedString "ndk-bundle"
|
||||
},
|
||||
@{
|
||||
"Package" = "Android Support Repository"
|
||||
"Version" = Get-AndroidPackageVersions -PackageInfo $packageInfo -MatchedString "Android Support Repository"
|
||||
},
|
||||
@{
|
||||
"Package" = "Google Play services"
|
||||
"Version" = Get-AndroidPackageVersions -PackageInfo $packageInfo -MatchedString "Google Play services"
|
||||
},
|
||||
@{
|
||||
"Package" = "Google Repository"
|
||||
"Version" = Get-AndroidPackageVersions -PackageInfo $packageInfo -MatchedString "Google Repository"
|
||||
},
|
||||
@{
|
||||
"Package" = "SDK Patch Applier v4"
|
||||
"Version" = Get-AndroidPackageVersions -PackageInfo $packageInfo -MatchedString "SDK Patch Applier v4"
|
||||
},
|
||||
@{
|
||||
"Package" = "CMake"
|
||||
"Version" = Get-AndroidPackageVersions -PackageInfo $packageInfo -MatchedString "cmake"
|
||||
}
|
||||
) | Where-Object { $_.Version } | ForEach-Object {
|
||||
[PSCustomObject] @{
|
||||
"Package Name" = $_.Package
|
||||
"Version" = $_.Version
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
function Get-AndroidPackageVersions {
|
||||
param (
|
||||
[Parameter(Mandatory)]
|
||||
[object] $PackageInfo,
|
||||
[Parameter(Mandatory)]
|
||||
[object] $MatchedString
|
||||
)
|
||||
|
||||
$versions = $packageInfo | Where-Object { $_ -Match $MatchedString } | ForEach-Object {
|
||||
$packageInfoParts = Split-TableRowByColumns $_
|
||||
return $packageInfoParts[1]
|
||||
}
|
||||
return ($versions -Join "<br>")
|
||||
}
|
||||
|
||||
function Get-AndroidPlatformVersions {
|
||||
param (
|
||||
[Parameter(Mandatory)]
|
||||
[object] $PackageInfo
|
||||
)
|
||||
|
||||
$versions = $packageInfo | Where-Object { $_ -Match "Android SDK Platform " } | ForEach-Object {
|
||||
$packageInfoParts = Split-TableRowByColumns $_
|
||||
$revision = $packageInfoParts[1]
|
||||
$version = $packageInfoParts[0].split(";")[1]
|
||||
return "$version (rev $revision)"
|
||||
}
|
||||
[array]::Reverse($versions)
|
||||
return ($versions -Join "<br>")
|
||||
}
|
||||
|
||||
function Get-AndroidBuildToolVersions {
|
||||
param (
|
||||
[Parameter(Mandatory)]
|
||||
[object] $PackageInfo
|
||||
)
|
||||
|
||||
$versions = $packageInfo | Where-Object { $_ -Match "Android SDK Build-Tools" } | ForEach-Object {
|
||||
$packageInfoParts = Split-TableRowByColumns $_
|
||||
return $packageInfoParts[1]
|
||||
}
|
||||
$groupVersions = @()
|
||||
$versions | ForEach-Object {
|
||||
$majorVersion = $_.Split(".")[0]
|
||||
$groupVersions += $versions | Where-Object { $_.StartsWith($majorVersion) } | Join-String -Separator " "
|
||||
}
|
||||
return ($groupVersions | Sort-Object -Descending -Unique | Join-String -Separator "<br>")
|
||||
}
|
||||
|
||||
function Get-AndroidGoogleAPIsVersions {
|
||||
param (
|
||||
[Parameter(Mandatory)]
|
||||
[object] $PackageInfo
|
||||
)
|
||||
|
||||
$versions = $packageInfo | Where-Object { $_ -Match "Google APIs" } | ForEach-Object {
|
||||
$packageInfoParts = Split-TableRowByColumns $_
|
||||
return $packageInfoParts[0].split(";")[1]
|
||||
}
|
||||
return ($versions -Join "<br>")
|
||||
}
|
||||
@@ -0,0 +1,19 @@
|
||||
function Get-ChromeVersion {
|
||||
$googleChromeVersion = google-chrome --version | Take-OutputPart -Part 2
|
||||
return "Google Chrome $googleChromeVersion"
|
||||
}
|
||||
|
||||
function Get-ChromeDriverVersion {
|
||||
$chromeDriverVersion = chromedriver --version | Take-OutputPart -Part 1
|
||||
return "ChromeDriver $chromeDriverVersion"
|
||||
}
|
||||
|
||||
function Get-FirefoxVersion {
|
||||
$firefoxVersion = firefox --version
|
||||
return $firefoxVersion
|
||||
}
|
||||
|
||||
function Get-GeckodriverVersion {
|
||||
$geckodriverVersion = geckodriver --version | Select-Object -First 1 | Take-OutputPart -Part 1
|
||||
return "Geckodriver $geckodriverVersion"
|
||||
}
|
||||
@@ -0,0 +1,64 @@
|
||||
function Get-ToolcacheRubyVersions {
|
||||
$toolcachePath = Join-Path $env:AGENT_TOOLSDIRECTORY "Ruby"
|
||||
return Get-ChildItem $toolcachePath -Name | Sort-Object { [Version]$_ }
|
||||
}
|
||||
|
||||
function Get-ToolcachePythonVersions {
|
||||
$toolcachePath = Join-Path $env:AGENT_TOOLSDIRECTORY "Python"
|
||||
return Get-ChildItem $toolcachePath -Name | Sort-Object { [Version]$_ }
|
||||
}
|
||||
|
||||
function Get-ToolcachePyPyVersions {
|
||||
$toolcachePath = Join-Path $env:AGENT_TOOLSDIRECTORY "PyPy"
|
||||
Get-ChildItem -Path $toolcachePath -Name | Sort-Object { [Version] $_ } | ForEach-Object {
|
||||
$pypyRootPath = Join-Path $toolcachePath $_ "x64"
|
||||
[string]$pypyVersionOutput = & "$pypyRootPath/bin/python" -c "import sys;print(sys.version)"
|
||||
$pypyVersionOutput -match "^([\d\.]+) \(.+\) \[PyPy ([\d\.]+) .+]$" | Out-Null
|
||||
return "{0} [PyPy {1}]" -f $Matches[1], $Matches[2]
|
||||
}
|
||||
}
|
||||
|
||||
function Get-ToolcacheNodeVersions {
|
||||
$toolcachePath = Join-Path $env:AGENT_TOOLSDIRECTORY "node"
|
||||
return Get-ChildItem $toolcachePath -Name | Sort-Object { [Version]$_ }
|
||||
}
|
||||
|
||||
function Get-ToolcacheGoVersions {
|
||||
$toolcachePath = Join-Path $env:AGENT_TOOLSDIRECTORY "go"
|
||||
return Get-ChildItem $toolcachePath -Name | Sort-Object { [Version]$_ }
|
||||
}
|
||||
|
||||
function Get-ToolcacheBoostVersions {
|
||||
$toolcachePath = Join-Path $env:AGENT_TOOLSDIRECTORY "boost"
|
||||
if (-not (Test-Path $toolcachePath)) {
|
||||
return @()
|
||||
}
|
||||
return Get-ChildItem $toolcachePath -Name | Sort-Object { [Version]$_ }
|
||||
}
|
||||
|
||||
function Build-CachedToolsSection {
|
||||
$output = ""
|
||||
|
||||
$output += New-MDHeader "Ruby" -Level 4
|
||||
$output += New-MDList -Lines (Get-ToolcacheRubyVersions) -Style Unordered
|
||||
|
||||
$output += New-MDHeader "Python" -Level 4
|
||||
$output += New-MDList -Lines (Get-ToolcachePythonVersions) -Style Unordered
|
||||
|
||||
$output += New-MDHeader "PyPy" -Level 4
|
||||
$output += New-MDList -Lines (Get-ToolcachePyPyVersions) -Style Unordered
|
||||
|
||||
$output += New-MDHeader "Node.js" -Level 4
|
||||
$output += New-MDList -Lines (Get-ToolcacheNodeVersions) -Style Unordered
|
||||
|
||||
$output += New-MDHeader "Go" -Level 4
|
||||
$output += New-MDList -Lines (Get-ToolcacheGoVersions) -Style Unordered
|
||||
|
||||
$boostVersions = Get-ToolcacheBoostVersions
|
||||
if ($boostVersions.Count -gt 0) {
|
||||
$output += New-MDHeader "Boost" -Level 4
|
||||
$output += New-MDList -Lines $boostVersions -Style Unordered
|
||||
}
|
||||
|
||||
return $output
|
||||
}
|
||||
247
images/linux/scripts/SoftwareReport/SoftwareReport.Common.psm1
Normal file
247
images/linux/scripts/SoftwareReport/SoftwareReport.Common.psm1
Normal file
@@ -0,0 +1,247 @@
|
||||
Import-Module (Join-Path $PSScriptRoot "SoftwareReport.Helpers.psm1") -DisableNameChecking
|
||||
|
||||
function Get-OSName {
|
||||
lsb_release -ds
|
||||
}
|
||||
|
||||
function Get-CPPVersions {
|
||||
$cppVersions = apt list --installed 2>&1 | Where-Object { $_ -match "g\+\+-\d+"} | ForEach-Object {
|
||||
$_ -match "now (?<version>\d+\.\d+\.\d+)-" | Out-Null
|
||||
$Matches.version
|
||||
}
|
||||
return "GNU C++ " + ($cppVersions -Join ", ")
|
||||
}
|
||||
|
||||
function Get-FortranVersions {
|
||||
$fortranVersions = apt list --installed 2>&1 | Where-Object { $_ -match "^gfortran-\d+"} | ForEach-Object {
|
||||
$_ -match "now (?<version>\d+\.\d+\.\d+)-" | Out-Null
|
||||
$Matches.version
|
||||
}
|
||||
return "GNU Fortran " + ($fortranVersions -Join ", ")
|
||||
}
|
||||
|
||||
function Get-ClangVersions {
|
||||
$clangVersions = @()
|
||||
$clangVersions = apt list --installed 2>&1 | Where-Object { $_ -match "^clang-\d+"} | ForEach-Object {
|
||||
$clangCommand = ($_ -Split "/")[0]
|
||||
Invoke-Expression "$clangCommand --version" | Where-Object { $_ -match "clang version" } | ForEach-Object {
|
||||
$_ -match "clang version (?<version>\d+\.\d+\.\d+)-" | Out-Null
|
||||
$Matches.version
|
||||
}
|
||||
}
|
||||
return "Clang " + ($clangVersions -Join ", ")
|
||||
}
|
||||
|
||||
function Get-ErlangVersion {
|
||||
$result = Get-CommandResult "erl -version"
|
||||
$result.Output -match "version (?<version>\d+\.\d+\.\d+)" | Out-Null
|
||||
$version = $Matches.version
|
||||
return "Erlang $version"
|
||||
}
|
||||
|
||||
function Get-MonoVersion {
|
||||
$monoVersion = mono --version | Out-String | Take-OutputPart -Part 4
|
||||
return "Mono $monoVersion"
|
||||
}
|
||||
|
||||
function Get-NodeVersion {
|
||||
$nodeVersion = $(node --version).Substring(1)
|
||||
return "Node $nodeVersion"
|
||||
}
|
||||
|
||||
function Get-PythonVersion {
|
||||
$result = Get-CommandResult "python --version"
|
||||
$version = $result.Output | Take-OutputPart -Part 1
|
||||
return "Python $version"
|
||||
}
|
||||
|
||||
function Get-Python3Version {
|
||||
$result = Get-CommandResult "python3 --version"
|
||||
$version = $result.Output | Take-OutputPart -Part 1
|
||||
return "Python3 $version"
|
||||
}
|
||||
|
||||
function Get-PowershellVersion {
|
||||
return $(pwsh --version)
|
||||
}
|
||||
|
||||
function Get-RubyVersion {
|
||||
$rubyVersion = ruby --version | Out-String | Take-OutputPart -Part 1
|
||||
return "Ruby $rubyVersion"
|
||||
}
|
||||
|
||||
function Get-SwiftVersion {
|
||||
$swiftVersion = swift --version | Out-String | Take-OutputPart -Part 2
|
||||
return "Swift $swiftVersion"
|
||||
}
|
||||
|
||||
function Get-JuliaVersion {
|
||||
$juliaVersion = julia --version | Take-OutputPart -Part 2
|
||||
return "Julia $juliaVersion"
|
||||
}
|
||||
|
||||
function Get-HomebrewVersion {
|
||||
$result = Get-CommandResult "brew -v"
|
||||
$result.Output -match "Homebrew (?<version>\d+\.\d+\.\d+)" | Out-Null
|
||||
$version = $Matches.version
|
||||
return "Homebrew $version"
|
||||
}
|
||||
|
||||
function Get-GemVersion {
|
||||
$result = Get-CommandResult "gem --version"
|
||||
$result.Output -match "(?<version>\d+\.\d+\.\d+)" | Out-Null
|
||||
$gemVersion = $Matches.version
|
||||
return "Gem $gemVersion"
|
||||
}
|
||||
|
||||
function Get-MinicondaVersion {
|
||||
$condaVersion = conda --version
|
||||
return "Mini$condaVersion"
|
||||
}
|
||||
|
||||
function Get-HelmVersion {
|
||||
$(helm version) -match 'Version:"v(?<version>\d+\.\d+\.\d+)"' | Out-Null
|
||||
$helmVersion = $Matches.version
|
||||
return "Helm $helmVersion"
|
||||
}
|
||||
|
||||
function Get-NpmVersion {
|
||||
$npmVersion = npm --version
|
||||
return "Npm $npmVersion"
|
||||
}
|
||||
|
||||
function Get-YarnVersion {
|
||||
$yarnVersion = yarn --version
|
||||
return "Yarn $yarnVersion"
|
||||
}
|
||||
|
||||
function Get-PipVersion {
|
||||
$result = Get-CommandResult "pip --version"
|
||||
$result.Output -match "pip (?<version>\d+\.\d+\.\d+)" | Out-Null
|
||||
$pipVersion = $Matches.version
|
||||
return "Pip $pipVersion"
|
||||
}
|
||||
|
||||
function Get-Pip3Version {
|
||||
$result = Get-CommandResult "pip3 --version"
|
||||
$result.Output -match "pip (?<version>\d+\.\d+\.\d+)" | Out-Null
|
||||
$pipVersion = $Matches.version
|
||||
return "Pip3 $pipVersion"
|
||||
}
|
||||
|
||||
function Get-VcpkgVersion {
|
||||
$result = Get-CommandResult "vcpkg version"
|
||||
$result.Output -match "version (?<version>\d+\.\d+\.\d+)" | Out-Null
|
||||
$vcpkgVersion = $Matches.version
|
||||
return "Vcpkg $vcpkgVersion"
|
||||
}
|
||||
|
||||
function Get-AntVersion {
|
||||
$result = ant -version | Out-String
|
||||
$result -match "version (?<version>\d+\.\d+\.\d+)" | Out-Null
|
||||
$antVersion = $Matches.version
|
||||
return "Ant $antVersion"
|
||||
}
|
||||
|
||||
function Get-GradleVersion {
|
||||
$result = gradle -v | Out-String
|
||||
$result -match "Gradle (?<version>\d+\.\d+\.\d+)" | Out-Null
|
||||
$gradleVersion = $Matches.version
|
||||
return "Gradle $gradleVersion"
|
||||
}
|
||||
function Get-MavenVersion {
|
||||
$result = mvn -version | Out-String
|
||||
$result -match "Apache Maven (?<version>\d+\.\d+\.\d+)" | Out-Null
|
||||
$mavenVersion = $Matches.version
|
||||
return "Maven $mavenVersion"
|
||||
}
|
||||
function Get-SbtVersion {
|
||||
$result = sbt -version 2>&1 | Out-String
|
||||
$result -match "sbt script version: (?<version>\d+\.\d+\.\d+)" | Out-Null
|
||||
$sbtVersion = $Matches.version
|
||||
return "Sbt $sbtVersion"
|
||||
}
|
||||
|
||||
function Get-PHPVersions {
|
||||
return $(apt list --installed 2>&1) | Where-Object { $_ -match "^php\d+\.\d+/"} | ForEach-Object {
|
||||
$_ -match "now (?<version>\d+\.\d+\.\d+)-" | Out-Null
|
||||
$Matches.version
|
||||
}
|
||||
}
|
||||
|
||||
function Get-ComposerVersion {
|
||||
$(composer --version) -match "Composer version (?<version>\d+\.\d+\.\d+)\s" | Out-Null
|
||||
return $Matches.version
|
||||
}
|
||||
|
||||
function Get-PHPUnitVersion {
|
||||
$(phpunit --version | Out-String) -match "PHPUnit (?<version>\d+\.\d+\.\d+)\s" | Out-Null
|
||||
return $Matches.version
|
||||
}
|
||||
|
||||
function Build-PHPTable {
|
||||
$php = @{
|
||||
"Tool" = "PHP"
|
||||
"Version" = "$(Get-PHPVersions -Join '<br>')"
|
||||
}
|
||||
$composer = @{
|
||||
"Tool" = "Composer"
|
||||
"Version" = Get-ComposerVersion
|
||||
}
|
||||
$phpunit = @{
|
||||
"Tool" = "PHPUnit"
|
||||
"Version" = Get-PHPUnitVersion
|
||||
}
|
||||
return @($php, $composer, $phpunit) | ForEach-Object {
|
||||
[PSCustomObject] @{
|
||||
"Tool" = $_.Tool
|
||||
"Version" = $_.Version
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
function Get-GHCVersion {
|
||||
$(ghc --version) -match "version (?<version>\d+\.\d+\.\d+)" | Out-Null
|
||||
$ghcVersion = $Matches.version
|
||||
return "GHC $ghcVersion"
|
||||
}
|
||||
|
||||
function Get-CabalVersion {
|
||||
$(cabal --version | Out-String) -match "cabal-install version (?<version>\d+\.\d+\.\d+\.\d+)" | Out-Null
|
||||
$cabalVersion = $Matches.version
|
||||
return "Cabal $cabalVersion"
|
||||
}
|
||||
|
||||
function Get-StackVersion {
|
||||
$(stack --version | Out-String) -match "Version (?<version>\d+\.\d+\.\d+)" | Out-Null
|
||||
$stackVersion = $Matches.version
|
||||
return "Stack $stackVersion"
|
||||
}
|
||||
|
||||
function Get-AzModuleVersions {
|
||||
$azModuleVersions = Get-ChildItem /usr/share | Where-Object { $_ -match "az_\d+" } | Foreach-Object {
|
||||
$_.Name.Split("_")[1]
|
||||
}
|
||||
|
||||
$azModuleVersions = $azModuleVersions -join " "
|
||||
return $azModuleVersions
|
||||
}
|
||||
|
||||
function Get-DotNetCoreSdkVersions {
|
||||
$unsortedDotNetCoreSdkVersion = dotnet --list-sdks list | ForEach-Object { $_ | Take-OutputPart -Part 0 }
|
||||
$dotNetCoreSdkVersion = $unsortedDotNetCoreSdkVersion -join " "
|
||||
return $dotNetCoreSdkVersion
|
||||
}
|
||||
|
||||
function Get-CachedDockerImages {
|
||||
$toolsetJson = Get-ToolsetContent
|
||||
$images = $toolsetJson.docker.images
|
||||
return $images
|
||||
}
|
||||
|
||||
function Get-AptPackages {
|
||||
$toolsetJson = Get-ToolsetContent
|
||||
$apt = $toolsetJson.apt
|
||||
$pkgs = ($apt.common_packages + $apt.cmd_packages | Sort-Object) -join ", "
|
||||
return $pkgs
|
||||
}
|
||||
@@ -0,0 +1,35 @@
|
||||
function Get-PostgreSqlVersion {
|
||||
$postgreSQLVersion = psql --version | Take-OutputPart -Part 2
|
||||
return "Postgre SQL $postgreSQLVersion"
|
||||
}
|
||||
|
||||
function Get-MongoDbVersion {
|
||||
$mongoDBVersion = mongod --version | Select-Object -First 1 | Take-OutputPart -Part 2 -Delimiter "v"
|
||||
return "MongoDB $mongoDBVersion"
|
||||
}
|
||||
|
||||
function Get-SqliteVersion {
|
||||
$sqliteVersion = sqlite3 --version | Take-OutputPart -Part 0
|
||||
return "sqlite3 $sqliteVersion"
|
||||
}
|
||||
|
||||
function Get-MySQLVersion {
|
||||
$mySQLVersion = mysqld --version | Take-OutputPart -Part 2 | Take-OutputPart -Part 0 -Delimiter "-"
|
||||
return "MySQL $mySQLVersion"
|
||||
}
|
||||
|
||||
function Build-MySQLSection {
|
||||
$output = ""
|
||||
|
||||
$output += New-MDHeader "MySQL" -Level 4
|
||||
$output += New-MDList -Style Unordered -Lines @(
|
||||
(Get-MySQLVersion ),
|
||||
"MySQL Server (user:root password:root)",
|
||||
"MS SQL Server Client Tools"
|
||||
)
|
||||
$output += New-MDCode -Lines @(
|
||||
"MySQL service is disabled by default. Use the following command as a part of your job to start the service: 'sudo systemctl start mysql.service'"
|
||||
)
|
||||
|
||||
return $output
|
||||
}
|
||||
212
images/linux/scripts/SoftwareReport/SoftwareReport.Generator.ps1
Normal file
212
images/linux/scripts/SoftwareReport/SoftwareReport.Generator.ps1
Normal file
@@ -0,0 +1,212 @@
|
||||
param (
|
||||
[Parameter(Mandatory)][string]
|
||||
$OutputDirectory
|
||||
)
|
||||
|
||||
Import-Module MarkdownPS
|
||||
Import-Module (Join-Path $PSScriptRoot "SoftwareReport.Android.psm1") -DisableNameChecking
|
||||
Import-Module (Join-Path $PSScriptRoot "SoftwareReport.Browsers.psm1") -DisableNameChecking
|
||||
Import-Module (Join-Path $PSScriptRoot "SoftwareReport.CachedTools.psm1") -DisableNameChecking
|
||||
Import-Module (Join-Path $PSScriptRoot "SoftwareReport.Common.psm1") -DisableNameChecking
|
||||
Import-Module (Join-Path $PSScriptRoot "SoftwareReport.Databases.psm1") -DisableNameChecking
|
||||
Import-Module (Join-Path $PSScriptRoot "SoftwareReport.Helpers.psm1") -DisableNameChecking
|
||||
Import-Module (Join-Path $PSScriptRoot "SoftwareReport.Java.psm1") -DisableNameChecking
|
||||
Import-Module (Join-Path $PSScriptRoot "SoftwareReport.Rust.psm1") -DisableNameChecking
|
||||
Import-Module (Join-Path $PSScriptRoot "SoftwareReport.Tools.psm1") -DisableNameChecking
|
||||
|
||||
$markdown = ""
|
||||
|
||||
if ($env:ANNOUNCEMENTS) {
|
||||
$markdown += $env:ANNOUNCEMENTS
|
||||
$markdown += New-MDNewLine
|
||||
$markdown += "***"
|
||||
$markdown += New-MDNewLine
|
||||
}
|
||||
|
||||
$OSName = Get-OSName
|
||||
$markdown += New-MDHeader "$OSName" -Level 1
|
||||
|
||||
$markdown += New-MDList -Style Unordered -Lines @(
|
||||
"Image Version: $env:IMAGE_VERSION"
|
||||
)
|
||||
|
||||
$markdown += New-MDHeader "Installed Software" -Level 2
|
||||
$markdown += New-MDHeader "Language and Runtime" -Level 3
|
||||
|
||||
$markdown += New-MDList -Style Unordered -Lines @(
|
||||
(Get-CPPVersions),
|
||||
(Get-FortranVersions),
|
||||
(Get-ClangVersions),
|
||||
(Get-ErlangVersion),
|
||||
(Get-MonoVersion),
|
||||
(Get-NodeVersion),
|
||||
(Get-PythonVersion),
|
||||
(Get-Python3Version),
|
||||
(Get-PowershellVersion),
|
||||
(Get-RubyVersion),
|
||||
(Get-SwiftVersion),
|
||||
(Get-JuliaVersion)
|
||||
)
|
||||
|
||||
$markdown += New-MDHeader "Package Management" -Level 3
|
||||
$markdown += New-MDList -Style Unordered -Lines @(
|
||||
(Get-HomebrewVersion),
|
||||
(Get-GemVersion),
|
||||
(Get-MinicondaVersion),
|
||||
(Get-HelmVersion),
|
||||
(Get-NpmVersion),
|
||||
(Get-YarnVersion),
|
||||
(Get-PipVersion),
|
||||
(Get-Pip3Version),
|
||||
(Get-VcpkgVersion)
|
||||
)
|
||||
|
||||
$markdown += New-MDHeader "Project Management" -Level 3
|
||||
$markdown += New-MDList -Style Unordered -Lines @(
|
||||
(Get-AntVersion),
|
||||
(Get-GradleVersion),
|
||||
(Get-MavenVersion),
|
||||
(Get-SbtVersion)
|
||||
)
|
||||
|
||||
$markdown += New-MDHeader "Tools" -Level 3
|
||||
$toolsList = @(
|
||||
(Get-7zipVersion),
|
||||
(Get-AnsibleVersion),
|
||||
(Get-AzCopy7Version),
|
||||
(Get-AzCopy10Version),
|
||||
(Get-BazelVersion),
|
||||
(Get-BazeliskVersion),
|
||||
(Get-CMakeVersion),
|
||||
(Get-CurlVersion),
|
||||
(Get-DockerMobyVersion),
|
||||
(Get-DockerComposeVersion),
|
||||
(Get-DockerBuildxVersion),
|
||||
(Get-GitVersion),
|
||||
(Get-GitLFSVersion),
|
||||
(Get-GitFTPVersion),
|
||||
(Get-GoogleCloudSDKVersion),
|
||||
(Get-HavegedVersion),
|
||||
(Get-HerokuVersion),
|
||||
(Get-HHVMVersion),
|
||||
(Get-SVNVersion),
|
||||
(Get-JqVersion),
|
||||
(Get-KindVersion),
|
||||
(Get-KubectlVersion),
|
||||
(Get-KustomizeVersion),
|
||||
(Get-LeiningenVersion),
|
||||
(Get-M4Version),
|
||||
(Get-HGVersion),
|
||||
(Get-MinikubeVersion),
|
||||
(Get-NewmanVersion),
|
||||
(Get-NvmVersion),
|
||||
(Get-PackerVersion),
|
||||
(Get-PhantomJSVersion),
|
||||
(Get-SwigVersion),
|
||||
(Get-TerraformVersion),
|
||||
(Get-UnZipVersion),
|
||||
(Get-WgetVersion),
|
||||
(Get-ZipVersion),
|
||||
(Get-ZstdVersion)
|
||||
)
|
||||
|
||||
if (-not (Test-IsUbuntu16)) {
|
||||
$toolsList += @(
|
||||
(Get-PodManVersion),
|
||||
(Get-BuildahVersion),
|
||||
(Get-SkopeoVersion)
|
||||
)
|
||||
}
|
||||
|
||||
$markdown += New-MDList -Style Unordered -Lines ($toolsList | Sort-Object)
|
||||
|
||||
$markdown += New-MDHeader "CLI Tools" -Level 3
|
||||
$markdown += New-MDList -Style Unordered -Lines @(
|
||||
(Get-AlibabaCloudCliVersion),
|
||||
(Get-AWSCliVersion),
|
||||
(Get-AWSCliSessionManagerPluginVersion),
|
||||
(Get-AWSSAMVersion),
|
||||
(Get-AzureCliVersion),
|
||||
(Get-AzureDevopsVersion),
|
||||
(Get-GitHubCliVersion),
|
||||
(Get-HubCliVersion),
|
||||
(Get-NetlifyCliVersion),
|
||||
(Get-OCCliVersion),
|
||||
(Get-ORASCliVersion),
|
||||
(Get-VerselCliversion)
|
||||
)
|
||||
|
||||
$markdown += New-MDHeader "Java" -Level 3
|
||||
$markdown += Get-JavaVersions | New-MDTable
|
||||
$markdown += New-MDNewLine
|
||||
|
||||
$markdown += New-MDHeader "PHP" -Level 3
|
||||
$markdown += Build-PHPTable | New-MDTable
|
||||
$markdown += New-MDNewLine
|
||||
|
||||
$markdown += New-MDHeader "Haskell" -Level 3
|
||||
$markdown += New-MDList -Style Unordered -Lines @(
|
||||
(Get-GHCVersion),
|
||||
(Get-CabalVersion),
|
||||
(Get-StackVersion)
|
||||
)
|
||||
|
||||
$markdown += New-MDHeader "Rust Tools" -Level 3
|
||||
$markdown += New-MDList -Style Unordered -Lines @(
|
||||
(Get-RustVersion),
|
||||
(Get-RustupVersion),
|
||||
(Get-RustdocVersion),
|
||||
(Get-CargoVersion)
|
||||
)
|
||||
|
||||
$markdown += New-MDHeader "Packages" -Level 4
|
||||
$markdown += New-MDList -Style Unordered -Lines @(
|
||||
(Get-BindgenVersion),
|
||||
(Get-CargoAuditVersion),
|
||||
(Get-CargoOutdatedVersion),
|
||||
(Get-CargoClippyVersion),
|
||||
(Get-CbindgenVersion),
|
||||
(Get-RustfmtVersion)
|
||||
)
|
||||
|
||||
$markdown += New-MDHeader "Browsers and Drivers" -Level 3
|
||||
$markdown += New-MDList -Style Unordered -Lines @(
|
||||
(Get-ChromeVersion),
|
||||
(Get-ChromeDriverVersion),
|
||||
(Get-FirefoxVersion),
|
||||
(Get-GeckodriverVersion)
|
||||
)
|
||||
|
||||
$markdown += New-MDHeader ".NET Core SDK" -Level 3
|
||||
$markdown += New-MDList -Style Unordered -Lines @(
|
||||
(Get-DotNetCoreSdkVersions)
|
||||
)
|
||||
|
||||
$markdown += New-MDHeader "Az Module" -Level 3
|
||||
$markdown += New-MDList -Style Unordered -Lines @(
|
||||
(Get-AzModuleVersions)
|
||||
)
|
||||
|
||||
$markdown += New-MDHeader "Databases" -Level 3
|
||||
$markdown += New-MDList -Style Unordered -Lines @(
|
||||
(Get-PostgreSqlVersion),
|
||||
(Get-MongoDbVersion),
|
||||
(Get-SqliteVersion)
|
||||
)
|
||||
|
||||
$markdown += Build-MySQLSection
|
||||
|
||||
$markdown += New-MDHeader "Cached Tools" -Level 3
|
||||
$markdown += Build-CachedToolsSection
|
||||
|
||||
$markdown += New-MDHeader "Android" -Level 3
|
||||
$markdown += Build-AndroidTable | New-MDTable
|
||||
$markdown += New-MDNewLine
|
||||
|
||||
$markdown += New-MDHeader "Cached Docker images" -Level 3
|
||||
$markdown += New-MDList -Style Unordered -Lines @(Get-CachedDockerImages)
|
||||
|
||||
$markdown += New-MDHeader "Installed apt packages" -Level 3
|
||||
$markdown += New-MDList -Style Unordered -Lines @(Get-AptPackages)
|
||||
|
||||
$markdown | Out-File -FilePath "${OutputDirectory}/Ubuntu-Readme.md"
|
||||
@@ -0,0 +1,51 @@
|
||||
function Get-CommandResult {
|
||||
param (
|
||||
[Parameter(Mandatory=$true)]
|
||||
[string] $Command,
|
||||
[switch] $Multiline
|
||||
)
|
||||
# Bash trick to suppress and show error output because some commands write to stderr (for example, "python --version")
|
||||
$stdout = & bash -c "$Command 2>&1"
|
||||
$exitCode = $LASTEXITCODE
|
||||
return @{
|
||||
Output = If ($Multiline -eq $true) { $stdout } else { [string]$stdout }
|
||||
ExitCode = $exitCode
|
||||
}
|
||||
}
|
||||
|
||||
function Take-OutputPart {
|
||||
param (
|
||||
[Parameter(ValueFromPipeline)]
|
||||
[string] $toolOutput,
|
||||
[string] $Delimiter = " ",
|
||||
[int[]] $Part
|
||||
)
|
||||
$parts = $toolOutput.Split($Delimiter, [System.StringSplitOptions]::RemoveEmptyEntries)
|
||||
$selectedParts = $parts[$Part]
|
||||
return [string]::Join($Delimiter, $selectedParts)
|
||||
}
|
||||
|
||||
function Test-IsUbuntu16 {
|
||||
return (lsb_release -rs) -eq "16.04"
|
||||
}
|
||||
|
||||
function Test-IsUbuntu18 {
|
||||
return (lsb_release -rs) -eq "18.04"
|
||||
}
|
||||
|
||||
function Test-IsUbuntu20 {
|
||||
return (lsb_release -rs) -eq "20.04"
|
||||
}
|
||||
|
||||
function Get-ToolsetContent {
|
||||
$toolset = Join-Path $env:INSTALLER_SCRIPT_FOLDER "toolset.json"
|
||||
Get-Content $toolset -Raw | ConvertFrom-Json
|
||||
}
|
||||
|
||||
function New-MDNewLine {
|
||||
param (
|
||||
[int] $Count = 1
|
||||
)
|
||||
$newLineSymbol = [System.Environment]::NewLine
|
||||
return $newLineSymbol * $Count
|
||||
}
|
||||
30
images/linux/scripts/SoftwareReport/SoftwareReport.Java.psm1
Normal file
30
images/linux/scripts/SoftwareReport/SoftwareReport.Java.psm1
Normal file
@@ -0,0 +1,30 @@
|
||||
function Get-JavaFullVersion {
|
||||
param($JavaRootPath)
|
||||
|
||||
$javaBinPath = Join-Path $javaRootPath "/bin/java"
|
||||
$javaVersionOutput = (Get-CommandResult "$javaBinPath -version").Output
|
||||
$matchResult = $javaVersionOutput | Select-String '^openjdk version \"([\d\._]+)\"'
|
||||
return $matchResult.Matches.Groups[1].Value
|
||||
}
|
||||
|
||||
function Get-JavaVersions {
|
||||
$defaultJavaPath = $env:JAVA_HOME
|
||||
$javaVersions = Get-Item env:JAVA_HOME_*_X64
|
||||
$sortRules = @{
|
||||
Expression = { [Int32]$_.Name.Split("_")[2] }
|
||||
Descending = $false
|
||||
}
|
||||
|
||||
return $javaVersions | Sort-Object $sortRules | ForEach-Object {
|
||||
$javaPath = $_.Value
|
||||
$version = Get-JavaFullVersion $javaPath
|
||||
$vendor = $version.StartsWith("1.7") ? "Zulu" : "AdoptOpenJDK"
|
||||
$defaultPostfix = ($javaPath -eq $defaultJavaPath) ? " (default)" : ""
|
||||
|
||||
[PSCustomObject] @{
|
||||
"Version" = $version + $defaultPostfix
|
||||
"Vendor" = $vendor
|
||||
"Environment Variable" = $_.Name
|
||||
}
|
||||
}
|
||||
}
|
||||
55
images/linux/scripts/SoftwareReport/SoftwareReport.Rust.psm1
Normal file
55
images/linux/scripts/SoftwareReport/SoftwareReport.Rust.psm1
Normal file
@@ -0,0 +1,55 @@
|
||||
function Initialize-RustEnvironment {
|
||||
ln -sf "/usr/share/rust/.rustup" $HOME/.rustup
|
||||
ln -sf "/usr/share/rust/.cargo" $HOME/.cargo
|
||||
}
|
||||
|
||||
function Get-RustVersion {
|
||||
Initialize-RustEnvironment
|
||||
$rustVersion = $(rustc --version) | Take-OutputPart -Part 1
|
||||
return "Rust $rustVersion"
|
||||
}
|
||||
|
||||
function Get-BindgenVersion {
|
||||
$bindgenVersion = $(bindgen --version) | Take-OutputPart -Part 1
|
||||
return "Bindgen $bindgenVersion"
|
||||
}
|
||||
|
||||
function Get-CargoVersion {
|
||||
$cargoVersion = $(cargo --version) | Take-OutputPart -Part 1
|
||||
return "Cargo $cargoVersion"
|
||||
}
|
||||
|
||||
function Get-CargoAuditVersion {
|
||||
$cargoAuditVersion = $(cargo audit --version) | Take-OutputPart -Part 1
|
||||
return "Cargo audit $cargoAuditVersion"
|
||||
}
|
||||
|
||||
function Get-CargoOutdatedVersion {
|
||||
$cargoOutdatedVersion = $(cargo outdated --version) | Take-OutputPart -Part 1 -Delimiter "v"
|
||||
return "Cargo outdated $cargoOutdatedVersion"
|
||||
}
|
||||
|
||||
function Get-CargoClippyVersion {
|
||||
$cargoClippyVersion = $(cargo-clippy --version) | Take-OutputPart -Part 1
|
||||
return "Cargo clippy $cargoClippyVersion"
|
||||
}
|
||||
|
||||
function Get-CbindgenVersion {
|
||||
$cbindgenVersion = $(cbindgen --version) | Take-OutputPart -Part 1
|
||||
return "Cbindgen $cbindgenVersion"
|
||||
}
|
||||
|
||||
function Get-RustupVersion {
|
||||
$rustupVersion = $(rustup --version) | Take-OutputPart -Part 1
|
||||
return "Rustup $rustupVersion"
|
||||
}
|
||||
|
||||
function Get-RustdocVersion {
|
||||
$rustdocVersion = $(rustdoc --version) | Take-OutputPart -Part 1
|
||||
return "Rustdoc $rustdocVersion"
|
||||
}
|
||||
|
||||
function Get-RustfmtVersion {
|
||||
$rustfmtVersion = $(rustfmt --version) | Take-OutputPart -Part 1 | Take-OutputPart -Part 0 -Delimiter "-"
|
||||
return "Rustfmt $rustfmtVersion"
|
||||
}
|
||||
249
images/linux/scripts/SoftwareReport/SoftwareReport.Tools.psm1
Normal file
249
images/linux/scripts/SoftwareReport/SoftwareReport.Tools.psm1
Normal file
@@ -0,0 +1,249 @@
|
||||
function Get-7zipVersion {
|
||||
$7zVersion = 7z i | Select-String "7-Zip" | Take-OutputPart -Part 2
|
||||
return "7-Zip $7zVersion"
|
||||
}
|
||||
|
||||
function Get-AnsibleVersion {
|
||||
$ansibleVersion = sudo ansible --version | Select-Object -First 1 | Take-OutputPart -Part 1
|
||||
return "Ansible $ansibleVersion"
|
||||
}
|
||||
|
||||
function Get-AzCopy7Version {
|
||||
$azcopy7Version = azcopy --version | Take-OutputPart -Part 1 | Take-OutputPart -Part 0 -Delimiter "-"
|
||||
return "AzCopy7 $azcopy7Version (available by ``azcopy`` alias)"
|
||||
}
|
||||
|
||||
function Get-AzCopy10Version {
|
||||
$azcopy10Version = azcopy10 --version | Take-OutputPart -Part 2
|
||||
return "AzCopy10 $azcopy10Version (available by ``azcopy10`` alias)"
|
||||
}
|
||||
|
||||
function Get-BazelVersion {
|
||||
$bazelVersion = sudo bazel --version | Select-String "bazel" | Take-OutputPart -Part 1
|
||||
return "Bazel $bazelVersion"
|
||||
}
|
||||
|
||||
function Get-BazeliskVersion {
|
||||
$bazeliskVersion = sudo bazelisk version 2>&1 | Select-String "Bazelisk version:" | Take-OutputPart -Part 2 | Take-OutputPart -Part 0 -Delimiter "v"
|
||||
return "Bazelisk $bazeliskVersion"
|
||||
}
|
||||
|
||||
function Get-PodManVersion {
|
||||
$podmanVersion = podman --version | Take-OutputPart -Part 2
|
||||
return "Podman $podmanVersion"
|
||||
}
|
||||
|
||||
function Get-BuildahVersion {
|
||||
$buildahVersion = buildah --version | Take-OutputPart -Part 2
|
||||
return "Buildah $buildahVersion"
|
||||
}
|
||||
|
||||
function Get-SkopeoVersion {
|
||||
$skopeoVersion = skopeo --version | Take-OutputPart -Part 2
|
||||
return "Skopeo $skopeoVersion"
|
||||
}
|
||||
|
||||
function Get-CMakeVersion {
|
||||
$cmakeVersion = cmake --version | Select-Object -First 1 | Take-OutputPart -Part 2
|
||||
return "CMake $cmakeVersion"
|
||||
}
|
||||
|
||||
function Get-CurlVersion {
|
||||
$curlVersion = curl --version | Select-Object -First 1 | Take-OutputPart -Part 0,1
|
||||
return $curlVersion
|
||||
}
|
||||
|
||||
function Get-DockerComposeVersion {
|
||||
$composeVersion = docker-compose -v | Take-OutputPart -Part 2 | Take-OutputPart -Part 0 -Delimiter ","
|
||||
return "Docker Compose $composeVersion"
|
||||
}
|
||||
|
||||
function Get-DockerMobyVersion {
|
||||
$dockerVersion = docker -v | Take-OutputPart -Part 2 | Take-OutputPart -Part 0 -Delimiter "+"
|
||||
return "Docker-Moby $dockerVersion"
|
||||
}
|
||||
|
||||
function Get-DockerBuildxVersion {
|
||||
$buildxVersion = docker buildx version | Take-OutputPart -Part 1 | Take-OutputPart -Part 0 -Delimiter "+"
|
||||
return "Docker-Buildx $buildxVersion"
|
||||
}
|
||||
|
||||
function Get-GitVersion {
|
||||
$gitVersion = git --version 2>&1 | Take-OutputPart -Part 2
|
||||
return "Git $gitVersion"
|
||||
}
|
||||
|
||||
function Get-GitLFSVersion {
|
||||
$gitlfsversion = git-lfs --version 2>&1 | Take-OutputPart -Part 0 | Take-OutputPart -Part 1 -Delimiter "/"
|
||||
return "Git LFS $gitlfsversion"
|
||||
}
|
||||
|
||||
function Get-GitFTPVersion {
|
||||
$gitftpVersion = git-ftp --version | Take-OutputPart -Part 2
|
||||
return "Git-ftp $gitftpVersion"
|
||||
}
|
||||
|
||||
function Get-GoogleCloudSDKVersion {
|
||||
return "$(sudo gcloud --version | Select-Object -First 1)"
|
||||
}
|
||||
|
||||
function Get-HavegedVersion {
|
||||
$havegedVersion = dpkg-query --showformat='${Version}' --show haveged | Take-OutputPart -Part 0 -Delimiter "-"
|
||||
return "Haveged $havegedVersion"
|
||||
}
|
||||
|
||||
function Get-HerokuVersion {
|
||||
$herokuVersion = sudo heroku version | Take-OutputPart -Part 0 | Take-OutputPart -Part 1 -Delimiter "/"
|
||||
return "Heroku $herokuVersion"
|
||||
}
|
||||
|
||||
function Get-HHVMVersion {
|
||||
$hhvmVersion = hhvm --version | Select-Object -First 1 | Take-OutputPart -Part 2
|
||||
return "HHVM (HipHop VM) $hhvmVersion"
|
||||
}
|
||||
|
||||
function Get-SVNVersion {
|
||||
$svnVersion = svn --version | Select-Object -First 1 | Take-OutputPart -Part 2
|
||||
return "SVN $svnVersion"
|
||||
}
|
||||
|
||||
function Get-KustomizeVersion {
|
||||
$kustomizeVersion = kustomize version --short | Take-OutputPart -Part 0 | Take-OutputPart -Part 1 -Delimiter "v"
|
||||
return "Kustomize $kustomizeVersion"
|
||||
}
|
||||
|
||||
function Get-KindVersion {
|
||||
$kindVersion = kind version | Take-OutputPart -Part 1 | Take-OutputPart -Part 0 -Delimiter "v"
|
||||
return "Kind $kindVersion"
|
||||
}
|
||||
|
||||
function Get-KubectlVersion {
|
||||
$kubectlVersion = kubectl version --client --short | Take-OutputPart -Part 2 | Take-OutputPart -Part 0 -Delimiter "v"
|
||||
return "Kubectl $kubectlVersion"
|
||||
}
|
||||
|
||||
function Get-MinikubeVersion {
|
||||
$minikubeVersion = minikube version --short | Take-OutputPart -Part 2 | Take-OutputPart -Part 0 -Delimiter "v"
|
||||
return "Minikube $minikubeVersion"
|
||||
}
|
||||
|
||||
function Get-HGVersion {
|
||||
$hgVersion = hg --version | Select-Object -First 1 | Take-OutputPart -Part -1 | Take-OutputPart -Part 0 -Delimiter ")"
|
||||
return "Mercurial $hgVersion"
|
||||
}
|
||||
|
||||
function Get-M4Version {
|
||||
$m4Version = m4 --version | Select-Object -First 1 | Take-OutputPart -Part -1
|
||||
return "m4 $m4Version"
|
||||
}
|
||||
|
||||
function Get-LeiningenVersion {
|
||||
return "$(lein -v | Take-OutputPart -Part 0,1)"
|
||||
}
|
||||
|
||||
function Get-NewmanVersion {
|
||||
return "Newman $(newman --version)"
|
||||
}
|
||||
|
||||
function Get-NvmVersion {
|
||||
$nvmVersion = bash -c "source /etc/skel/.nvm/nvm.sh && nvm --version"
|
||||
return "nvm $nvmVersion"
|
||||
}
|
||||
|
||||
function Get-PackerVersion {
|
||||
return "Packer $(packer --version)"
|
||||
}
|
||||
|
||||
function Get-PhantomJSVersion {
|
||||
return "PhantomJS $(phantomjs --version)"
|
||||
}
|
||||
|
||||
function Get-SwigVersion {
|
||||
$swigVersion = swig -version | Select-String "SWIG Version" | Take-OutputPart -Part 2
|
||||
return "Swig $swigVersion"
|
||||
}
|
||||
|
||||
function Get-TerraformVersion {
|
||||
return (terraform version | Select-String "^Terraform").Line.Replace('v','')
|
||||
}
|
||||
|
||||
function Get-UnZipVersion {
|
||||
$unzipVersion = unzip -v | Select-Object -First 1 | Take-OutputPart -Part 1
|
||||
return "unzip $unzipVersion"
|
||||
}
|
||||
|
||||
function Get-WgetVersion {
|
||||
$wgetVersion = wget --version | Select-Object -First 1 | Take-OutputPart -Part 2
|
||||
return "wget $wgetVersion"
|
||||
}
|
||||
|
||||
function Get-ZipVersion {
|
||||
$zipVersion = zip -v | Select-String "This is Zip" | Take-OutputPart -Part 3
|
||||
return "zip $zipVersion"
|
||||
}
|
||||
|
||||
function Get-ZstdVersion {
|
||||
$zstdVersion = (zstd --version).Split() -match "v\d+" | ForEach-Object {$_.Replace("v","").Replace(",","")}
|
||||
return "zstd $zstdVersion"
|
||||
}
|
||||
|
||||
function Get-JqVersion {
|
||||
$jqVersion = jq --version | Take-OutputPart -Part 1 -Delimiter "-"
|
||||
return "jq $jqVersion"
|
||||
}
|
||||
|
||||
function Get-AzureCliVersion {
|
||||
$azcliVersion = sudo az -v | Select-String "azure-cli" | Take-OutputPart -Part -1
|
||||
return "Azure CLI (azure-cli) $azcliVersion"
|
||||
}
|
||||
|
||||
function Get-AzureDevopsVersion {
|
||||
$azdevopsVersion = sudo az -v | Select-String "azure-devops" | Take-OutputPart -Part -1
|
||||
return "Azure CLI (azure-devops) $azdevopsVersion"
|
||||
}
|
||||
|
||||
function Get-AlibabaCloudCliVersion {
|
||||
return "Alibaba Cloud CLI $(aliyun version)"
|
||||
}
|
||||
|
||||
function Get-AWSCliVersion {
|
||||
$awsVersion = aws --version 2>&1 | Take-OutputPart -Part 0 | Take-OutputPart -Part 1 -Delimiter "/"
|
||||
return "AWS CLI $awsVersion"
|
||||
}
|
||||
|
||||
function Get-AWSCliSessionManagerPluginVersion {
|
||||
return "AWS CLI Session manager plugin $(session-manager-plugin --version 2>&1)"
|
||||
}
|
||||
|
||||
function Get-AWSSAMVersion {
|
||||
return "AWS SAM CLI $(sam --version | Take-OutputPart -Part -1)"
|
||||
}
|
||||
|
||||
function Get-HubCliVersion {
|
||||
$hubVersion = hub --version | Select-String "hub version" | Take-OutputPart -Part 2
|
||||
return "Hub CLI $hubVersion"
|
||||
}
|
||||
|
||||
function Get-GitHubCliVersion {
|
||||
$ghVersion = gh --version | Select-String "gh version" | Take-OutputPart -Part 2
|
||||
return "GitHub CLI $ghVersion"
|
||||
}
|
||||
|
||||
function Get-NetlifyCliVersion {
|
||||
$netlifyVersion = sudo netlify --version | Take-OutputPart -Part 0 | Take-OutputPart -Part 1 -Delimiter "/"
|
||||
return "Netlify CLI $netlifyVersion"
|
||||
}
|
||||
|
||||
function Get-OCCliVersion {
|
||||
$ocVersion = oc version | Take-OutputPart -Part 2 | Take-OutputPart -Part 0 -Delimiter "-"
|
||||
return "oc CLI $ocVersion"
|
||||
}
|
||||
|
||||
function Get-ORASCliVersion {
|
||||
$orasVersion = oras version | Select-String "^Version:" | Take-OutputPart -Part 1
|
||||
return "ORAS CLI $orasVersion"
|
||||
}
|
||||
|
||||
function Get-VerselCliversion {
|
||||
return "$(vercel --version 2>&1 | Select-Object -First 1)"
|
||||
}
|
||||
@@ -1,42 +0,0 @@
|
||||
#!/bin/bash
|
||||
################################################################################
|
||||
## File: document.sh
|
||||
## Desc: Helper functions for writing information to the metadata document
|
||||
################################################################################
|
||||
|
||||
function WriteItem {
|
||||
if [ -z "$METADATA_FILE" ]; then
|
||||
echo "METADATA_FILE environment variable must be set to output to Metadata Document!"
|
||||
return 1;
|
||||
else
|
||||
echo -e "$1" | sudo tee -a "$METADATA_FILE"
|
||||
fi
|
||||
}
|
||||
|
||||
function AddTitle {
|
||||
WriteItem "# $1"
|
||||
}
|
||||
|
||||
function AddSubTitle {
|
||||
WriteItem "## $1"
|
||||
}
|
||||
|
||||
function DocumentInstalledItem {
|
||||
WriteItem "- $1"
|
||||
}
|
||||
|
||||
function DocumentInstalledItemIndent {
|
||||
WriteItem " - $1"
|
||||
}
|
||||
|
||||
function AddBlockquote {
|
||||
WriteItem "> $1"
|
||||
}
|
||||
|
||||
function StartCode {
|
||||
WriteItem '```'
|
||||
}
|
||||
|
||||
function EndCode {
|
||||
WriteItem '```'
|
||||
}
|
||||
@@ -4,8 +4,6 @@
|
||||
## Desc: Installs 7-zip
|
||||
################################################################################
|
||||
|
||||
# Source the helpers for use with the script
|
||||
source $HELPER_SCRIPTS/document.sh
|
||||
|
||||
# Install 7-Zip
|
||||
apt-get update -y
|
||||
@@ -17,7 +15,3 @@ if ! command -v 7z; then
|
||||
echo "7-Zip was not installed"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# Document what was added to the image
|
||||
echo "Lastly, documenting what we added to the metadata file"
|
||||
DocumentInstalledItem "7-Zip $(7z i | head --lines=2 | cut -d ' ' -f 3 | tr -d '\n')"
|
||||
|
||||
@@ -0,0 +1,31 @@
|
||||
$ErrorActionPreference = "Stop"
|
||||
|
||||
function Get-ToolsetContent
|
||||
{
|
||||
$toolset = Join-Path $env:INSTALLER_SCRIPT_FOLDER "toolset.json"
|
||||
Get-Content $toolset -Raw | ConvertFrom-Json
|
||||
}
|
||||
|
||||
# Specifies the installation policy
|
||||
Set-PSRepository -InstallationPolicy Trusted -Name PSGallery
|
||||
|
||||
# Install PowerShell modules
|
||||
$modules = (Get-ToolsetContent).powershellModules
|
||||
|
||||
foreach($module in $modules)
|
||||
{
|
||||
$moduleName = $module.name
|
||||
Write-Host "Installing ${moduleName} module"
|
||||
|
||||
if ($module.versions)
|
||||
{
|
||||
foreach ($version in $module.versions)
|
||||
{
|
||||
Write-Host " - $version"
|
||||
Install-Module -Name $moduleName -RequiredVersion $version -Scope AllUsers -SkipPublisherCheck -Force
|
||||
}
|
||||
continue
|
||||
}
|
||||
|
||||
Install-Module -Name $moduleName -Scope AllUsers -SkipPublisherCheck -Force
|
||||
}
|
||||
@@ -50,7 +50,6 @@ $toolset = Get-Content -Path "$env:INSTALLER_SCRIPT_FOLDER/toolset.json" -Raw
|
||||
$tools = ConvertFrom-Json -InputObject $toolset | Select-Object -ExpandProperty toolcache
|
||||
|
||||
foreach($tool in $tools) {
|
||||
Invoke-Expression "bash -c `"source $env:HELPER_SCRIPTS/document.sh; DocumentInstalledItem '$($tool.name):'`""
|
||||
|
||||
$toolPath = Join-Path $env:AGENT_TOOLSDIRECTORY $tool.name
|
||||
# Get executables for current tool
|
||||
@@ -85,8 +84,5 @@ foreach($tool in $tools) {
|
||||
$pypyVersion = & "$foundVersionPath/bin/python" -c "import sys;print(sys.version.split('\n')[1])"
|
||||
$foundVersionName = "{0} {1}" -f $foundVersionName, $pypyVersion
|
||||
}
|
||||
|
||||
# Add tool version to documentation
|
||||
Invoke-Expression "bash -c `"source $env:HELPER_SCRIPTS/document.sh; DocumentInstalledItemIndent '$($tool.name) $foundVersionName'`""
|
||||
}
|
||||
}
|
||||
@@ -4,8 +4,6 @@
|
||||
## Desc: Installs Alibaba Cloud CLI
|
||||
################################################################################
|
||||
|
||||
# Source the helpers for use with the script
|
||||
source $HELPER_SCRIPTS/document.sh
|
||||
|
||||
# Install Alibaba Cloud CLI
|
||||
URL=$(curl -s https://api.github.com/repos/aliyun/aliyun-cli/releases/latest | jq -r '.assets[].browser_download_url | select(contains("aliyun-cli-linux"))')
|
||||
@@ -19,8 +17,3 @@ if ! command -v aliyun ; then
|
||||
echo "aliyun was not installed"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# Document what was added to the image
|
||||
aliyun_version="$(aliyun version)"
|
||||
echo "Lastly, documenting what we added to the metadata file"
|
||||
DocumentInstalledItem "Alibaba Cloud CLI ($aliyun_version)"
|
||||
@@ -7,7 +7,6 @@
|
||||
set -e
|
||||
|
||||
# Source the helpers for use with the script
|
||||
source $HELPER_SCRIPTS/document.sh
|
||||
source $HELPER_SCRIPTS/os.sh
|
||||
|
||||
# Set env variable for SDK Root (https://developer.android.com/studio/command-line/variables)
|
||||
@@ -62,34 +61,3 @@ buildtools_versions_list=$(echo "$buildtools"|awk -F';' '{print $2}')
|
||||
|
||||
# Add required permissions
|
||||
chmod -R a+rwx ${ANDROID_SDK_ROOT}
|
||||
|
||||
echo "Lastly, document what was added to the metadata file"
|
||||
DocumentInstalledItem "Google Repository $(cat ${ANDROID_SDK_ROOT}/extras/google/m2repository/source.properties 2>&1 | grep Pkg.Revision | cut -d '=' -f 2)"
|
||||
DocumentInstalledItem "Google Play services $(cat ${ANDROID_SDK_ROOT}/extras/google/google_play_services/source.properties 2>&1 | grep Pkg.Revision | cut -d '=' -f 2)"
|
||||
|
||||
for version in $google_api_versions_list; do
|
||||
DocumentInstalledItem "Google APIs $version"
|
||||
done
|
||||
|
||||
DocumentInstalledItem "CMake $(ls ${ANDROID_SDK_ROOT}/cmake 2>&1)"
|
||||
|
||||
for version in $constraint_layout_versions_list; do
|
||||
DocumentInstalledItem "Android ConstraintLayout $version"
|
||||
done
|
||||
|
||||
for version in $constraint_layout_solver_versions_list; do
|
||||
DocumentInstalledItem "Android ConstraintLayout Solver $version"
|
||||
done
|
||||
|
||||
DocumentInstalledItem "Android SDK Platform-Tools $(cat ${ANDROID_SDK_ROOT}/platform-tools/source.properties 2>&1 | grep Pkg.Revision | cut -d '=' -f 2)"
|
||||
for version in $platform_versions_list; do
|
||||
DocumentInstalledItem "Android SDK Platform $version"
|
||||
done
|
||||
|
||||
DocumentInstalledItem "Android SDK Patch Applier v4"
|
||||
|
||||
for version in $buildtools_versions_list; do
|
||||
DocumentInstalledItem "Android SDK Build-Tools $version"
|
||||
done
|
||||
|
||||
DocumentInstalledItem "Android NDK $(cat ${ANDROID_SDK_ROOT}/ndk-bundle/source.properties 2>&1 | grep Pkg.Revision | cut -d ' ' -f 3)"
|
||||
|
||||
@@ -5,7 +5,6 @@
|
||||
################################################################################
|
||||
|
||||
# Source the helpers for use with the script
|
||||
source $HELPER_SCRIPTS/document.sh
|
||||
source $HELPER_SCRIPTS/os.sh
|
||||
|
||||
# ppa:ansible/ansible doesn't contain packages for Ubuntu20.04
|
||||
@@ -23,7 +22,3 @@ if ! command -v ansible; then
|
||||
echo "Ansible was not installed or found on PATH"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# Document what was added to the image
|
||||
echo "Lastly, documenting what we added to the metadata file"
|
||||
DocumentInstalledItem "Ansible ($(ansible --version |& head -n 1))"
|
||||
|
||||
@@ -5,8 +5,6 @@
|
||||
## Requires Python >=3.6, must be run as non-root user after toolset installation
|
||||
################################################################################
|
||||
|
||||
# Source the helpers for use with the script
|
||||
source $HELPER_SCRIPTS/document.sh
|
||||
|
||||
# Download latest aws sam cli sources
|
||||
TarballUrl=$(curl -s https://api.github.com/repos/aws/aws-sam-cli/releases/latest | jq -r '.tarball_url')
|
||||
@@ -31,7 +29,3 @@ if ! sam --version; then
|
||||
echo "AWS SAM 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 "AWS $(sam --version)"
|
||||
@@ -4,8 +4,6 @@
|
||||
## Desc: Installs the AWS CLI
|
||||
################################################################################
|
||||
|
||||
# Source the helpers
|
||||
source $HELPER_SCRIPTS/document.sh
|
||||
source $HELPER_SCRIPTS/os.sh
|
||||
|
||||
# Install the AWS CLI v1 on Ubuntu16 and Ubuntu18, and AWS CLI v2 on Ubuntu20
|
||||
@@ -41,8 +39,3 @@ if ! [[ $sessionPlugin == *"was installed successfully"* ]]
|
||||
then
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# Document the installed version
|
||||
echo "Document the installed version"
|
||||
DocumentInstalledItem "AWS CLI ($(aws --version 2>&1))"
|
||||
DocumentInstalledItem "AWS CLI Session manager plugin ($(session-manager-plugin --version 2>&1))"
|
||||
|
||||
@@ -4,8 +4,6 @@
|
||||
## Desc: Installs AzCopy
|
||||
################################################################################
|
||||
|
||||
# Source the helpers for use with the script
|
||||
source $HELPER_SCRIPTS/document.sh
|
||||
|
||||
# Install AzCopy7
|
||||
wget -O azcopy.tar.gz https://aka.ms/downloadazcopylinux64
|
||||
@@ -17,6 +15,7 @@ rm azcopy.tar.gz
|
||||
wget -O /tmp/azcopy.tar.gz https://aka.ms/downloadazcopy-v10-linux
|
||||
tar zxvf /tmp/azcopy.tar.gz --strip-components=1 -C /tmp
|
||||
mv /tmp/azcopy /usr/local/bin/azcopy10
|
||||
chmod +x /usr/local/bin/azcopy10
|
||||
|
||||
# Run tests to determine that the software installed as expected
|
||||
echo "Testing to make sure that script performed as expected, and basic scenarios work"
|
||||
@@ -29,10 +28,3 @@ if ! command -v azcopy10; then
|
||||
echo "azcopy10 was not installed"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# Document what was added to the image
|
||||
azcopy7Version=$(azcopy --version | awk '{print $2}' | cut -d '-' -f 1)
|
||||
azcopy10Version=$(azcopy10 --version | awk '{print $3}')
|
||||
echo "Lastly, documenting what we added to the metadata file"
|
||||
DocumentInstalledItem "AzCopy7 (available by azcopy alias) $azcopy7Version"
|
||||
DocumentInstalledItem "AzCopy10 (available by azcopy10 alias) $azcopy10Version"
|
||||
|
||||
@@ -5,7 +5,6 @@
|
||||
################################################################################
|
||||
|
||||
# Source the helpers for use with the script
|
||||
source $HELPER_SCRIPTS/document.sh
|
||||
source $HELPER_SCRIPTS/os.sh
|
||||
|
||||
# List of versions
|
||||
@@ -36,9 +35,3 @@ for version in ${versions[@]}; do
|
||||
exit 1
|
||||
fi
|
||||
done
|
||||
|
||||
# Document what was added to the image
|
||||
echo "Lastly, documenting what we added to the metadata file"
|
||||
for version in ${versions[@]}; do
|
||||
DocumentInstalledItem "Az Module ($version)"
|
||||
done
|
||||
|
||||
@@ -4,8 +4,6 @@
|
||||
## Desc: Installed Azure CLI (az)
|
||||
################################################################################
|
||||
|
||||
# Source the helpers for use with the script
|
||||
source $HELPER_SCRIPTS/document.sh
|
||||
|
||||
# Install Azure CLI (instructions taken from https://docs.microsoft.com/en-us/cli/azure/install-azure-cli)
|
||||
curl -sL https://aka.ms/InstallAzureCLIDeb | sudo bash
|
||||
@@ -16,6 +14,3 @@ if ! command -v az; then
|
||||
echo "azure-cli was not installed"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# Document what was added to the image
|
||||
DocumentInstalledItem "Azure CLI ($(az -v | head -n 1))"
|
||||
|
||||
@@ -4,8 +4,6 @@
|
||||
## Desc: Installed Azure DevOps CLI (az devops)
|
||||
################################################################################
|
||||
|
||||
# Source the helpers for use with the script
|
||||
source $HELPER_SCRIPTS/document.sh
|
||||
|
||||
# AZURE_EXTENSION_DIR shell variable defines where modules are installed
|
||||
# https://docs.microsoft.com/en-us/cli/azure/azure-cli-extensions-overview
|
||||
@@ -23,6 +21,3 @@ else
|
||||
echo "azure DevOps Cli extension was not installed"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# Document what was added to the image
|
||||
DocumentInstalledItem "Azure CLI ($(az -v | grep azure-devops))"
|
||||
|
||||
@@ -5,8 +5,6 @@
|
||||
################################################################################
|
||||
|
||||
set -e
|
||||
# Source the helpers for use with the script
|
||||
source $HELPER_SCRIPTS/document.sh
|
||||
|
||||
toolset="$INSTALLER_SCRIPT_FOLDER/toolset.json"
|
||||
common_packages=$(jq -r ".apt.common_packages[]" $toolset)
|
||||
@@ -24,10 +22,3 @@ for cmd in $cmd_packages; do
|
||||
exit 1
|
||||
fi
|
||||
done
|
||||
|
||||
# Document what was added to the image
|
||||
echo "Lastly, documenting what we added to the metadata file"
|
||||
DocumentInstalledItem "Basic packages:"
|
||||
for package in $common_packages $cmd_packages; do
|
||||
DocumentInstalledItemIndent $package
|
||||
done
|
||||
|
||||
@@ -4,8 +4,6 @@
|
||||
## Desc: Installs Bazel and Bazelisk (A user-friendly launcher for Bazel)
|
||||
################################################################################
|
||||
|
||||
# Source the helpers for use with the script
|
||||
source $HELPER_SCRIPTS/document.sh
|
||||
|
||||
# Install bazel
|
||||
curl https://bazel.build/bazel-release.pub.gpg | sudo apt-key add -
|
||||
@@ -27,10 +25,3 @@ if ! command -v bazelisk; then
|
||||
echo "Bazelisk was not installed"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# Document what was added to the image
|
||||
bazelisk_version="$(bazelisk version 2>null | grep "Bazelisk version:" | cut -d "v" -f 3)"
|
||||
|
||||
echo "Lastly, documenting what we added to the metadata file"
|
||||
DocumentInstalledItem "Bazel ($(bazel --version))"
|
||||
DocumentInstalledItem "Bazelisk ($bazelisk_version)"
|
||||
|
||||
@@ -4,8 +4,7 @@
|
||||
## Desc: Installs build-essential package
|
||||
################################################################################
|
||||
|
||||
# Source the helpers for use with the script
|
||||
source $HELPER_SCRIPTS/document.sh
|
||||
|
||||
source $HELPER_SCRIPTS/install.sh
|
||||
|
||||
PACKAGE=build-essential
|
||||
@@ -18,7 +17,3 @@ if ! IsPackageInstalled $PACKAGE; then
|
||||
else
|
||||
echo "$PACKAGE is already installed"
|
||||
fi
|
||||
|
||||
# Document what was added to the image
|
||||
echo "Lastly, documenting what we added to the metadata file"
|
||||
DocumentInstalledItem "$PACKAGE"
|
||||
|
||||
@@ -1,17 +1,18 @@
|
||||
#!/bin/bash
|
||||
################################################################################
|
||||
## File: clang.sh
|
||||
## Desc: Installs Clang compiler (versions: 6, 8 and 9)
|
||||
## Desc: Installs Clang compiler
|
||||
################################################################################
|
||||
set -e
|
||||
|
||||
# Source the helpers for use with the script
|
||||
source $HELPER_SCRIPTS/document.sh
|
||||
source $HELPER_SCRIPTS/os.sh
|
||||
|
||||
function InstallClang {
|
||||
version=$1
|
||||
local version=$1
|
||||
|
||||
echo "Installing clang-$version..."
|
||||
if [[ $version =~ 9 ]]; then
|
||||
if [[ $version =~ (9|10) ]]; then
|
||||
./llvm.sh $version
|
||||
apt-get install -y "clang-format-$version"
|
||||
else
|
||||
@@ -26,30 +27,34 @@ function InstallClang {
|
||||
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))"
|
||||
function SetDefaultClang {
|
||||
local version=$1
|
||||
|
||||
echo "Make Clang ${version} default"
|
||||
update-alternatives --install /usr/bin/clang++ clang++ /usr/bin/clang++-${version} 100
|
||||
update-alternatives --install /usr/bin/clang clang /usr/bin/clang-${version} 100
|
||||
update-alternatives --install /usr/bin/clang-format clang-format /usr/bin/clang-format-${version} 100
|
||||
}
|
||||
|
||||
# Download script for automatic installation
|
||||
wget https://apt.llvm.org/llvm.sh
|
||||
chmod +x llvm.sh
|
||||
|
||||
versions=(
|
||||
"6.0"
|
||||
"8"
|
||||
"9"
|
||||
)
|
||||
if isUbuntu16 || isUbuntu18; then
|
||||
versions=( "6.0" "8" "9" )
|
||||
default_clang_version="9"
|
||||
fi
|
||||
|
||||
for version in ${versions[*]}
|
||||
do
|
||||
if isUbuntu20 ; then
|
||||
versions=( "8" "9" "10" )
|
||||
default_clang_version="10"
|
||||
fi
|
||||
|
||||
for version in ${versions[*]}; do
|
||||
InstallClang $version
|
||||
done
|
||||
|
||||
SetDefaultClang $default_clang_version
|
||||
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
|
||||
update-alternatives --install /usr/bin/clang-format clang-format /usr/bin/clang-format-9 100
|
||||
|
||||
@@ -4,8 +4,6 @@
|
||||
## Desc: Installs CMake
|
||||
################################################################################
|
||||
|
||||
# Source the helpers for use with the script
|
||||
source $HELPER_SCRIPTS/document.sh
|
||||
|
||||
# Test to see if the software in question is already installed, if not install it
|
||||
echo "Checking to see if the installer script has already been run"
|
||||
@@ -24,7 +22,3 @@ if ! command -v cmake; then
|
||||
echo "cmake was not installed"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# Document what was added to the image
|
||||
echo "Lastly, documenting what we added to the metadata file"
|
||||
DocumentInstalledItem "CMake ($(cmake --version | head -n 1))"
|
||||
|
||||
@@ -4,7 +4,6 @@
|
||||
## Desc: Installs container tools: podman, buildah and skopeo onto the image
|
||||
################################################################################
|
||||
|
||||
source $HELPER_SCRIPTS/document.sh
|
||||
|
||||
source /etc/os-release
|
||||
sh -c "echo 'deb http://download.opensuse.org/repositories/devel:/kubic:/libcontainers:/stable/x${NAME}_${VERSION_ID}/ /' > /etc/apt/sources.list.d/devel:kubic:libcontainers:stable.list"
|
||||
@@ -14,12 +13,3 @@ apt-get update -qq
|
||||
apt-get -qq -y install podman buildah skopeo
|
||||
mkdir -p /etc/containers
|
||||
echo -e "[registries.search]\nregistries = ['docker.io', 'quay.io']" | tee /etc/containers/registries.conf
|
||||
|
||||
## Add version information to the metadata file
|
||||
echo "Documenting container tools version"
|
||||
PODMAN_VERSION="$(podman --version | cut -d " " -f 3)"
|
||||
BUILDAH_VERSION="$(buildah --version | cut -d " " -f 3)"
|
||||
SKOPEO_VERSION="$(skopeo --version | cut -d " " -f 3)"
|
||||
DocumentInstalledItem "Podman ($PODMAN_VERSION)"
|
||||
DocumentInstalledItem "Buildah ($BUILDAH_VERSION)"
|
||||
DocumentInstalledItem "Skopeo ($SKOPEO_VERSION)"
|
||||
|
||||
@@ -4,7 +4,6 @@
|
||||
## Desc: Installs Docker Compose
|
||||
################################################################################
|
||||
|
||||
source $HELPER_SCRIPTS/document.sh
|
||||
|
||||
URL=$(curl -s https://api.github.com/repos/docker/compose/releases/latest | jq -r '.assets[].browser_download_url | select(contains("docker-compose-Linux-x86_64"))' | head -1)
|
||||
|
||||
@@ -18,8 +17,3 @@ if ! command -v docker-compose; then
|
||||
echo "docker-compose was not installed"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
## Add version information to the metadata file
|
||||
echo "Documenting Docker Compose version"
|
||||
docker_compose_version=$(docker-compose -v)
|
||||
DocumentInstalledItem "Docker Compose (${docker_compose_version})"
|
||||
|
||||
@@ -6,7 +6,6 @@
|
||||
set -e
|
||||
|
||||
# Source the helpers for use with the script
|
||||
source $HELPER_SCRIPTS/document.sh
|
||||
source $HELPER_SCRIPTS/install.sh
|
||||
source $HELPER_SCRIPTS/os.sh
|
||||
|
||||
@@ -54,18 +53,3 @@ images=$(jq -r '.docker.images[]' $toolset)
|
||||
for image in $images; do
|
||||
docker pull "$image"
|
||||
done
|
||||
|
||||
# Add version information to the metadata file
|
||||
echo "Documenting Docker version"
|
||||
docker_version=$(docker -v)
|
||||
DocumentInstalledItem "Docker-Moby ($docker_version)"
|
||||
|
||||
echo "Documenting Docker-buildx version"
|
||||
DOCKER_BUILDX_VERSION=$(docker buildx version | cut -d ' ' -f2)
|
||||
DocumentInstalledItem "Docker-Buildx ($DOCKER_BUILDX_VERSION)"
|
||||
|
||||
# Add container information to the metadata file
|
||||
DocumentInstalledItem "Cached container images"
|
||||
while read -r line; do
|
||||
DocumentInstalledItemIndent "$line"
|
||||
done <<< "$(docker images --digests --format '{{.Repository}}:{{.Tag}} (Digest: {{.Digest}})')"
|
||||
|
||||
@@ -5,7 +5,6 @@
|
||||
################################################################################
|
||||
|
||||
source $HELPER_SCRIPTS/etc-environment.sh
|
||||
source $HELPER_SCRIPTS/document.sh
|
||||
source $HELPER_SCRIPTS/install.sh
|
||||
source $HELPER_SCRIPTS/os.sh
|
||||
|
||||
@@ -84,7 +83,6 @@ for tarball in *.tar.gz; do
|
||||
done
|
||||
rm urls
|
||||
|
||||
DocumentInstalledItem ".NET Core SDK:"
|
||||
# Smoke test each SDK
|
||||
for sdk in $sortedSdks; do
|
||||
mksamples "$sdk" "console"
|
||||
@@ -93,7 +91,6 @@ for sdk in $sortedSdks; do
|
||||
mksamples "$sdk" "web"
|
||||
mksamples "$sdk" "mvc"
|
||||
mksamples "$sdk" "webapi"
|
||||
DocumentInstalledItemIndent "$sdk"
|
||||
done
|
||||
|
||||
# NuGetFallbackFolder at /usr/share/dotnet/sdk/NuGetFallbackFolder is warmed up by smoke test
|
||||
|
||||
@@ -4,8 +4,6 @@
|
||||
## Desc: Installs erlang
|
||||
################################################################################
|
||||
|
||||
# Source the helpers for use with the script
|
||||
source $HELPER_SCRIPTS/document.sh
|
||||
|
||||
source_list=/etc/apt/sources.list.d/eslerlang.list
|
||||
|
||||
@@ -29,10 +27,5 @@ for cmd in erl erlc rebar3; do
|
||||
fi
|
||||
done
|
||||
|
||||
# Document what was added to the image
|
||||
echo "Lastly, documenting what we added to the metadata file"
|
||||
erlang_version="$(erl -version 2>&1 | tr -d '\n' | tr -d '\r')"
|
||||
DocumentInstalledItem "Erlang ($erlang_version)"
|
||||
|
||||
# Clean up source list
|
||||
rm $source_list
|
||||
|
||||
@@ -5,8 +5,6 @@
|
||||
## installer to the image
|
||||
################################################################################
|
||||
|
||||
# Source the helpers for use with the script
|
||||
source $HELPER_SCRIPTS/document.sh
|
||||
|
||||
# Test to see if the software in question is already installed, if not install it
|
||||
echo "Checking to see if the installer script has already been run"
|
||||
@@ -24,7 +22,3 @@ if [ -z $EXAMPLE_VAR ]; then
|
||||
else
|
||||
echo "EXAMPLE_VAR was set properly"
|
||||
fi
|
||||
|
||||
# Document what was added to the image
|
||||
echo "Lastly, documenting what we added to the metadata file"
|
||||
DocumentInstalledItem "Example Var ($EXAMPLE_VAR)"
|
||||
|
||||
@@ -4,8 +4,6 @@
|
||||
## Desc: Installs Firefox
|
||||
################################################################################
|
||||
|
||||
# Source the helpers for use with the script
|
||||
source $HELPER_SCRIPTS/document.sh
|
||||
|
||||
# Install Firefox
|
||||
apt-get install -y firefox
|
||||
@@ -20,13 +18,6 @@ fi
|
||||
# Default firefox local is en_GB
|
||||
echo 'pref("intl.locale.requested","en_US");' >> "/usr/lib/firefox/browser/defaults/preferences/syspref.js"
|
||||
|
||||
# Document what was added to the image
|
||||
echo "Lastly, documenting what we added to the metadata file"
|
||||
# Resolves: Running Firefox as root in a regular user's session is not supported.
|
||||
# ($HOME is /home/packer which is owned by packer.)
|
||||
HOME=/root
|
||||
DocumentInstalledItem "Firefox ($(firefox --version))"
|
||||
|
||||
# Download and unpack latest release of geckodriver
|
||||
URL=$(curl -s https://api.github.com/repos/mozilla/geckodriver/releases/latest | jq -r '.assets[].browser_download_url | select(test("linux64.tar.gz$"))')
|
||||
echo "Downloading geckodriver $URL"
|
||||
@@ -50,7 +41,3 @@ if ! command -v geckodriver; then
|
||||
echo "geckodriver was not installed"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
echo "Lastly, documenting what we added to the metadata file"
|
||||
ver=`geckodriver --version | head -1 |awk '{print $2}'`
|
||||
DocumentInstalledItem "Geckodriver (${ver}); Gecko Driver is available via GECKOWEBDRIVER environment variable"
|
||||
|
||||
@@ -4,8 +4,6 @@
|
||||
## Desc: Installs GNU C++
|
||||
################################################################################
|
||||
|
||||
# Source the helpers for use with the script
|
||||
source $HELPER_SCRIPTS/document.sh
|
||||
|
||||
function InstallGcc {
|
||||
version=$1
|
||||
@@ -19,10 +17,6 @@ function InstallGcc {
|
||||
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
|
||||
|
||||
@@ -4,8 +4,6 @@
|
||||
## Desc: Installs GNU Fortran
|
||||
################################################################################
|
||||
|
||||
# Source the helpers for use with the script
|
||||
source $HELPER_SCRIPTS/document.sh
|
||||
|
||||
function InstallFortran {
|
||||
version=$1
|
||||
@@ -19,10 +17,6 @@ function InstallFortran {
|
||||
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
|
||||
|
||||
@@ -6,7 +6,6 @@
|
||||
set -e
|
||||
|
||||
# Source the helpers for use with the script
|
||||
source "$HELPER_SCRIPTS"/document.sh
|
||||
source "$HELPER_SCRIPTS"/install.sh
|
||||
|
||||
## Install git
|
||||
@@ -39,14 +38,6 @@ if ! command -v git-ftp; then
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# Document what was added to the image
|
||||
echo "Lastly, document the installed versions"
|
||||
# git version 2.20.1
|
||||
DocumentInstalledItem "Git ($(git --version 2>&1 | cut -d ' ' -f 3))"
|
||||
# git-lfs/2.6.1 (GitHub; linux amd64; go 1.11.1)
|
||||
DocumentInstalledItem "Git Large File Storage (LFS) ($(git-lfs --version 2>&1 | cut -d ' ' -f 1 | cut -d '/' -f 2))"
|
||||
DocumentInstalledItem "Git-ftp ($(git-ftp --version | cut -d ' ' -f 3))"
|
||||
|
||||
#Install hub
|
||||
tmp_hub="/tmp/hub"
|
||||
mkdir -p "$tmp_hub"
|
||||
@@ -57,7 +48,6 @@ mv "$tmp_hub"/bin/hub /usr/local/bin
|
||||
|
||||
if command -v hub; then
|
||||
echo "hub CLI was installed successfully"
|
||||
DocumentInstalledItem "Hub CLI ($(hub --version | grep "hub version" | cut -d ' ' -f 3))"
|
||||
else
|
||||
echo "[!] Hub CLI was not installed"
|
||||
exit 1
|
||||
|
||||
@@ -5,8 +5,6 @@
|
||||
## 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"))')
|
||||
@@ -20,7 +18,3 @@ 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}')"
|
||||
|
||||
@@ -4,8 +4,6 @@
|
||||
## Desc: Installs google-chrome and chromedriver
|
||||
################################################################################
|
||||
|
||||
# Source the helpers for use with the script
|
||||
source $HELPER_SCRIPTS/document.sh
|
||||
|
||||
LSB_RELEASE=$(lsb_release -rs)
|
||||
|
||||
@@ -22,10 +20,6 @@ if ! command -v google-chrome; then
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# Document what was added to the image
|
||||
echo "Lastly, documenting what we added to the metadata file"
|
||||
DocumentInstalledItem "Google Chrome ($(google-chrome --version))"
|
||||
|
||||
CHROME_VERSION=$(google-chrome --product-version)
|
||||
CHROME_VERSION=${CHROME_VERSION%.*}
|
||||
|
||||
@@ -54,6 +48,3 @@ if ! command -v chromedriver; then
|
||||
echo "chromedriver was not installed"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
echo "Lastly, documenting what we added to the metadata file"
|
||||
DocumentInstalledItem "$(chromedriver --version); Chrome Driver is available via CHROMEWEBDRIVER environment variable"
|
||||
|
||||
@@ -4,8 +4,6 @@
|
||||
## Desc: Installs the Google Cloud SDK
|
||||
################################################################################
|
||||
|
||||
# Source the helpers
|
||||
source $HELPER_SCRIPTS/document.sh
|
||||
|
||||
# Install the Google Cloud SDK
|
||||
echo "deb [signed-by=/usr/share/keyrings/cloud.google.gpg] http://packages.cloud.google.com/apt cloud-sdk main" | sudo tee -a /etc/apt/sources.list.d/google-cloud-sdk.list
|
||||
@@ -19,7 +17,3 @@ if ! command -v gcloud; then
|
||||
echo "gcloud was not installed"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# Document the installed version
|
||||
echo "Document the installed version"
|
||||
DocumentInstalledItem "Google Cloud SDK ($(gcloud --version | head -n 1 | cut -d ' ' -f 4))"
|
||||
|
||||
@@ -6,7 +6,6 @@
|
||||
|
||||
# Source the helpers for use with the script
|
||||
source $HELPER_SCRIPTS/etc-environment.sh
|
||||
source $HELPER_SCRIPTS/document.sh
|
||||
|
||||
# Install Herbert V. Riedel's PPA for managing multiple version of ghc on ubuntu.
|
||||
# https://launchpad.net/~hvr/+archive/ubuntu/ghc
|
||||
@@ -58,9 +57,3 @@ fi
|
||||
# Create symlink for ghc and cabal in /usr/bin
|
||||
ln -s "/opt/ghc/$defaultGHCVersion/bin/ghc" "/usr/bin/ghc"
|
||||
ln -s "/opt/cabal/$cabalVersion/bin/cabal" "/usr/bin/cabal"
|
||||
|
||||
# Document what was added to the image
|
||||
echo "Lastly, documenting what we added to the metadata file"
|
||||
DocumentInstalledItem "Haskell Cabal ($(cabal --version))"
|
||||
DocumentInstalledItem "GHC ($(ghc --version))"
|
||||
DocumentInstalledItem "Haskell Stack ($(stack --version))"
|
||||
|
||||
@@ -4,8 +4,6 @@
|
||||
## Desc: Installs Heroku CLI
|
||||
################################################################################
|
||||
|
||||
# Source the helpers for use with the script
|
||||
source $HELPER_SCRIPTS/document.sh
|
||||
|
||||
# Install Heroku CLI
|
||||
curl https://cli-assets.heroku.com/install-ubuntu.sh | sh
|
||||
@@ -15,7 +13,3 @@ echo "Testing to make sure that script performed as expected, and basic scenario
|
||||
if ! command -v heroku; then
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# Document what was added to the image
|
||||
echo "Lastly, documenting what we added to the metadata file"
|
||||
DocumentInstalledItem "Heroku ($(heroku version))"
|
||||
|
||||
@@ -5,7 +5,6 @@
|
||||
################################################################################
|
||||
|
||||
# Source the helpers for use with the script
|
||||
source $HELPER_SCRIPTS/document.sh
|
||||
source $HELPER_SCRIPTS/install.sh
|
||||
|
||||
hhvm_package=hhvm
|
||||
@@ -31,7 +30,3 @@ fi
|
||||
if ! command -v hhvm; then
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# Document what was added to the image
|
||||
echo "Lastly, documenting what we added to the metadata file"
|
||||
DocumentInstalledItem "HHVM ($(hhvm --version | head -n 1))"
|
||||
|
||||
@@ -6,7 +6,6 @@
|
||||
################################################################################
|
||||
|
||||
# Source the helpers
|
||||
source $HELPER_SCRIPTS/document.sh
|
||||
source $HELPER_SCRIPTS/etc-environment.sh
|
||||
|
||||
# Install the Homebrew on Linux
|
||||
@@ -31,7 +30,3 @@ if ! command -v brew; then
|
||||
echo "brew was not installed"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# Document the installed version
|
||||
echo "Document the installed version"
|
||||
DocumentInstalledItem "Homebrew on Linux ($(brew -v 2>&1))"
|
||||
|
||||
@@ -4,8 +4,6 @@
|
||||
## Desc: Downloads and installs hosted tools cache
|
||||
################################################################################
|
||||
|
||||
# Source the helpers for use with the script
|
||||
source $HELPER_SCRIPTS/document.sh
|
||||
|
||||
# Fail out if any setups fail
|
||||
set -e
|
||||
@@ -43,9 +41,3 @@ for PACKAGE_NAME in ${PACKAGE_LIST[@]}; do
|
||||
done;
|
||||
|
||||
popd
|
||||
|
||||
DocumentInstalledItem "Ruby:"
|
||||
rubys=$(ls $AGENT_TOOLSDIRECTORY/Ruby)
|
||||
for ruby in $rubys; do
|
||||
DocumentInstalledItemIndent "Ruby $ruby"
|
||||
done;
|
||||
|
||||
@@ -4,8 +4,6 @@
|
||||
## Desc: Installs ImageMagick
|
||||
################################################################################
|
||||
|
||||
# Source the helpers for use with the script
|
||||
source $HELPER_SCRIPTS/document.sh
|
||||
|
||||
# Install ImageMagick
|
||||
apt-get install -y --no-install-recommends --fix-missing \
|
||||
@@ -13,7 +11,3 @@ apt-get install -y --no-install-recommends --fix-missing \
|
||||
libmagickcore-dev \
|
||||
libmagickwand-dev \
|
||||
libmagic-dev
|
||||
|
||||
# Document what was added to the image
|
||||
echo "Lastly, documenting what we added to the metadata file"
|
||||
DocumentInstalledItem "ImageMagick"
|
||||
|
||||
@@ -4,8 +4,6 @@
|
||||
## 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
|
||||
@@ -103,19 +101,3 @@ javaVersion=$(java -version |& head -n 1 | cut -d\" -f 2)
|
||||
javaTool "Java" $javaVersion
|
||||
javacVersion=$(javac -version |& cut -d" " -f2)
|
||||
javaTool "Javac" $javacVersion
|
||||
|
||||
# Document what was added to the image
|
||||
echo "Lastly, documenting what we added to the metadata file"
|
||||
if isUbuntu16 || isUbuntu18 ; then
|
||||
DocumentInstalledItem "Azul Zulu OpenJDK:"
|
||||
DocumentInstalledItemIndent "7 ($(/usr/lib/jvm/zulu-7-azure-amd64/bin/java -showversion |& head -n 1))"
|
||||
fi
|
||||
DocumentInstalledItem "Adopt OpenJDK:"
|
||||
DocumentInstalledItemIndent "8 ($(/usr/lib/jvm/adoptopenjdk-8-hotspot-amd64/bin/java -showversion |& head -n 1)) $defaultLabel8"
|
||||
DocumentInstalledItemIndent "11 ($(/usr/lib/jvm/adoptopenjdk-11-hotspot-amd64/bin/java -showversion |& head -n 1)) $defaultLabel11"
|
||||
if isUbuntu16 || isUbuntu18 ; then
|
||||
DocumentInstalledItemIndent "12 ($(/usr/lib/jvm/adoptopenjdk-12-hotspot-amd64/bin/java -showversion |& head -n 1))"
|
||||
fi
|
||||
DocumentInstalledItem "Ant ($(ant -version))"
|
||||
DocumentInstalledItem "Gradle ${gradleVersion}"
|
||||
DocumentInstalledItem "Maven ($(mvn -version | head -n 1))"
|
||||
|
||||
@@ -4,8 +4,6 @@
|
||||
## Desc: Installs Julia, and adds Julia to the path
|
||||
################################################################################
|
||||
|
||||
# Source the helpers for use with the script
|
||||
source $HELPER_SCRIPTS/document.sh
|
||||
|
||||
# This function fetches the latest Julia release from the GitHub API
|
||||
# Based on https://gist.github.com/lukechilds/a83e1d7127b78fef38c2914c4ececc3c
|
||||
@@ -54,10 +52,6 @@ function InstallJulia () {
|
||||
echo "Julia was not installed correctly"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# Document what was added to the image
|
||||
echo "Lastly, documenting what we added to the metadata file"
|
||||
DocumentInstalledItem "Julia ($(julia --version))"
|
||||
}
|
||||
|
||||
InstallJulia "$(GetLatestJuliaRelease)" true
|
||||
|
||||
@@ -4,8 +4,6 @@
|
||||
## Desc: Installs kind
|
||||
################################################################################
|
||||
|
||||
# Source the helpers for use with the script
|
||||
source $HELPER_SCRIPTS/document.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"))')
|
||||
@@ -18,7 +16,3 @@ if ! command -v kind; then
|
||||
echo "Kind was not installed or found on PATH"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# Document what was added to the image
|
||||
echo "Lastly, documenting what we added to the metadata file"
|
||||
DocumentInstalledItem "Kind ($(kind version))"
|
||||
|
||||
@@ -4,8 +4,6 @@
|
||||
## Desc: Installs kubectl, helm, kustomize
|
||||
################################################################################
|
||||
|
||||
# Source the helpers for use with the script
|
||||
source $HELPER_SCRIPTS/document.sh
|
||||
|
||||
## Install kubectl
|
||||
curl -s https://packages.cloud.google.com/apt/doc/apt-key.gpg | apt-key add -
|
||||
@@ -52,12 +50,3 @@ if ! command -v kustomize; then
|
||||
echo "kustomize was not installed"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# Document what was added to the image
|
||||
echo "Lastly, documenting what we added to the metadata file"
|
||||
DocumentInstalledItem "kubectl ($(kubectl version --client --short |& head -n 1))"
|
||||
DocumentInstalledItem "helm ($(helm version --short |& head -n 1))"
|
||||
# minikube version output already has word minikube in it. example minikube version: v1.9.2
|
||||
DocumentInstalledItem "$(minikube version --short)"
|
||||
# kustomize version output has "{} in it". example {kustomize/v3.8.1 2020-07-16T00:58:46Z }
|
||||
DocumentInstalledItem "kustomize ($(kustomize version --short))"
|
||||
|
||||
@@ -4,8 +4,6 @@
|
||||
## Desc: Installs Leiningen
|
||||
################################################################################
|
||||
|
||||
# Source the helpers for use with the script
|
||||
source $HELPER_SCRIPTS/document.sh
|
||||
|
||||
set -e
|
||||
|
||||
@@ -29,7 +27,3 @@ if ! command -v lein; then
|
||||
else
|
||||
lein new app testapp && rm -rf testapp
|
||||
fi
|
||||
|
||||
# Document what was added to the image
|
||||
echo "Lastly, documenting what we added to the metadata file"
|
||||
DocumentInstalledItem "Leiningen ($(lein -v))"
|
||||
|
||||
@@ -5,7 +5,6 @@
|
||||
################################################################################
|
||||
|
||||
# Source the helpers for use with the script
|
||||
source $HELPER_SCRIPTS/document.sh
|
||||
source $HELPER_SCRIPTS/os.sh
|
||||
|
||||
if isUbuntu16 ; then
|
||||
@@ -22,7 +21,3 @@ echo "Testing to make sure that script performed as expected, and basic scenario
|
||||
if ! command -v hg; then
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# Document what was added to the image
|
||||
echo "Lastly, documenting what we added to the metadata file"
|
||||
DocumentInstalledItem "Mercurial ($(hg --version | head -n 1))"
|
||||
|
||||
@@ -4,8 +4,6 @@
|
||||
## Desc: Installs miniconda
|
||||
################################################################################
|
||||
|
||||
# Source the helpers for use with the script
|
||||
source $HELPER_SCRIPTS/document.sh
|
||||
|
||||
# Install Miniconda
|
||||
curl -sL https://repo.continuum.io/miniconda/Miniconda3-latest-Linux-x86_64.sh -o miniconda.sh \
|
||||
@@ -17,7 +15,3 @@ CONDA=/usr/share/miniconda
|
||||
echo "CONDA=$CONDA" | tee -a /etc/environment
|
||||
|
||||
ln -s $CONDA/bin/conda /usr/bin/conda
|
||||
|
||||
# Document what was added to the image
|
||||
echo "Lastly, documenting what we added to the metadata file"
|
||||
DocumentInstalledItem "Miniconda ($($CONDA/bin/conda --version))"
|
||||
|
||||
@@ -6,7 +6,6 @@
|
||||
|
||||
# Source the helpers
|
||||
source $HELPER_SCRIPTS/os.sh
|
||||
source $HELPER_SCRIPTS/document.sh
|
||||
|
||||
# Install Mongo DB
|
||||
wget -qO - https://www.mongodb.org/static/pgp/server-4.4.asc | sudo apt-key add -
|
||||
@@ -21,7 +20,3 @@ if ! command -v mongod; then
|
||||
echo "mongodb was not installed"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# Document the installed version
|
||||
echo "Document the installed version"
|
||||
DocumentInstalledItem "MongoDB on Linux $(mongod --version | awk 'NR==1{print $3}')"
|
||||
|
||||
@@ -4,8 +4,6 @@
|
||||
## Desc: Installs Mono
|
||||
################################################################################
|
||||
|
||||
# Source the helpers for use with the script
|
||||
source $HELPER_SCRIPTS/document.sh
|
||||
|
||||
LSB_CODENAME=$(lsb_release -cs)
|
||||
|
||||
@@ -27,8 +25,3 @@ if ! command -v nuget; then
|
||||
echo "nuget was not installed"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# Document what was added to the image
|
||||
echo "Lastly, documenting what we added to the metadata file"
|
||||
DocumentInstalledItem "Mono ($(mono --version | head -n 1))"
|
||||
DocumentInstalledItem "NuGet ($(nuget | tail -n +1 | head -n 1))" # Pipe to tail before piping to head because NuGet prints an ugly error if you close its stream before it's done writing.
|
||||
|
||||
@@ -4,8 +4,6 @@
|
||||
## Desc: Installs MySQL Client
|
||||
################################################################################
|
||||
|
||||
## Source the helpers for use with the script
|
||||
source $HELPER_SCRIPTS/document.sh
|
||||
|
||||
export ACCEPT_EULA=Y
|
||||
|
||||
@@ -51,13 +49,6 @@ mysql -vvv -e 'CREATE DATABASE smoke_test' -uroot -proot
|
||||
mysql -vvv -e 'DROP DATABASE smoke_test' -uroot -proot
|
||||
set +e
|
||||
|
||||
# Document what was added to the image
|
||||
echo "Lastly, documenting what we added to the metadata file"
|
||||
DocumentInstalledItem "MySQL ($(mysql --version))"
|
||||
DocumentInstalledItem "MySQL Server (user:root password:root)"
|
||||
DocumentInstalledItem "MS SQL Server Client Tools"
|
||||
DocumentInstalledItem "MySQL service is disabled by default. Use the following command as a part of your job to start the service: 'sudo systemctl start mysql.service'"
|
||||
|
||||
# Disable mysql.service
|
||||
systemctl is-active --quiet mysql.service && systemctl stop mysql.service
|
||||
systemctl disable mysql.service
|
||||
|
||||
@@ -4,8 +4,6 @@
|
||||
## Desc: Installs the Netlify CLI
|
||||
################################################################################
|
||||
|
||||
# Source the helpers for use with the script
|
||||
source $HELPER_SCRIPTS/document.sh
|
||||
|
||||
# Install the Netlify CLI
|
||||
npm i -g netlify-cli
|
||||
@@ -16,7 +14,3 @@ if ! command -v netlify; then
|
||||
echo "Netlify CLI was not installed"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# Document the installed version
|
||||
echo "Document the installed version"
|
||||
DocumentInstalledItem "Netlify CLI ($(netlify --version))"
|
||||
|
||||
@@ -4,8 +4,6 @@
|
||||
## Desc: Installs Node.js LTS and related tooling (Gulp, Grunt)
|
||||
################################################################################
|
||||
|
||||
# Source the helpers for use with the script
|
||||
source $HELPER_SCRIPTS/document.sh
|
||||
|
||||
# Install LTS Node.js and related build tools
|
||||
curl -sL https://raw.githubusercontent.com/mklement0/n-install/stable/bin/n-install | bash -s -- -ny -
|
||||
@@ -31,16 +29,3 @@ for cmd in node grunt gulp webpack parcel yarn newman; do
|
||||
exit 1
|
||||
fi
|
||||
done
|
||||
|
||||
# Document what was added to the image
|
||||
echo "Lastly, documenting what we added to the metadata file"
|
||||
DocumentInstalledItem "Node.js ($(node --version))"
|
||||
DocumentInstalledItem "Grunt ($(grunt --version))"
|
||||
DocumentInstalledItem "Gulp ($(gulp --version))"
|
||||
DocumentInstalledItem "n ($(n --version))"
|
||||
DocumentInstalledItem "Parcel ($(parcel --version))"
|
||||
DocumentInstalledItem "TypeScript ($(tsc --version))"
|
||||
DocumentInstalledItem "Webpack ($(webpack --version))"
|
||||
DocumentInstalledItem "Webpack CLI ($(webpack-cli --version))"
|
||||
DocumentInstalledItem "Yarn ($(yarn --version))"
|
||||
DocumentInstalledItem "Newman ($(newman --version))"
|
||||
|
||||
@@ -4,8 +4,6 @@
|
||||
## Desc: Installs Nvm
|
||||
################################################################################
|
||||
|
||||
# Source the helpers for use with the script
|
||||
source $HELPER_SCRIPTS/document.sh
|
||||
|
||||
export NVM_DIR="/etc/skel/.nvm"
|
||||
mkdir $NVM_DIR
|
||||
@@ -21,5 +19,3 @@ fi
|
||||
|
||||
# set system node.js as default one
|
||||
nvm alias default system
|
||||
|
||||
DocumentInstalledItem "nvm ($(nvm --version))"
|
||||
@@ -4,8 +4,7 @@
|
||||
## Desc: Installs the OC CLI
|
||||
################################################################################
|
||||
|
||||
# Source the helpers
|
||||
source $HELPER_SCRIPTS/document.sh
|
||||
|
||||
# Install the oc CLI
|
||||
curl "https://mirror.openshift.com/pub/openshift-v4/clients/oc/latest/linux/oc.tar.gz" > oc.tar.gz
|
||||
tar xvzf oc.tar.gz
|
||||
@@ -18,7 +17,3 @@ if ! command -v oc; then
|
||||
echo "oc was not installed"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# Document the installed version
|
||||
echo "Document the installed version"
|
||||
DocumentInstalledItem "oc CLI $(oc version)"
|
||||
|
||||
@@ -4,8 +4,6 @@
|
||||
## Desc: Installs ORAS CLI
|
||||
################################################################################
|
||||
|
||||
# Source the helpers for use with the script
|
||||
source $HELPER_SCRIPTS/document.sh
|
||||
source $HELPER_SCRIPTS/install.sh
|
||||
|
||||
# Determine latest ORAS CLI version
|
||||
@@ -24,7 +22,3 @@ if ! oras version; then
|
||||
echo "ORAS 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 "ORAS CLI $(oras version | awk 'NR==1{print $2}')"
|
||||
@@ -3,8 +3,7 @@
|
||||
## File: packer.sh
|
||||
## Desc: Installs packer
|
||||
################################################################################
|
||||
# Source the helpers for use with the script
|
||||
source $HELPER_SCRIPTS/document.sh
|
||||
|
||||
|
||||
# Install Packer
|
||||
PACKER_VERSION=$(curl -s https://checkpoint-api.hashicorp.com/v1/check/packer | jq -r .current_version)
|
||||
@@ -18,7 +17,3 @@ if ! command -v packer; then
|
||||
echo "Packer was not installed or found on PATH"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# Document what was added to the image
|
||||
echo "Lastly, documenting what we added to the metadata file"
|
||||
DocumentInstalledItem "Packer ($(packer --version))"
|
||||
|
||||
@@ -6,9 +6,6 @@
|
||||
|
||||
set -e
|
||||
|
||||
# Source the helpers for use with the script
|
||||
source $HELPER_SCRIPTS/document.sh
|
||||
|
||||
# Install PhantomJS
|
||||
apt-get install -y chrpath libssl-dev libxft-dev libfreetype6 libfreetype6-dev libfontconfig1 libfontconfig1-dev
|
||||
PHANTOM_JS=phantomjs-2.1.1-linux-x86_64
|
||||
@@ -23,7 +20,3 @@ if ! command -v phantomjs; then
|
||||
echo "phantomjs was not installed"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# Document what was added to the image
|
||||
echo "Lastly, documenting what we added to the metadata file"
|
||||
DocumentInstalledItem "PhantomJS ($(phantomjs --version))"
|
||||
|
||||
@@ -6,7 +6,6 @@
|
||||
|
||||
# Source the helpers for use with the script
|
||||
source $HELPER_SCRIPTS/etc-environment.sh
|
||||
source $HELPER_SCRIPTS/document.sh
|
||||
source $HELPER_SCRIPTS/os.sh
|
||||
|
||||
set -e
|
||||
@@ -127,24 +126,9 @@ for cmd in php $php_versions composer phpunit; do
|
||||
fi
|
||||
done
|
||||
|
||||
# Document what was added to the image
|
||||
echo "Lastly, documenting what we added to the metadata file"
|
||||
|
||||
for version in $php_versions; do
|
||||
DocumentInstalledItem "PHP $version ($(php$version --version | head -n 1))"
|
||||
done
|
||||
|
||||
# ubuntu 20.04 libzip-dev is libzip5 based and is not compatible libzip-dev of ppa:ondrej/php
|
||||
# see https://github.com/actions/virtual-environments/issues/1084
|
||||
if isUbuntu20 ; then
|
||||
rm /etc/apt/sources.list.d/ondrej-ubuntu-php-focal.list
|
||||
apt-get update
|
||||
AddBlockquote "To use ppa:ondrej/php APT repository On Ubuntu 20.04 it is necessary to add it to the APT sources"
|
||||
StartCode
|
||||
WriteItem "apt-add-repository ppa:ondrej/php -y"
|
||||
WriteItem "apt-get update"
|
||||
EndCode
|
||||
fi
|
||||
|
||||
DocumentInstalledItem "Composer ($(composer --version))"
|
||||
DocumentInstalledItem "PHPUnit ($(phpunit --version))"
|
||||
|
||||
@@ -4,8 +4,6 @@
|
||||
## Desc: Installs Pollinate
|
||||
################################################################################
|
||||
|
||||
# Source the helpers for use with the script
|
||||
source $HELPER_SCRIPTS/document.sh
|
||||
|
||||
# Install Pollinate
|
||||
apt-get install -y --no-install-recommends pollinate
|
||||
@@ -16,7 +14,3 @@ if ! command -v pollinate; then
|
||||
echo "pollinate was not installed"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# Document what was added to the image
|
||||
echo "Lastly, documenting what we added to the metadata file"
|
||||
DocumentInstalledItem "Pollinate"
|
||||
|
||||
@@ -4,8 +4,6 @@
|
||||
## Desc: Installs Postgresql
|
||||
################################################################################
|
||||
|
||||
# Source the helpers for use with the script
|
||||
source $HELPER_SCRIPTS/document.sh
|
||||
|
||||
#Preparing repo for PostgreSQL 12.
|
||||
wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | apt-key add -
|
||||
@@ -25,8 +23,6 @@ apt-get install libpq-dev
|
||||
# connection timeout - 2
|
||||
pg_isready
|
||||
|
||||
DocumentInstalledItem "$(psql -V 2>&1 | cut -d ' ' -f 1,2,3)"
|
||||
|
||||
# Disable postgresql.service
|
||||
systemctl is-active --quiet postgresql.service && systemctl stop postgresql.service
|
||||
systemctl disable postgresql.service
|
||||
@@ -5,7 +5,6 @@
|
||||
################################################################################
|
||||
|
||||
# Source the helpers for use with the script
|
||||
source $HELPER_SCRIPTS/document.sh
|
||||
source $HELPER_SCRIPTS/os.sh
|
||||
|
||||
# Install Powershell
|
||||
@@ -27,7 +26,3 @@ if ! pwsh -c 'Write-Host Hello world'; then
|
||||
echo "pwsh failed to run"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# Document what was added to the image
|
||||
echo "Lastly, documenting what we added to the metadata file"
|
||||
DocumentInstalledItem "Powershell ($(pwsh --version))"
|
||||
|
||||
@@ -1,20 +0,0 @@
|
||||
#!/bin/bash
|
||||
################################################################################
|
||||
## File: preparemetadata.sh
|
||||
## Desc: This script adds a image title information to the metadata
|
||||
## document
|
||||
################################################################################
|
||||
|
||||
source $HELPER_SCRIPTS/document.sh
|
||||
|
||||
WriteItem "<!--- DO NOT EDIT - This markdown file is autogenerated. -->"
|
||||
|
||||
if [ -n "$ANNOUNCEMENTS" ]; then
|
||||
WriteItem "$ANNOUNCEMENTS"
|
||||
WriteItem "***"
|
||||
fi
|
||||
|
||||
|
||||
AddTitle "$(lsb_release -ds)"
|
||||
WriteItem "The following software is installed on machines with the $IMAGE_VERSION update."
|
||||
WriteItem "***"
|
||||
@@ -5,7 +5,6 @@
|
||||
################################################################################
|
||||
|
||||
# Source the helpers for use with the script
|
||||
source $HELPER_SCRIPTS/document.sh
|
||||
source $HELPER_SCRIPTS/install.sh
|
||||
|
||||
# Install Pulumi
|
||||
@@ -20,7 +19,3 @@ if ! command -v pulumi ; then
|
||||
echo "Pulumi was not installed"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# Document what was added to the image
|
||||
echo "Lastly, documenting what we added to the metadata file"
|
||||
DocumentInstalledItem "Pulumi $(pulumi version)"
|
||||
|
||||
@@ -4,8 +4,6 @@
|
||||
## Desc: Installs PyPy
|
||||
################################################################################
|
||||
|
||||
# Source the helpers for use with the script
|
||||
source $HELPER_SCRIPTS/document.sh
|
||||
source $HELPER_SCRIPTS/install.sh
|
||||
|
||||
# This function installs PyPy using the specified arguments:
|
||||
|
||||
@@ -5,7 +5,6 @@
|
||||
################################################################################
|
||||
|
||||
# Source the helpers for use with the script
|
||||
source $HELPER_SCRIPTS/document.sh
|
||||
source $HELPER_SCRIPTS/os.sh
|
||||
|
||||
# Install Python, Python 3, pip, pip3
|
||||
@@ -28,10 +27,3 @@ for cmd in python pip python3 pip3; do
|
||||
exit 1
|
||||
fi
|
||||
done
|
||||
|
||||
# Document what was added to the image
|
||||
echo "Lastly, documenting what we added to the metadata file"
|
||||
DocumentInstalledItem "Python ($(python --version 2>&1))"
|
||||
DocumentInstalledItem "pip ($(pip --version))"
|
||||
DocumentInstalledItem "Python3 ($(python3 --version))"
|
||||
DocumentInstalledItem "pip3 ($(pip3 --version))"
|
||||
@@ -1,7 +1,6 @@
|
||||
#!/bin/bash
|
||||
|
||||
# Source the helpers for use with the script
|
||||
source $HELPER_SCRIPTS/document.sh
|
||||
source $HELPER_SCRIPTS/os.sh
|
||||
|
||||
# install R
|
||||
@@ -13,5 +12,3 @@ sudo add-apt-repository "deb https://cloud.r-project.org/bin/linux/ubuntu $osLab
|
||||
sudo apt update
|
||||
sudo apt install r-base
|
||||
version=$(R --version | grep "R version" | cut -d " " -f 3)
|
||||
|
||||
DocumentInstalledItem "R $version"
|
||||
|
||||
@@ -4,8 +4,6 @@
|
||||
## Desc: Install random number generator
|
||||
################################################################################
|
||||
|
||||
# Source the helpers for use with the script
|
||||
source $HELPER_SCRIPTS/document.sh
|
||||
|
||||
# Install haveged
|
||||
apt-get -y install haveged
|
||||
@@ -18,7 +16,3 @@ for cmd in haveged; do
|
||||
exit 1
|
||||
fi
|
||||
done
|
||||
|
||||
# Document what was added to the image
|
||||
echo "Lastly, documenting what we added to the metadata file"
|
||||
DocumentInstalledItem "Haveged $(dpkg-query --showformat='${Version}' --show haveged)"
|
||||
@@ -4,16 +4,9 @@
|
||||
## Desc: Installs Ruby requirements
|
||||
################################################################################
|
||||
|
||||
# Source the helpers for use with the script
|
||||
source $HELPER_SCRIPTS/document.sh
|
||||
|
||||
sudo apt-get install ruby-full
|
||||
sudo gem update --system
|
||||
|
||||
# Install Ruby requirements
|
||||
apt-get install -y libz-dev openssl libssl-dev
|
||||
|
||||
DocumentInstalledItem "ruby ($(ruby --version 2>&1 | cut -d ' ' -f 2))"
|
||||
DocumentInstalledItem "gem ($(gem -v 2>&1 | tail -n 1))"
|
||||
DocumentInstalledItem "$(openssl version)"
|
||||
DocumentInstalledItem "Libssl $(dpkg -l libssl-dev | grep '^ii' | awk '{print $3}')"
|
||||
|
||||
@@ -6,7 +6,6 @@
|
||||
|
||||
# Source the helpers for use with the script
|
||||
source $HELPER_SCRIPTS/etc-environment.sh
|
||||
source $HELPER_SCRIPTS/document.sh
|
||||
|
||||
export RUSTUP_HOME=/usr/share/rust/.rustup
|
||||
export CARGO_HOME=/usr/share/rust/.cargo
|
||||
@@ -45,16 +44,3 @@ pushd /etc/skel
|
||||
ln -sf $RUSTUP_HOME .rustup
|
||||
ln -sf $CARGO_HOME .cargo
|
||||
popd
|
||||
|
||||
# Document what was added to the image
|
||||
echo "Lastly, document what was added to the metadata file"
|
||||
DocumentInstalledItem "rustup ($(rustup --version 2>&1 | cut -d ' ' -f 2))"
|
||||
DocumentInstalledItem "rust ($(rustc --version 2>&1 | cut -d ' ' -f 2))"
|
||||
DocumentInstalledItem "cargo ($(cargo --version 2>&1 | cut -d ' ' -f 2))"
|
||||
DocumentInstalledItem "rustfmt ($(rustfmt --version 2>&1 | cut -d ' ' -f 2))"
|
||||
DocumentInstalledItem "clippy ($(cargo-clippy --version 2>&1 | cut -d ' ' -f 2))"
|
||||
DocumentInstalledItem "rustdoc ($(rustdoc --version 2>&1 | cut -d ' ' -f 2))"
|
||||
DocumentInstalledItem "bindgen ($(bindgen --version 2>&1 | cut -d ' ' -f 2))"
|
||||
DocumentInstalledItem "cbindgen ($(cbindgen --version 2>&1 | cut -d ' ' -f 2))"
|
||||
DocumentInstalledItem "cargo audit ($(cargo audit --version 2>&1 | cut -d ' ' -f 2))"
|
||||
DocumentInstalledItem "cargo outdated ($(cargo outdated --version 2>&1 | cut -d ' ' -f 2))"
|
||||
@@ -4,8 +4,6 @@
|
||||
## Desc: Installs sbt
|
||||
################################################################################
|
||||
|
||||
# Source the helpers for use with the script
|
||||
source $HELPER_SCRIPTS/document.sh
|
||||
|
||||
# Install sbt
|
||||
# https://www.scala-sbt.org/1.x/docs/Installing-sbt-on-Linux.html
|
||||
@@ -13,7 +11,3 @@ echo "deb https://dl.bintray.com/sbt/debian /" | sudo tee -a /etc/apt/sources.li
|
||||
curl -sL "https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x2EE0EA64E40A89B84B2DF73499E82A75642AC823" | apt-key add
|
||||
apt-get -q update
|
||||
apt-get -y install sbt
|
||||
|
||||
# Document what was added to the image
|
||||
echo "Lastly, documenting what we added to the metadata file"
|
||||
DocumentInstalledItem "sbt ($(sbt --script-version))"
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user