mirror of
https://github.com/actions/runner-images-sangeeth.git
synced 2025-12-10 19:50:37 +00:00
Ubuntu 20 Deprecation changes (#11748)
* Ubuntu 20 Deprecation updates * Updating .md files * Update announcement.yml * Update bug-report.yml * Update tool-request.yml * Updating merge conflicts * Updating .md files * Updating merge conflicts * Resolved merge conflicts --------- Co-authored-by: Prabhat kumar <prabhatkumar59@Prabhats-Laptop.local>
This commit is contained in:
1
.github/ISSUE_TEMPLATE/announcement.yml
vendored
1
.github/ISSUE_TEMPLATE/announcement.yml
vendored
@@ -36,7 +36,6 @@ body:
|
|||||||
attributes:
|
attributes:
|
||||||
label: Runner images affected
|
label: Runner images affected
|
||||||
options:
|
options:
|
||||||
- label: Ubuntu 20.04
|
|
||||||
- label: Ubuntu 22.04
|
- label: Ubuntu 22.04
|
||||||
- label: Ubuntu 24.04
|
- label: Ubuntu 24.04
|
||||||
- label: macOS 13
|
- label: macOS 13
|
||||||
|
|||||||
1
.github/ISSUE_TEMPLATE/bug-report.yml
vendored
1
.github/ISSUE_TEMPLATE/bug-report.yml
vendored
@@ -19,7 +19,6 @@ body:
|
|||||||
attributes:
|
attributes:
|
||||||
label: Runner images affected
|
label: Runner images affected
|
||||||
options:
|
options:
|
||||||
- label: Ubuntu 20.04
|
|
||||||
- label: Ubuntu 22.04
|
- label: Ubuntu 22.04
|
||||||
- label: Ubuntu 24.04
|
- label: Ubuntu 24.04
|
||||||
- label: macOS 13
|
- label: macOS 13
|
||||||
|
|||||||
1
.github/ISSUE_TEMPLATE/tool-request.yml
vendored
1
.github/ISSUE_TEMPLATE/tool-request.yml
vendored
@@ -57,7 +57,6 @@ body:
|
|||||||
attributes:
|
attributes:
|
||||||
label: Runner images where you need the tool
|
label: Runner images where you need the tool
|
||||||
options:
|
options:
|
||||||
- label: Ubuntu 20.04
|
|
||||||
- label: Ubuntu 22.04
|
- label: Ubuntu 22.04
|
||||||
- label: Ubuntu 24.04
|
- label: Ubuntu 24.04
|
||||||
- label: macOS 13
|
- label: macOS 13
|
||||||
|
|||||||
20
.github/workflows/ubuntu2004.yml
vendored
20
.github/workflows/ubuntu2004.yml
vendored
@@ -1,20 +0,0 @@
|
|||||||
name: Trigger Ubuntu20.04 CI
|
|
||||||
run-name: Ubuntu20.04 - ${{ github.event.pull_request.title }}
|
|
||||||
|
|
||||||
on:
|
|
||||||
pull_request_target:
|
|
||||||
types: labeled
|
|
||||||
paths:
|
|
||||||
- 'images/ubuntu/**'
|
|
||||||
|
|
||||||
defaults:
|
|
||||||
run:
|
|
||||||
shell: pwsh
|
|
||||||
|
|
||||||
jobs:
|
|
||||||
Ubuntu_2004:
|
|
||||||
if: github.event.label.name == 'CI ubuntu-all' || github.event.label.name == 'CI ubuntu-2004'
|
|
||||||
uses: ./.github/workflows/trigger-ubuntu-win-build.yml
|
|
||||||
with:
|
|
||||||
image_type: 'ubuntu2004'
|
|
||||||
secrets: inherit
|
|
||||||
@@ -53,7 +53,7 @@ Add `Invoke-PesterTests -TestFile <testFileName> [-TestName <describeName>]` at
|
|||||||
Use existing scripts such as [github-cli.sh](images/ubuntu/scripts/build/github-cli.sh) as a starting point.
|
Use existing scripts such as [github-cli.sh](images/ubuntu/scripts/build/github-cli.sh) as a starting point.
|
||||||
- Use [helpers](images/ubuntu/scripts/helpers/install.sh) to simplify the installation process.
|
- Use [helpers](images/ubuntu/scripts/helpers/install.sh) to simplify the installation process.
|
||||||
- The validation part should `exit 1` if there is any issue with the installation.
|
- The validation part should `exit 1` if there is any issue with the installation.
|
||||||
- Add changes to the software report generator `images/ubuntu/scripts/docs-gen/Generate-SoftwareReport.ps1`. The software report generator is used to generate an image's README file, e.g. [Ubuntu2004-Readme.md](images/ubuntu/Ubuntu2004-README.md) and it uses [MarkdownPS](https://github.com/Sarafian/MarkdownPS).
|
- Add changes to the software report generator `images/ubuntu/scripts/docs-gen/Generate-SoftwareReport.ps1`. The software report generator is used to generate an image's README file, e.g. [Ubuntu2204-Readme.md](images/ubuntu/Ubuntu2204-Readme.md) and it uses [MarkdownPS](https://github.com/Sarafian/MarkdownPS).
|
||||||
|
|
||||||
### macOS
|
### macOS
|
||||||
|
|
||||||
|
|||||||
@@ -22,9 +22,12 @@ To build a VM machine from this repo's source, see the [instructions](docs/creat
|
|||||||
| --------------------|---------------------|--------------------|--------------------|
|
| --------------------|---------------------|--------------------|--------------------|
|
||||||
| Ubuntu 24.04 | `ubuntu-latest` or `ubuntu-24.04` | [ubuntu-24.04] |  |
|
| Ubuntu 24.04 | `ubuntu-latest` or `ubuntu-24.04` | [ubuntu-24.04] |  |
|
||||||
| Ubuntu 22.04 | `ubuntu-22.04` | [ubuntu-22.04] |  |
|
| Ubuntu 22.04 | `ubuntu-22.04` | [ubuntu-22.04] |  |
|
||||||
| Ubuntu 20.04 <sup>deprecated</sup> | `ubuntu-20.04` | [ubuntu-20.04] |  |
|
| macOS 15 <sup>beta</sup> | `macos-15-large`| [macOS-15] |  |
|
||||||
|
| macOS 15 Arm64 <sup>beta</sup> | `macos-15` or `macos-15-xlarge` | [macOS-15-arm64] |  |
|
||||||
| macOS 15 | `macos-15-large`| [macOS-15] |  |
|
| macOS 15 | `macos-15-large`| [macOS-15] |  |
|
||||||
| macOS 15 Arm64 | `macos-15` or `macos-15-xlarge` | [macOS-15-arm64] |  |
|
| macOS 15 Arm64 | `macos-15` or `macos-15-xlarge` | [macOS-15-arm64] |  |
|
||||||
|
| macOS 15 <sup>beta</sup> | `macos-15-large`| [macOS-15] |  |
|
||||||
|
| macOS 15 Arm64 <sup>beta</sup> | `macos-15` or `macos-15-xlarge` | [macOS-15-arm64] |  |
|
||||||
| macOS 14 | `macos-latest-large` or `macos-14-large`| [macOS-14] |  |
|
| macOS 14 | `macos-latest-large` or `macos-14-large`| [macOS-14] |  |
|
||||||
| macOS 14 Arm64 |`macos-latest`, `macos-14`, `macos-latest-xlarge` or `macos-14-xlarge`| [macOS-14-arm64] |  |
|
| macOS 14 Arm64 |`macos-latest`, `macos-14`, `macos-latest-xlarge` or `macos-14-xlarge`| [macOS-14-arm64] |  |
|
||||||
| macOS 13 | `macos-13` or `macos-13-large` | [macOS-13] |  |
|
| macOS 13 | `macos-13` or `macos-13-large` | [macOS-13] |  |
|
||||||
@@ -40,7 +43,6 @@ To build a VM machine from this repo's source, see the [instructions](docs/creat
|
|||||||
|
|
||||||
[ubuntu-24.04]: https://github.com/actions/runner-images/blob/main/images/ubuntu/Ubuntu2404-Readme.md
|
[ubuntu-24.04]: https://github.com/actions/runner-images/blob/main/images/ubuntu/Ubuntu2404-Readme.md
|
||||||
[ubuntu-22.04]: https://github.com/actions/runner-images/blob/main/images/ubuntu/Ubuntu2204-Readme.md
|
[ubuntu-22.04]: https://github.com/actions/runner-images/blob/main/images/ubuntu/Ubuntu2204-Readme.md
|
||||||
[ubuntu-20.04]: https://github.com/actions/runner-images/blob/main/images/ubuntu/Ubuntu2004-Readme.md
|
|
||||||
[windows-2025]: https://github.com/actions/runner-images/blob/main/images/windows/Windows2025-Readme.md
|
[windows-2025]: https://github.com/actions/runner-images/blob/main/images/windows/Windows2025-Readme.md
|
||||||
[windows-2022]: https://github.com/actions/runner-images/blob/main/images/windows/Windows2022-Readme.md
|
[windows-2022]: https://github.com/actions/runner-images/blob/main/images/windows/Windows2022-Readme.md
|
||||||
[windows-2019]: https://github.com/actions/runner-images/blob/main/images/windows/Windows2019-Readme.md
|
[windows-2019]: https://github.com/actions/runner-images/blob/main/images/windows/Windows2019-Readme.md
|
||||||
@@ -131,7 +133,10 @@ We use third-party package managers to install software during the image generat
|
|||||||
|
|
||||||
| Operating system | Package manager | Third-party repos and packages |
|
| Operating system | Package manager | Third-party repos and packages |
|
||||||
| :--- | :---: | ---: |
|
| :--- | :---: | ---: |
|
||||||
|
| Ubuntu | [APT](https://wiki.debian.org/Apt) | [Eclipse-Temurin (Adoptium)](https://packages.adoptium.net/artifactory/deb/) <br/> [Erlang](https://packages.erlang-solutions.com/ubuntu) <br/> [Firefox](http://ppa.launchpad.net/mozillateam/ppa/ubuntu) <br/> [git-lfs](https://packagecloud.io/install/repositories/github/git-lfs) <br/> [git](https://launchpad.net/~git-core/+archive/ubuntu/ppa) <br/> [Google Cloud CLI](https://packages.cloud.google.com/apt) <br/> [Heroku](https://cli-assets.heroku.com/channels/stable/apt) <br/> [HHvm](https://dl.hhvm.com/ubuntu) <br/> [MongoDB](https://repo.mongodb.org/apt/ubuntu) <br/> [Mono](https://download.mono-project.com/repo/ubuntu) <br/> [MS Edge](https://packages.microsoft.com/repos/edge) <br/> [PostgreSQL](https://apt.postgresql.org/pub/repos/apt/) <br/> [R](https://cloud.r-project.org/bin/linux/ubuntu) |
|
||||||
| Ubuntu | [APT](https://wiki.debian.org/Apt) | [containers](https://download.opensuse.org/repositories/devel:/kubic:/libcontainers:/stable) (Ubuntu 20 only) <br/> [docker](https://download.docker.com/linux/ubuntu) (Ubuntu20 0nly) <br/> [Eclipse-Temurin (Adoptium)](https://packages.adoptium.net/artifactory/deb/) <br/> [Erlang](https://packages.erlang-solutions.com/ubuntu) <br/> [Firefox](https://ppa.launchpad.net/mozillateam/ppa/ubuntu) <br/> [git-lfs](https://packagecloud.io/install/repositories/github/git-lfs) <br/> [git](https://launchpad.net/~git-core/+archive/ubuntu/ppa) <br/> [Google Cloud CLI](https://packages.cloud.google.com/apt) <br/> [Heroku](https://cli-assets.heroku.com/channels/stable/apt) <br/> [HHvm](https://dl.hhvm.com/ubuntu) <br/> [MongoDB](https://repo.mongodb.org/apt/ubuntu) <br/> [Mono](https://download.mono-project.com/repo/ubuntu) <br/> [MS Edge](https://packages.microsoft.com/repos/edge) <br/> [PostgreSQL](https://apt.postgresql.org/pub/repos/apt/) <br/> [R](https://cloud.r-project.org/bin/linux/ubuntu) |
|
| Ubuntu | [APT](https://wiki.debian.org/Apt) | [containers](https://download.opensuse.org/repositories/devel:/kubic:/libcontainers:/stable) (Ubuntu 20 only) <br/> [docker](https://download.docker.com/linux/ubuntu) (Ubuntu20 0nly) <br/> [Eclipse-Temurin (Adoptium)](https://packages.adoptium.net/artifactory/deb/) <br/> [Erlang](https://packages.erlang-solutions.com/ubuntu) <br/> [Firefox](https://ppa.launchpad.net/mozillateam/ppa/ubuntu) <br/> [git-lfs](https://packagecloud.io/install/repositories/github/git-lfs) <br/> [git](https://launchpad.net/~git-core/+archive/ubuntu/ppa) <br/> [Google Cloud CLI](https://packages.cloud.google.com/apt) <br/> [Heroku](https://cli-assets.heroku.com/channels/stable/apt) <br/> [HHvm](https://dl.hhvm.com/ubuntu) <br/> [MongoDB](https://repo.mongodb.org/apt/ubuntu) <br/> [Mono](https://download.mono-project.com/repo/ubuntu) <br/> [MS Edge](https://packages.microsoft.com/repos/edge) <br/> [PostgreSQL](https://apt.postgresql.org/pub/repos/apt/) <br/> [R](https://cloud.r-project.org/bin/linux/ubuntu) |
|
||||||
|
| Ubuntu | [APT](https://wiki.debian.org/Apt) | [Eclipse-Temurin (Adoptium)](https://packages.adoptium.net/artifactory/deb/) <br/> [Erlang](https://packages.erlang-solutions.com/ubuntu) <br/> [Firefox](http://ppa.launchpad.net/mozillateam/ppa/ubuntu) <br/> [git-lfs](https://packagecloud.io/install/repositories/github/git-lfs) <br/> [git](https://launchpad.net/~git-core/+archive/ubuntu/ppa) <br/> [Google Cloud CLI](https://packages.cloud.google.com/apt) <br/> [Heroku](https://cli-assets.heroku.com/channels/stable/apt) <br/> [HHvm](https://dl.hhvm.com/ubuntu) <br/> [MongoDB](https://repo.mongodb.org/apt/ubuntu) <br/> [Mono](https://download.mono-project.com/repo/ubuntu) <br/> [MS Edge](https://packages.microsoft.com/repos/edge) <br/> [PostgreSQL](https://apt.postgresql.org/pub/repos/apt/) <br/> [R](https://cloud.r-project.org/bin/linux/ubuntu) |
|
||||||
|
| Ubuntu | [APT](https://wiki.debian.org/Apt) | [Eclipse-Temurin (Adoptium)](https://packages.adoptium.net/artifactory/deb/) <br/> [Erlang](https://packages.erlang-solutions.com/ubuntu) <br/> [Firefox](http://ppa.launchpad.net/mozillateam/ppa/ubuntu) <br/> [git-lfs](https://packagecloud.io/install/repositories/github/git-lfs) <br/> [git](https://launchpad.net/~git-core/+archive/ubuntu/ppa) <br/> [Google Cloud CLI](https://packages.cloud.google.com/apt) <br/> [Heroku](https://cli-assets.heroku.com/channels/stable/apt) <br/> [HHvm](https://dl.hhvm.com/ubuntu) <br/> [MongoDB](https://repo.mongodb.org/apt/ubuntu) <br/> [Mono](https://download.mono-project.com/repo/ubuntu) <br/> [MS Edge](https://packages.microsoft.com/repos/edge) <br/> [PostgreSQL](https://apt.postgresql.org/pub/repos/apt/) <br/> [R](https://cloud.r-project.org/bin/linux/ubuntu) |
|
||||||
| | [pipx](https://pypa.github.io/pipx) | ansible-core <br/>yamllint |
|
| | [pipx](https://pypa.github.io/pipx) | ansible-core <br/>yamllint |
|
||||||
| Windows | [Chocolatey](https://chocolatey.org) | No third-party repos installed |
|
| Windows | [Chocolatey](https://chocolatey.org) | No third-party repos installed |
|
||||||
| macOS | [Homebrew](https://brew.sh) | [aws-cli v2](https://github.com/aws/homebrew-tap) </br> [azure/bicep](https://github.com/Azure/homebrew-bicep) </br> [mongodb/brew](https://github.com/mongodb/homebrew-brew) |
|
| macOS | [Homebrew](https://brew.sh) | [aws-cli v2](https://github.com/aws/homebrew-tap) </br> [azure/bicep](https://github.com/Azure/homebrew-bicep) </br> [mongodb/brew](https://github.com/mongodb/homebrew-brew) |
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
# GitHub Actions Runner Images
|
# GitHub Actions Runner Images
|
||||||
|
|
||||||
The runner-images project uses [Packer](https://www.packer.io/) to generate disk images for Windows 2019/2022 and Ubuntu 20.04/22.04.
|
The runner-images project uses [Packer](https://www.packer.io/) to generate disk images for Windows 2019/2022 and Ubuntu 22.04/24.04.
|
||||||
|
|
||||||
Each image is configured by a HCL2 Packer template that specifies where to build the image (Azure, in this case),
|
Each image is configured by a HCL2 Packer template that specifies where to build the image (Azure, in this case),
|
||||||
and what steps to run to install software and prepare the disk.
|
and what steps to run to install software and prepare the disk.
|
||||||
@@ -99,7 +99,7 @@ Finally, run the `GenerateResourcesAndImage` function, setting the mandatory arg
|
|||||||
- `ResourceGroupName` - the name of the resource group that will store the resulting artifact (e.g., "imagegen-test").
|
- `ResourceGroupName` - the name of the resource group that will store the resulting artifact (e.g., "imagegen-test").
|
||||||
The resource group must already exist in your Azure subscription;
|
The resource group must already exist in your Azure subscription;
|
||||||
- `AzureLocation` - the location where resources will be created (e.g., "East US");
|
- `AzureLocation` - the location where resources will be created (e.g., "East US");
|
||||||
- `ImageType` - the type of image to build (we suggest choosing "UbuntuMinimal" here; other valid options are "Windows2019", "Windows2022", "Windows2025", "Ubuntu2004", "Ubuntu2204", "Ubuntu2404").
|
- `ImageType` - the type of image to build (we suggest choosing "UbuntuMinimal" here; other valid options are "Windows2019", "Windows2022", "Windows2025", "Ubuntu2204", "Ubuntu2404").
|
||||||
|
|
||||||
This function automatically creates all required Azure resources and initiates the Packer image generation for the selected image type.
|
This function automatically creates all required Azure resources and initiates the Packer image generation for the selected image type.
|
||||||
|
|
||||||
|
|||||||
@@ -4,10 +4,9 @@ enum ImageType {
|
|||||||
Windows2019 = 1
|
Windows2019 = 1
|
||||||
Windows2022 = 2
|
Windows2022 = 2
|
||||||
Windows2025 = 3
|
Windows2025 = 3
|
||||||
Ubuntu2004 = 4
|
Ubuntu2204 = 4
|
||||||
Ubuntu2204 = 5
|
Ubuntu2404 = 5
|
||||||
Ubuntu2404 = 6
|
UbuntuMinimal = 6
|
||||||
UbuntuMinimal = 7
|
|
||||||
}
|
}
|
||||||
|
|
||||||
Function Get-PackerTemplatePath {
|
Function Get-PackerTemplatePath {
|
||||||
@@ -29,9 +28,6 @@ Function Get-PackerTemplatePath {
|
|||||||
([ImageType]::Windows2025) {
|
([ImageType]::Windows2025) {
|
||||||
$relativeTemplatePath = Join-Path (Join-Path "windows" "templates") "windows-2025.pkr.hcl"
|
$relativeTemplatePath = Join-Path (Join-Path "windows" "templates") "windows-2025.pkr.hcl"
|
||||||
}
|
}
|
||||||
([ImageType]::Ubuntu2004) {
|
|
||||||
$relativeTemplatePath = Join-Path (Join-Path "ubuntu" "templates") "ubuntu-20.04.pkr.hcl"
|
|
||||||
}
|
|
||||||
([ImageType]::Ubuntu2204) {
|
([ImageType]::Ubuntu2204) {
|
||||||
$relativeTemplatePath = Join-Path (Join-Path "ubuntu" "templates") "ubuntu-22.04.pkr.hcl"
|
$relativeTemplatePath = Join-Path (Join-Path "ubuntu" "templates") "ubuntu-22.04.pkr.hcl"
|
||||||
}
|
}
|
||||||
@@ -85,7 +81,7 @@ Function GenerateResourcesAndImage {
|
|||||||
.PARAMETER ResourceGroupName
|
.PARAMETER ResourceGroupName
|
||||||
The name of the resource group to store the resulting artifact. Resource group must already exist.
|
The name of the resource group to store the resulting artifact. Resource group must already exist.
|
||||||
.PARAMETER ImageType
|
.PARAMETER ImageType
|
||||||
The type of image to generate. Valid values are: Windows2019, Windows2022, Windows2025, Ubuntu2004, Ubuntu2204, Ubuntu2404, UbuntuMinimal.
|
The type of image to generate. Valid values are: Windows2019, Windows2022, Windows2025, Ubuntu2204, Ubuntu2404, UbuntuMinimal.
|
||||||
.PARAMETER ManagedImageName
|
.PARAMETER ManagedImageName
|
||||||
The name of the managed image to create. The default is "Runner-Image-{{ImageType}}".
|
The name of the managed image to create. The default is "Runner-Image-{{ImageType}}".
|
||||||
.PARAMETER AzureLocation
|
.PARAMETER AzureLocation
|
||||||
@@ -116,7 +112,7 @@ Function GenerateResourcesAndImage {
|
|||||||
.PARAMETER PluginVersion
|
.PARAMETER PluginVersion
|
||||||
Specify the version of the packer Azure plugin to use. The default is "2.2.1".
|
Specify the version of the packer Azure plugin to use. The default is "2.2.1".
|
||||||
.EXAMPLE
|
.EXAMPLE
|
||||||
GenerateResourcesAndImage -SubscriptionId {YourSubscriptionId} -ResourceGroupName "shsamytest1" -ImageGenerationRepositoryRoot "C:\runner-images" -ImageType Ubuntu2004 -AzureLocation "East US"
|
GenerateResourcesAndImage -SubscriptionId {YourSubscriptionId} -ResourceGroupName "shsamytest1" -ImageGenerationRepositoryRoot "C:\runner-images" -ImageType Ubuntu2204 -AzureLocation "East US"
|
||||||
#>
|
#>
|
||||||
param (
|
param (
|
||||||
[Parameter(Mandatory = $True)]
|
[Parameter(Mandatory = $True)]
|
||||||
|
|||||||
@@ -1,2 +0,0 @@
|
|||||||
# Name of pool supported by this image
|
|
||||||
POOL_NAME="Ubuntu 2004"
|
|
||||||
@@ -10,23 +10,14 @@ source $HELPER_SCRIPTS/os.sh
|
|||||||
source $HELPER_SCRIPTS/install.sh
|
source $HELPER_SCRIPTS/install.sh
|
||||||
|
|
||||||
# Install Alibaba Cloud CLI
|
# Install Alibaba Cloud CLI
|
||||||
# Pin tool version on ubuntu20 due to issues with GLIBC_2.32 not available
|
|
||||||
if is_ubuntu20; then
|
download_url=$(resolve_github_release_asset_url "aliyun/aliyun-cli" "contains(\"aliyun-cli-linux\") and endswith(\"amd64.tgz\")" "latest")
|
||||||
toolset_version=$(get_toolset_value '.aliyunCli.version')
|
hash_url="https://github.com/aliyun/aliyun-cli/releases/latest/download/SHASUMS256.txt"
|
||||||
download_url="https://github.com/aliyun/aliyun-cli/releases/download/v$toolset_version/aliyun-cli-linux-$toolset_version-amd64.tgz"
|
|
||||||
else
|
|
||||||
download_url=$(resolve_github_release_asset_url "aliyun/aliyun-cli" "contains(\"aliyun-cli-linux\") and endswith(\"amd64.tgz\")" "latest")
|
|
||||||
hash_url="https://github.com/aliyun/aliyun-cli/releases/latest/download/SHASUMS256.txt"
|
|
||||||
fi
|
|
||||||
|
|
||||||
archive_path=$(download_with_retry "$download_url")
|
archive_path=$(download_with_retry "$download_url")
|
||||||
|
|
||||||
# Supply chain security - Alibaba Cloud CLI
|
# Supply chain security - Alibaba Cloud CLI
|
||||||
if is_ubuntu20; then
|
external_hash=$(get_checksum_from_url "$hash_url" "aliyun-cli-linux.*amd64.tgz" "SHA256")
|
||||||
external_hash=$(get_toolset_value '.aliyunCli.sha256')
|
|
||||||
else
|
|
||||||
external_hash=$(get_checksum_from_url "$hash_url" "aliyun-cli-linux.*amd64.tgz" "SHA256")
|
|
||||||
fi
|
|
||||||
|
|
||||||
use_checksum_comparison "$archive_path" "$external_hash"
|
use_checksum_comparison "$archive_path" "$external_hash"
|
||||||
|
|
||||||
|
|||||||
@@ -17,15 +17,6 @@ else
|
|||||||
install_packages=(podman=3.4.4+ds1-1ubuntu1 buildah skopeo)
|
install_packages=(podman=3.4.4+ds1-1ubuntu1 buildah skopeo)
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Packages is available in the official Ubuntu upstream starting from Ubuntu 21
|
|
||||||
if is_ubuntu20; then
|
|
||||||
REPO_URL="https://download.opensuse.org/repositories/devel:/kubic:/libcontainers:/stable/xUbuntu_$(lsb_release -rs)"
|
|
||||||
GPG_KEY="/usr/share/keyrings/devel_kubic_libcontainers_stable.gpg"
|
|
||||||
REPO_PATH="/etc/apt/sources.list.d/devel:kubic:libcontainers:stable.list"
|
|
||||||
|
|
||||||
curl -fsSL "${REPO_URL}/Release.key" | gpg --dearmor -o $GPG_KEY
|
|
||||||
echo "deb [arch=amd64 signed-by=$GPG_KEY] ${REPO_URL}/ /" > $REPO_PATH
|
|
||||||
fi
|
|
||||||
|
|
||||||
if is_ubuntu22; then
|
if is_ubuntu22; then
|
||||||
# Install containernetworking-plugins for Ubuntu 22
|
# Install containernetworking-plugins for Ubuntu 22
|
||||||
@@ -39,13 +30,4 @@ apt-get install ${install_packages[@]}
|
|||||||
mkdir -p /etc/containers
|
mkdir -p /etc/containers
|
||||||
printf "[registries.search]\nregistries = ['docker.io', 'quay.io']\n" | tee /etc/containers/registries.conf
|
printf "[registries.search]\nregistries = ['docker.io', 'quay.io']\n" | tee /etc/containers/registries.conf
|
||||||
|
|
||||||
if is_ubuntu20; then
|
|
||||||
# Remove source repo
|
|
||||||
rm $GPG_KEY
|
|
||||||
rm $REPO_PATH
|
|
||||||
|
|
||||||
# Document source repo
|
|
||||||
echo "containers $REPO_URL" >> $HELPER_SCRIPTS/apt-sources.txt
|
|
||||||
fi
|
|
||||||
|
|
||||||
invoke_tests "Tools" "Containers"
|
invoke_tests "Tools" "Containers"
|
||||||
|
|||||||
@@ -1,29 +0,0 @@
|
|||||||
#!/bin/bash -e
|
|
||||||
################################################################################
|
|
||||||
## File: install-erlang.sh
|
|
||||||
## Desc: Install erlang and rebar3
|
|
||||||
################################################################################
|
|
||||||
|
|
||||||
# Source the helpers for use with the script
|
|
||||||
source $HELPER_SCRIPTS/install.sh
|
|
||||||
|
|
||||||
source_list=/etc/apt/sources.list.d/eslerlang.list
|
|
||||||
source_key=/usr/share/keyrings/eslerlang.gpg
|
|
||||||
|
|
||||||
# Install Erlang
|
|
||||||
wget -q -O - https://binaries2.erlang-solutions.com/GPG-KEY-pmanager.asc | gpg --dearmor > $source_key
|
|
||||||
echo "deb [signed-by=$source_key] https://binaries2.erlang-solutions.com/ubuntu $(lsb_release -cs)-esl-erlang-25 contrib" > $source_list
|
|
||||||
apt-get update
|
|
||||||
|
|
||||||
apt-get install --no-install-recommends esl-erlang
|
|
||||||
|
|
||||||
# Install rebar3
|
|
||||||
rebar3_url=$(resolve_github_release_asset_url "erlang/rebar3" "endswith(\"rebar3\")" "latest")
|
|
||||||
binary_path=$(download_with_retry "$rebar3_url")
|
|
||||||
install "$binary_path" /usr/local/bin/rebar3
|
|
||||||
|
|
||||||
# Clean up source list
|
|
||||||
rm $source_list
|
|
||||||
rm $source_key
|
|
||||||
|
|
||||||
invoke_tests "Tools" "erlang"
|
|
||||||
@@ -1,23 +0,0 @@
|
|||||||
#!/bin/bash -e
|
|
||||||
################################################################################
|
|
||||||
## File: install-hhvm.sh
|
|
||||||
## Desc: Install HHVM
|
|
||||||
################################################################################
|
|
||||||
|
|
||||||
REPO_URL="https://dl.hhvm.com/ubuntu"
|
|
||||||
GPG_KEY="/usr/share/keyrings/hhvm.gpg"
|
|
||||||
REPO_PATH="/etc/apt/sources.list.d/hhvm.list"
|
|
||||||
|
|
||||||
# add HHVM repository to apt
|
|
||||||
curl -fsSL https://dl.hhvm.com/conf/hhvm.gpg.key | gpg --dearmor -o $GPG_KEY
|
|
||||||
echo "deb [signed-by=$GPG_KEY] $REPO_URL $(lsb_release -cs) main" > $REPO_PATH
|
|
||||||
|
|
||||||
# install HHVM
|
|
||||||
apt-get update
|
|
||||||
apt-get install hhvm
|
|
||||||
|
|
||||||
# remove HHVM's apt repository
|
|
||||||
rm $REPO_PATH
|
|
||||||
rm $GPG_KEY
|
|
||||||
|
|
||||||
invoke_tests "Tools" "HHVM"
|
|
||||||
@@ -1,30 +0,0 @@
|
|||||||
#!/bin/bash -e
|
|
||||||
################################################################################
|
|
||||||
## File: install-mongodb.sh
|
|
||||||
## Desc: Install Mongo DB
|
|
||||||
################################################################################
|
|
||||||
|
|
||||||
# Source the helpers
|
|
||||||
source $HELPER_SCRIPTS/install.sh
|
|
||||||
|
|
||||||
toolset_version=$(get_toolset_value '.mongodb.version')
|
|
||||||
REPO_URL="https://repo.mongodb.org/apt/ubuntu"
|
|
||||||
GPG_KEY="/usr/share/keyrings/mongodb-org-$toolset_version.gpg"
|
|
||||||
REPO_PATH="/etc/apt/sources.list.d/mongodb-org-$toolset_version.list"
|
|
||||||
|
|
||||||
# add Mongo DB repository to apt
|
|
||||||
curl -fsSL https://www.mongodb.org/static/pgp/server-$toolset_version.asc | gpg --dearmor -o $GPG_KEY
|
|
||||||
echo "deb [ arch=amd64,arm64 signed-by=$GPG_KEY ] $REPO_URL $(lsb_release -cs)/mongodb-org/$toolset_version multiverse" > $REPO_PATH
|
|
||||||
|
|
||||||
# Install Mongo DB
|
|
||||||
sudo apt-get update
|
|
||||||
sudo apt-get install mongodb-org
|
|
||||||
|
|
||||||
# remove Mongo DB's apt repository
|
|
||||||
rm $REPO_PATH
|
|
||||||
rm $GPG_KEY
|
|
||||||
|
|
||||||
# Document source repo
|
|
||||||
echo "mongodb $REPO_URL" >> $HELPER_SCRIPTS/apt-sources.txt
|
|
||||||
|
|
||||||
invoke_tests "Databases" "MongoDB"
|
|
||||||
@@ -8,14 +8,9 @@
|
|||||||
source $HELPER_SCRIPTS/os.sh
|
source $HELPER_SCRIPTS/os.sh
|
||||||
source $HELPER_SCRIPTS/install.sh
|
source $HELPER_SCRIPTS/install.sh
|
||||||
|
|
||||||
if is_ubuntu20; then
|
|
||||||
toolset_version=$(get_toolset_value '.ocCli.version')
|
|
||||||
download_url="https://mirror.openshift.com/pub/openshift-v4/clients/ocp/$toolset_version/openshift-client-linux-$toolset_version.tar.gz"
|
|
||||||
else
|
|
||||||
|
|
||||||
# Install the oc CLI
|
# Install the oc CLI
|
||||||
download_url="https://mirror.openshift.com/pub/openshift-v4/clients/ocp/latest/openshift-client-linux.tar.gz"
|
download_url="https://mirror.openshift.com/pub/openshift-v4/clients/ocp/latest/openshift-client-linux.tar.gz"
|
||||||
fi
|
|
||||||
|
|
||||||
archive_path=$(download_with_retry "$download_url")
|
archive_path=$(download_with_retry "$download_url")
|
||||||
|
|
||||||
|
|||||||
@@ -1,26 +0,0 @@
|
|||||||
#!/bin/bash -e
|
|
||||||
################################################################################
|
|
||||||
## File: install-phantomjs.sh
|
|
||||||
## Desc: Install PhantomJS
|
|
||||||
################################################################################
|
|
||||||
|
|
||||||
# Source the helpers for use with the script
|
|
||||||
source $HELPER_SCRIPTS/install.sh
|
|
||||||
|
|
||||||
# Install required dependencies
|
|
||||||
apt-get install chrpath libssl-dev libxft-dev libfreetype6 libfreetype6-dev libfontconfig1 libfontconfig1-dev
|
|
||||||
|
|
||||||
# Define the version and hash of PhantomJS to be installed
|
|
||||||
DIR_NAME=phantomjs-2.1.1-linux-x86_64
|
|
||||||
ARCHIVE_HASH="86dd9a4bf4aee45f1a84c9f61cf1947c1d6dce9b9e8d2a907105da7852460d2f"
|
|
||||||
|
|
||||||
# Download the archive and verify its integrity using checksum comparison
|
|
||||||
download_url="https://bitbucket.org/ariya/phantomjs/downloads/$DIR_NAME.tar.bz2"
|
|
||||||
archive_path=$(download_with_retry "$download_url")
|
|
||||||
use_checksum_comparison "$archive_path" "$ARCHIVE_HASH"
|
|
||||||
|
|
||||||
# Extract the archive and create a symbolic link to the executable
|
|
||||||
tar xjf "$archive_path" -C /usr/local/share
|
|
||||||
ln -sf /usr/local/share/$DIR_NAME/bin/phantomjs /usr/local/bin
|
|
||||||
|
|
||||||
invoke_tests "Tools" "Phantomjs"
|
|
||||||
@@ -9,13 +9,6 @@ source $HELPER_SCRIPTS/etc-environment.sh
|
|||||||
source $HELPER_SCRIPTS/os.sh
|
source $HELPER_SCRIPTS/os.sh
|
||||||
source $HELPER_SCRIPTS/install.sh
|
source $HELPER_SCRIPTS/install.sh
|
||||||
|
|
||||||
# add repository for old Ubuntu images
|
|
||||||
# details in thread: https://github.com/actions/runner-images/issues/6331
|
|
||||||
if is_ubuntu20; then
|
|
||||||
apt-add-repository ppa:ondrej/php -y
|
|
||||||
apt-get update
|
|
||||||
fi
|
|
||||||
|
|
||||||
# Install PHP
|
# Install PHP
|
||||||
php_versions=$(get_toolset_value '.php.versions[]')
|
php_versions=$(get_toolset_value '.php.versions[]')
|
||||||
|
|
||||||
@@ -103,11 +96,4 @@ mkdir -p /etc/skel/.composer
|
|||||||
wget -q -O phpunit https://phar.phpunit.de/phpunit-8.phar
|
wget -q -O phpunit https://phar.phpunit.de/phpunit-8.phar
|
||||||
install phpunit /usr/local/bin/phpunit
|
install phpunit /usr/local/bin/phpunit
|
||||||
|
|
||||||
# ubuntu 20.04 libzip-dev is libzip5 based and is not compatible libzip-dev of ppa:ondrej/php
|
|
||||||
# see https://github.com/actions/runner-images/issues/1084
|
|
||||||
if is_ubuntu20; then
|
|
||||||
rm /etc/apt/sources.list.d/ondrej-*.list
|
|
||||||
apt-get update
|
|
||||||
fi
|
|
||||||
|
|
||||||
invoke_tests "Common" "PHP"
|
invoke_tests "Common" "PHP"
|
||||||
|
|||||||
@@ -10,27 +10,6 @@ source $HELPER_SCRIPTS/install.sh
|
|||||||
|
|
||||||
apt-get install ruby-full
|
apt-get install ruby-full
|
||||||
|
|
||||||
# temporary fix for fastlane installation https://github.com/sporkmonger/addressable/issues/541
|
|
||||||
if is_ubuntu20; then
|
|
||||||
|
|
||||||
gem install public_suffix -v 5.1.1
|
|
||||||
|
|
||||||
# Install google-cloud-errors gem pinned to version 1.4.0
|
|
||||||
gem install google-cloud-errors -v 1.4.0
|
|
||||||
|
|
||||||
# Install faraday-net_http gem pinned to version 3.0.2
|
|
||||||
gem install faraday-net_http -v 3.0.2
|
|
||||||
|
|
||||||
# Install faraday gem pinned to version 2.8.1
|
|
||||||
gem install faraday -v 2.8.1
|
|
||||||
|
|
||||||
# Install google-cloud-env gem pinned to version 2.1.1
|
|
||||||
gem install google-cloud-env -v 2.1.1
|
|
||||||
|
|
||||||
# Install google-cloud-core gem pinned to version 1.7.1
|
|
||||||
gem install google-cloud-core -v 1.7.1
|
|
||||||
fi
|
|
||||||
|
|
||||||
# Install ruby gems from toolset
|
# Install ruby gems from toolset
|
||||||
gems_to_install=$(get_toolset_value ".rubygems[] .name")
|
gems_to_install=$(get_toolset_value ".rubygems[] .name")
|
||||||
if [[ -n "$gems_to_install" ]]; then
|
if [[ -n "$gems_to_install" ]]; then
|
||||||
|
|||||||
@@ -23,10 +23,6 @@ if is_ubuntu22; then
|
|||||||
cargo install --locked bindgen-cli cbindgen cargo-audit cargo-outdated
|
cargo install --locked bindgen-cli cbindgen cargo-audit cargo-outdated
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if is_ubuntu20; then
|
|
||||||
cargo install --locked bindgen-cli cbindgen cargo-audit cargo-outdated
|
|
||||||
fi
|
|
||||||
|
|
||||||
# Cleanup Cargo cache
|
# Cleanup Cargo cache
|
||||||
rm -rf ${CARGO_HOME}/registry/*
|
rm -rf ${CARGO_HOME}/registry/*
|
||||||
|
|
||||||
|
|||||||
@@ -41,10 +41,6 @@ $languageAndRuntime.AddToolVersionsListInline("Clang", $(Get-ClangToolVersions -
|
|||||||
$languageAndRuntime.AddToolVersionsListInline("Clang-format", $(Get-ClangToolVersions -ToolName "clang-format"), "^\d+")
|
$languageAndRuntime.AddToolVersionsListInline("Clang-format", $(Get-ClangToolVersions -ToolName "clang-format"), "^\d+")
|
||||||
$languageAndRuntime.AddToolVersionsListInline("Clang-tidy", $(Get-ClangTidyVersions), "^\d+")
|
$languageAndRuntime.AddToolVersionsListInline("Clang-tidy", $(Get-ClangTidyVersions), "^\d+")
|
||||||
$languageAndRuntime.AddToolVersion("Dash", $(Get-DashVersion))
|
$languageAndRuntime.AddToolVersion("Dash", $(Get-DashVersion))
|
||||||
if (Test-IsUbuntu20) {
|
|
||||||
$languageAndRuntime.AddToolVersion("Erlang", $(Get-ErlangVersion))
|
|
||||||
$languageAndRuntime.AddToolVersion("Erlang rebar3", $(Get-ErlangRebar3Version))
|
|
||||||
}
|
|
||||||
$languageAndRuntime.AddToolVersionsListInline("GNU C++", $(Get-CPPVersions), "^\d+")
|
$languageAndRuntime.AddToolVersionsListInline("GNU C++", $(Get-CPPVersions), "^\d+")
|
||||||
$languageAndRuntime.AddToolVersionsListInline("GNU Fortran", $(Get-FortranVersions), "^\d+")
|
$languageAndRuntime.AddToolVersionsListInline("GNU Fortran", $(Get-FortranVersions), "^\d+")
|
||||||
$languageAndRuntime.AddToolVersion("Julia", $(Get-JuliaVersion))
|
$languageAndRuntime.AddToolVersion("Julia", $(Get-JuliaVersion))
|
||||||
@@ -90,14 +86,14 @@ $projectManagement.AddToolVersion("Ant", $(Get-AntVersion))
|
|||||||
$projectManagement.AddToolVersion("Gradle", $(Get-GradleVersion))
|
$projectManagement.AddToolVersion("Gradle", $(Get-GradleVersion))
|
||||||
$projectManagement.AddToolVersion("Lerna", $(Get-LernaVersion))
|
$projectManagement.AddToolVersion("Lerna", $(Get-LernaVersion))
|
||||||
$projectManagement.AddToolVersion("Maven", $(Get-MavenVersion))
|
$projectManagement.AddToolVersion("Maven", $(Get-MavenVersion))
|
||||||
if ((Test-IsUbuntu20) -or (Test-IsUbuntu22)) {
|
if (Test-IsUbuntu22) {
|
||||||
$projectManagement.AddToolVersion("Sbt", $(Get-SbtVersion))
|
$projectManagement.AddToolVersion("Sbt", $(Get-SbtVersion))
|
||||||
}
|
}
|
||||||
|
|
||||||
# Tools
|
# Tools
|
||||||
$tools = $installedSoftware.AddHeader("Tools")
|
$tools = $installedSoftware.AddHeader("Tools")
|
||||||
$tools.AddToolVersion("Ansible", $(Get-AnsibleVersion))
|
$tools.AddToolVersion("Ansible", $(Get-AnsibleVersion))
|
||||||
if ((Test-IsUbuntu20) -or (Test-IsUbuntu22)) {
|
if (Test-IsUbuntu22) {
|
||||||
$tools.AddToolVersion("apt-fast", $(Get-AptFastVersion))
|
$tools.AddToolVersion("apt-fast", $(Get-AptFastVersion))
|
||||||
}
|
}
|
||||||
$tools.AddToolVersion("AzCopy", $(Get-AzCopyVersion))
|
$tools.AddToolVersion("AzCopy", $(Get-AzCopyVersion))
|
||||||
@@ -117,17 +113,14 @@ $tools.AddToolVersion("Git", $(Get-GitVersion))
|
|||||||
$tools.AddToolVersion("Git LFS", $(Get-GitLFSVersion))
|
$tools.AddToolVersion("Git LFS", $(Get-GitLFSVersion))
|
||||||
$tools.AddToolVersion("Git-ftp", $(Get-GitFTPVersion))
|
$tools.AddToolVersion("Git-ftp", $(Get-GitFTPVersion))
|
||||||
$tools.AddToolVersion("Haveged", $(Get-HavegedVersion))
|
$tools.AddToolVersion("Haveged", $(Get-HavegedVersion))
|
||||||
if ((Test-IsUbuntu20) -or (Test-IsUbuntu22)) {
|
if (Test-IsUbuntu22) {
|
||||||
$tools.AddToolVersion("Heroku", $(Get-HerokuVersion))
|
$tools.AddToolVersion("Heroku", $(Get-HerokuVersion))
|
||||||
}
|
}
|
||||||
if (Test-IsUbuntu20) {
|
|
||||||
$tools.AddToolVersion("HHVM (HipHop VM)", $(Get-HHVMVersion))
|
|
||||||
}
|
|
||||||
$tools.AddToolVersion("jq", $(Get-JqVersion))
|
$tools.AddToolVersion("jq", $(Get-JqVersion))
|
||||||
$tools.AddToolVersion("Kind", $(Get-KindVersion))
|
$tools.AddToolVersion("Kind", $(Get-KindVersion))
|
||||||
$tools.AddToolVersion("Kubectl", $(Get-KubectlVersion))
|
$tools.AddToolVersion("Kubectl", $(Get-KubectlVersion))
|
||||||
$tools.AddToolVersion("Kustomize", $(Get-KustomizeVersion))
|
$tools.AddToolVersion("Kustomize", $(Get-KustomizeVersion))
|
||||||
if ((Test-IsUbuntu20) -or (Test-IsUbuntu22)) {
|
if (Test-IsUbuntu22) {
|
||||||
$tools.AddToolVersion("Leiningen", $(Get-LeiningenVersion))
|
$tools.AddToolVersion("Leiningen", $(Get-LeiningenVersion))
|
||||||
}
|
}
|
||||||
$tools.AddToolVersion("MediaInfo", $(Get-MediainfoVersion))
|
$tools.AddToolVersion("MediaInfo", $(Get-MediainfoVersion))
|
||||||
@@ -139,17 +132,14 @@ $tools.AddToolVersion("nvm", $(Get-NvmVersion))
|
|||||||
$tools.AddToolVersion("OpenSSL", $(Get-OpensslVersion))
|
$tools.AddToolVersion("OpenSSL", $(Get-OpensslVersion))
|
||||||
$tools.AddToolVersion("Packer", $(Get-PackerVersion))
|
$tools.AddToolVersion("Packer", $(Get-PackerVersion))
|
||||||
$tools.AddToolVersion("Parcel", $(Get-ParcelVersion))
|
$tools.AddToolVersion("Parcel", $(Get-ParcelVersion))
|
||||||
if (Test-IsUbuntu20) {
|
|
||||||
$tools.AddToolVersion("PhantomJS", $(Get-PhantomJSVersion))
|
|
||||||
}
|
|
||||||
$tools.AddToolVersion("Podman", $(Get-PodManVersion))
|
$tools.AddToolVersion("Podman", $(Get-PodManVersion))
|
||||||
$tools.AddToolVersion("Pulumi", $(Get-PulumiVersion))
|
$tools.AddToolVersion("Pulumi", $(Get-PulumiVersion))
|
||||||
if ((Test-IsUbuntu20) -or (Test-IsUbuntu22)) {
|
if (Test-IsUbuntu22) {
|
||||||
$tools.AddToolVersion("R", $(Get-RVersion))
|
$tools.AddToolVersion("R", $(Get-RVersion))
|
||||||
}
|
}
|
||||||
$tools.AddToolVersion("Skopeo", $(Get-SkopeoVersion))
|
$tools.AddToolVersion("Skopeo", $(Get-SkopeoVersion))
|
||||||
$tools.AddToolVersion("Sphinx Open Source Search Server", $(Get-SphinxVersion))
|
$tools.AddToolVersion("Sphinx Open Source Search Server", $(Get-SphinxVersion))
|
||||||
if ((Test-IsUbuntu20) -or (Test-IsUbuntu22)) {
|
if (Test-IsUbuntu22) {
|
||||||
$tools.AddToolVersion("SVN", $(Get-SVNVersion))
|
$tools.AddToolVersion("SVN", $(Get-SVNVersion))
|
||||||
$tools.AddToolVersion("Terraform", $(Get-TerraformVersion))
|
$tools.AddToolVersion("Terraform", $(Get-TerraformVersion))
|
||||||
}
|
}
|
||||||
@@ -160,7 +150,7 @@ $tools.AddToolVersion("Ninja", $(Get-NinjaVersion))
|
|||||||
|
|
||||||
# CLI Tools
|
# CLI Tools
|
||||||
$cliTools = $installedSoftware.AddHeader("CLI Tools")
|
$cliTools = $installedSoftware.AddHeader("CLI Tools")
|
||||||
if ((Test-IsUbuntu20) -or (Test-IsUbuntu22)) {
|
if (Test-IsUbuntu22) {
|
||||||
$cliTools.AddToolVersion("Alibaba Cloud CLI", $(Get-AlibabaCloudCliVersion))
|
$cliTools.AddToolVersion("Alibaba Cloud CLI", $(Get-AlibabaCloudCliVersion))
|
||||||
}
|
}
|
||||||
$cliTools.AddToolVersion("AWS CLI", $(Get-AWSCliVersion))
|
$cliTools.AddToolVersion("AWS CLI", $(Get-AWSCliVersion))
|
||||||
@@ -170,7 +160,7 @@ $cliTools.AddToolVersion("Azure CLI", $(Get-AzureCliVersion))
|
|||||||
$cliTools.AddToolVersion("Azure CLI (azure-devops)", $(Get-AzureDevopsVersion))
|
$cliTools.AddToolVersion("Azure CLI (azure-devops)", $(Get-AzureDevopsVersion))
|
||||||
$cliTools.AddToolVersion("GitHub CLI", $(Get-GitHubCliVersion))
|
$cliTools.AddToolVersion("GitHub CLI", $(Get-GitHubCliVersion))
|
||||||
$cliTools.AddToolVersion("Google Cloud CLI", $(Get-GoogleCloudCLIVersion))
|
$cliTools.AddToolVersion("Google Cloud CLI", $(Get-GoogleCloudCLIVersion))
|
||||||
if ((Test-IsUbuntu20) -or (Test-IsUbuntu22)) {
|
if (Test-IsUbuntu22) {
|
||||||
$cliTools.AddToolVersion("Netlify CLI", $(Get-NetlifyCliVersion))
|
$cliTools.AddToolVersion("Netlify CLI", $(Get-NetlifyCliVersion))
|
||||||
$cliTools.AddToolVersion("OpenShift CLI", $(Get-OCCliVersion))
|
$cliTools.AddToolVersion("OpenShift CLI", $(Get-OCCliVersion))
|
||||||
$cliTools.AddToolVersion("ORAS CLI", $(Get-ORASCliVersion))
|
$cliTools.AddToolVersion("ORAS CLI", $(Get-ORASCliVersion))
|
||||||
@@ -204,7 +194,7 @@ $rustTools.AddToolVersion("Rustup", $(Get-RustupVersion))
|
|||||||
|
|
||||||
# Packages
|
# Packages
|
||||||
$rustToolsPackages = $rustTools.AddHeader("Packages")
|
$rustToolsPackages = $rustTools.AddHeader("Packages")
|
||||||
if ((Test-IsUbuntu20) -or (Test-IsUbuntu22)) {
|
if (Test-IsUbuntu22) {
|
||||||
$rustToolsPackages.AddToolVersion("Bindgen", $(Get-BindgenVersion))
|
$rustToolsPackages.AddToolVersion("Bindgen", $(Get-BindgenVersion))
|
||||||
$rustToolsPackages.AddToolVersion("Cargo audit", $(Get-CargoAuditVersion))
|
$rustToolsPackages.AddToolVersion("Cargo audit", $(Get-CargoAuditVersion))
|
||||||
$rustToolsPackages.AddToolVersion("Cargo clippy", $(Get-CargoClippyVersion))
|
$rustToolsPackages.AddToolVersion("Cargo clippy", $(Get-CargoClippyVersion))
|
||||||
@@ -236,9 +226,6 @@ $netCoreTools.AddNodes($(Get-DotnetTools))
|
|||||||
|
|
||||||
# Databases
|
# Databases
|
||||||
$databasesTools = $installedSoftware.AddHeader("Databases")
|
$databasesTools = $installedSoftware.AddHeader("Databases")
|
||||||
if (Test-IsUbuntu20) {
|
|
||||||
$databasesTools.AddToolVersion("MongoDB", $(Get-MongoDbVersion))
|
|
||||||
}
|
|
||||||
$databasesTools.AddToolVersion("sqlite3", $(Get-SqliteVersion))
|
$databasesTools.AddToolVersion("sqlite3", $(Get-SqliteVersion))
|
||||||
$databasesTools.AddNode($(Build-PostgreSqlSection))
|
$databasesTools.AddNode($(Build-PostgreSqlSection))
|
||||||
$databasesTools.AddNode($(Build-MySQLSection))
|
$databasesTools.AddNode($(Build-MySQLSection))
|
||||||
|
|||||||
@@ -28,27 +28,9 @@ function Get-NginxVersion {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
function Get-Xsp4Version {
|
|
||||||
$name = "mono-xsp4"
|
|
||||||
$port = (grep '^port=' /etc/default/mono-xsp4).Split('=')[1]
|
|
||||||
$version = (dpkg-query --showformat='${Version}' --show mono-xsp4).Split('-')[0]
|
|
||||||
$serviceStatus = systemctl show -p ActiveState --value mono-xsp4
|
|
||||||
$configFile = "/etc/default/mono-xsp4"
|
|
||||||
return [PsCustomObject]@{
|
|
||||||
"Name" = $name
|
|
||||||
"Version" = $version
|
|
||||||
"ConfigFile" = $configFile
|
|
||||||
"ServiceStatus" = $serviceStatus
|
|
||||||
"ListenPort" = $port
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
function Build-WebServersTable {
|
function Build-WebServersTable {
|
||||||
$servers = @()
|
$servers = @()
|
||||||
$servers += (Get-ApacheVersion)
|
$servers += (Get-ApacheVersion)
|
||||||
if (Test-IsUbuntu20) {
|
|
||||||
$servers += (Get-Xsp4Version)
|
|
||||||
}
|
|
||||||
$servers += (Get-NginxVersion)
|
$servers += (Get-NginxVersion)
|
||||||
|
|
||||||
return $servers
|
return $servers
|
||||||
|
|||||||
@@ -54,10 +54,6 @@ function Get-CommandResult {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
function Test-IsUbuntu20 {
|
|
||||||
return (lsb_release -rs) -eq "20.04"
|
|
||||||
}
|
|
||||||
|
|
||||||
function Test-IsUbuntu22 {
|
function Test-IsUbuntu22 {
|
||||||
return (lsb_release -rs) -eq "22.04"
|
return (lsb_release -rs) -eq "22.04"
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -4,10 +4,6 @@
|
|||||||
## Desc: Helper functions for OS releases
|
## Desc: Helper functions for OS releases
|
||||||
################################################################################
|
################################################################################
|
||||||
|
|
||||||
is_ubuntu20() {
|
|
||||||
lsb_release -rs | grep -q '20.04'
|
|
||||||
}
|
|
||||||
|
|
||||||
is_ubuntu22() {
|
is_ubuntu22() {
|
||||||
lsb_release -rs | grep -q '22.04'
|
lsb_release -rs | grep -q '22.04'
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -10,7 +10,7 @@ Describe "Azure DevOps CLI" {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
Describe "Aliyun CLI" -Skip:((-not (Test-IsUbuntu20)) -and (-not (Test-IsUbuntu22))) {
|
Describe "Aliyun CLI" -Skip:((-not (Test-IsUbuntu22))) {
|
||||||
It "Aliyun CLI" {
|
It "Aliyun CLI" {
|
||||||
"aliyun version" | Should -ReturnZeroExitCode
|
"aliyun version" | Should -ReturnZeroExitCode
|
||||||
}
|
}
|
||||||
@@ -42,13 +42,13 @@ Describe "Google Cloud CLI" {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
Describe "OC CLI" -Skip:((-not (Test-IsUbuntu20)) -and (-not (Test-IsUbuntu22))) {
|
Describe "OC CLI" -Skip:((-not (Test-IsUbuntu22))) {
|
||||||
It "OC CLI" {
|
It "OC CLI" {
|
||||||
"oc version" | Should -ReturnZeroExitCode
|
"oc version" | Should -ReturnZeroExitCode
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
Describe "Oras CLI" -Skip:((-not (Test-IsUbuntu20)) -and (-not (Test-IsUbuntu22))) {
|
Describe "Oras CLI" -Skip:((-not (Test-IsUbuntu22))) {
|
||||||
It "Oras CLI" {
|
It "Oras CLI" {
|
||||||
"oras version" | Should -ReturnZeroExitCode
|
"oras version" | Should -ReturnZeroExitCode
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,13 +1,3 @@
|
|||||||
Describe "MongoDB" -Skip:(-not (Test-IsUbuntu20)) {
|
|
||||||
It "<ToolName>" -TestCases @(
|
|
||||||
@{ ToolName = "mongo" }
|
|
||||||
@{ ToolName = "mongod" }
|
|
||||||
) {
|
|
||||||
$toolsetVersion = (Get-ToolsetContent).mongodb.version
|
|
||||||
(& $ToolName --version)[2].Split('"')[-2] | Should -BeLike "$toolsetVersion*"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
Describe "PostgreSQL" {
|
Describe "PostgreSQL" {
|
||||||
It "PostgreSQL Service" {
|
It "PostgreSQL Service" {
|
||||||
"sudo systemctl start postgresql" | Should -ReturnZeroExitCode
|
"sudo systemctl start postgresql" | Should -ReturnZeroExitCode
|
||||||
|
|||||||
@@ -42,7 +42,7 @@ Describe "Rust" {
|
|||||||
"cargo --version" | Should -ReturnZeroExitCode
|
"cargo --version" | Should -ReturnZeroExitCode
|
||||||
}
|
}
|
||||||
|
|
||||||
Context "Cargo dependencies" -Skip:((-not (Test-IsUbuntu20)) -and (-not (Test-IsUbuntu22))) {
|
Context "Cargo dependencies" -Skip:((-not (Test-IsUbuntu22))) {
|
||||||
It "bindgen" {
|
It "bindgen" {
|
||||||
"bindgen --version" | Should -ReturnZeroExitCode
|
"bindgen --version" | Should -ReturnZeroExitCode
|
||||||
}
|
}
|
||||||
@@ -154,14 +154,6 @@ Describe "Cmake" {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
Describe "erlang" -Skip:(-not (Test-IsUbuntu20)) {
|
|
||||||
$testCases = @("erl -version", "erlc -v", "rebar3 -v") | ForEach-Object { @{ErlangCommand = $_} }
|
|
||||||
|
|
||||||
It "erlang <ErlangCommand>" -TestCases $testCases {
|
|
||||||
"$ErlangCommand" | Should -ReturnZeroExitCode
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
Describe "gcc" {
|
Describe "gcc" {
|
||||||
$testCases = (Get-ToolsetContent).gcc.Versions | ForEach-Object { @{GccVersion = $_} }
|
$testCases = (Get-ToolsetContent).gcc.Versions | ForEach-Object { @{GccVersion = $_} }
|
||||||
|
|
||||||
@@ -192,25 +184,25 @@ Describe "Mono" -Skip:(Test-IsUbuntu24) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
Describe "MSSQLCommandLineTools" -Skip:((-not (Test-IsUbuntu20)) -and (-not (Test-IsUbuntu22))) {
|
Describe "MSSQLCommandLineTools" -Skip:((-not (Test-IsUbuntu22))) {
|
||||||
It "sqlcmd" {
|
It "sqlcmd" {
|
||||||
"sqlcmd -?" | Should -ReturnZeroExitCode
|
"sqlcmd -?" | Should -ReturnZeroExitCode
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
Describe "SqlPackage" -Skip:((-not (Test-IsUbuntu20)) -and (-not (Test-IsUbuntu22))) {
|
Describe "SqlPackage" -Skip:((-not (Test-IsUbuntu22))) {
|
||||||
It "sqlpackage" {
|
It "sqlpackage" {
|
||||||
"sqlpackage /version" | Should -ReturnZeroExitCode
|
"sqlpackage /version" | Should -ReturnZeroExitCode
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
Describe "R" -Skip:((-not (Test-IsUbuntu20)) -and (-not (Test-IsUbuntu22))) {
|
Describe "R" -Skip:((-not (Test-IsUbuntu22))) {
|
||||||
It "r" {
|
It "r" {
|
||||||
"R --version" | Should -ReturnZeroExitCode
|
"R --version" | Should -ReturnZeroExitCode
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
Describe "Sbt" -Skip:((-not (Test-IsUbuntu20)) -and (-not (Test-IsUbuntu22))) {
|
Describe "Sbt" -Skip:((-not (Test-IsUbuntu22))) {
|
||||||
It "sbt" {
|
It "sbt" {
|
||||||
"sbt --version" | Should -ReturnZeroExitCode
|
"sbt --version" | Should -ReturnZeroExitCode
|
||||||
}
|
}
|
||||||
@@ -223,7 +215,7 @@ Describe "Selenium" {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
Describe "Terraform" -Skip:((-not (Test-IsUbuntu20)) -and (-not (Test-IsUbuntu22))) {
|
Describe "Terraform" -Skip:((-not (Test-IsUbuntu22))) {
|
||||||
It "terraform" {
|
It "terraform" {
|
||||||
"terraform --version" | Should -ReturnZeroExitCode
|
"terraform --version" | Should -ReturnZeroExitCode
|
||||||
}
|
}
|
||||||
@@ -261,18 +253,12 @@ Describe "Git-lfs" {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
Describe "Heroku" -Skip:((-not (Test-IsUbuntu20)) -and (-not (Test-IsUbuntu22))) {
|
Describe "Heroku" -Skip:((-not (Test-IsUbuntu22))) {
|
||||||
It "heroku" {
|
It "heroku" {
|
||||||
"heroku --version" | Should -ReturnZeroExitCode
|
"heroku --version" | Should -ReturnZeroExitCode
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
Describe "HHVM" -Skip:(-not (Test-IsUbuntu20)) {
|
|
||||||
It "hhvm" {
|
|
||||||
"hhvm --version" | Should -ReturnZeroExitCode
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
Describe "Homebrew" {
|
Describe "Homebrew" {
|
||||||
It "homebrew" {
|
It "homebrew" {
|
||||||
"/home/linuxbrew/.linuxbrew/bin/brew --version" | Should -ReturnZeroExitCode
|
"/home/linuxbrew/.linuxbrew/bin/brew --version" | Should -ReturnZeroExitCode
|
||||||
@@ -307,7 +293,7 @@ Describe "Kubernetes tools" {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
Describe "Leiningen" -Skip:((-not (Test-IsUbuntu20)) -and (-not (Test-IsUbuntu22))) {
|
Describe "Leiningen" -Skip:((-not (Test-IsUbuntu22))) {
|
||||||
It "leiningen" {
|
It "leiningen" {
|
||||||
"lein --version" | Should -ReturnZeroExitCode
|
"lein --version" | Should -ReturnZeroExitCode
|
||||||
}
|
}
|
||||||
@@ -331,13 +317,6 @@ Describe "Pulumi" {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
Describe "Phantomjs" -Skip:(-not (Test-IsUbuntu20)) {
|
|
||||||
It "phantomjs" {
|
|
||||||
$env:OPENSSL_CONF="/etc/ssl"
|
|
||||||
"phantomjs --version" | Should -ReturnZeroExitCode
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
Describe "Containers" {
|
Describe "Containers" {
|
||||||
$testCases = @("podman", "buildah", "skopeo") | ForEach-Object { @{ContainerCommand = $_} }
|
$testCases = @("podman", "buildah", "skopeo") | ForEach-Object { @{ContainerCommand = $_} }
|
||||||
|
|
||||||
|
|||||||
@@ -1,424 +0,0 @@
|
|||||||
locals {
|
|
||||||
managed_image_name = var.managed_image_name != "" ? var.managed_image_name : "packer-${var.image_os}-${var.image_version}"
|
|
||||||
}
|
|
||||||
|
|
||||||
variable "allowed_inbound_ip_addresses" {
|
|
||||||
type = list(string)
|
|
||||||
default = []
|
|
||||||
}
|
|
||||||
|
|
||||||
variable "azure_tags" {
|
|
||||||
type = map(string)
|
|
||||||
default = {}
|
|
||||||
}
|
|
||||||
|
|
||||||
variable "build_resource_group_name" {
|
|
||||||
type = string
|
|
||||||
default = "${env("BUILD_RESOURCE_GROUP_NAME")}"
|
|
||||||
}
|
|
||||||
|
|
||||||
variable "client_cert_path" {
|
|
||||||
type = string
|
|
||||||
default = "${env("ARM_CLIENT_CERT_PATH")}"
|
|
||||||
}
|
|
||||||
|
|
||||||
variable "client_id" {
|
|
||||||
type = string
|
|
||||||
default = "${env("ARM_CLIENT_ID")}"
|
|
||||||
}
|
|
||||||
|
|
||||||
variable "client_secret" {
|
|
||||||
type = string
|
|
||||||
default = "${env("ARM_CLIENT_SECRET")}"
|
|
||||||
sensitive = true
|
|
||||||
}
|
|
||||||
|
|
||||||
variable "dockerhub_login" {
|
|
||||||
type = string
|
|
||||||
default = "${env("DOCKERHUB_LOGIN")}"
|
|
||||||
}
|
|
||||||
|
|
||||||
variable "dockerhub_password" {
|
|
||||||
type = string
|
|
||||||
default = "${env("DOCKERHUB_PASSWORD")}"
|
|
||||||
}
|
|
||||||
|
|
||||||
variable "helper_script_folder" {
|
|
||||||
type = string
|
|
||||||
default = "/imagegeneration/helpers"
|
|
||||||
}
|
|
||||||
|
|
||||||
variable "image_folder" {
|
|
||||||
type = string
|
|
||||||
default = "/imagegeneration"
|
|
||||||
}
|
|
||||||
|
|
||||||
variable "image_os" {
|
|
||||||
type = string
|
|
||||||
default = "ubuntu20"
|
|
||||||
}
|
|
||||||
|
|
||||||
variable "image_version" {
|
|
||||||
type = string
|
|
||||||
default = "dev"
|
|
||||||
}
|
|
||||||
|
|
||||||
variable "imagedata_file" {
|
|
||||||
type = string
|
|
||||||
default = "/imagegeneration/imagedata.json"
|
|
||||||
}
|
|
||||||
|
|
||||||
variable "installer_script_folder" {
|
|
||||||
type = string
|
|
||||||
default = "/imagegeneration/installers"
|
|
||||||
}
|
|
||||||
|
|
||||||
variable "install_password" {
|
|
||||||
type = string
|
|
||||||
default = ""
|
|
||||||
sensitive = true
|
|
||||||
}
|
|
||||||
|
|
||||||
variable "location" {
|
|
||||||
type = string
|
|
||||||
default = "${env("ARM_RESOURCE_LOCATION")}"
|
|
||||||
}
|
|
||||||
|
|
||||||
variable "managed_image_name" {
|
|
||||||
type = string
|
|
||||||
default = ""
|
|
||||||
}
|
|
||||||
|
|
||||||
variable "managed_image_resource_group_name" {
|
|
||||||
type = string
|
|
||||||
default = "${env("ARM_RESOURCE_GROUP")}"
|
|
||||||
}
|
|
||||||
|
|
||||||
variable "private_virtual_network_with_public_ip" {
|
|
||||||
type = bool
|
|
||||||
default = false
|
|
||||||
}
|
|
||||||
|
|
||||||
variable "subscription_id" {
|
|
||||||
type = string
|
|
||||||
default = "${env("ARM_SUBSCRIPTION_ID")}"
|
|
||||||
}
|
|
||||||
|
|
||||||
variable "temp_resource_group_name" {
|
|
||||||
type = string
|
|
||||||
default = "${env("TEMP_RESOURCE_GROUP_NAME")}"
|
|
||||||
}
|
|
||||||
|
|
||||||
variable "tenant_id" {
|
|
||||||
type = string
|
|
||||||
default = "${env("ARM_TENANT_ID")}"
|
|
||||||
}
|
|
||||||
|
|
||||||
variable "virtual_network_name" {
|
|
||||||
type = string
|
|
||||||
default = "${env("VNET_NAME")}"
|
|
||||||
}
|
|
||||||
|
|
||||||
variable "virtual_network_resource_group_name" {
|
|
||||||
type = string
|
|
||||||
default = "${env("VNET_RESOURCE_GROUP")}"
|
|
||||||
}
|
|
||||||
|
|
||||||
variable "virtual_network_subnet_name" {
|
|
||||||
type = string
|
|
||||||
default = "${env("VNET_SUBNET")}"
|
|
||||||
}
|
|
||||||
|
|
||||||
variable "vm_size" {
|
|
||||||
type = string
|
|
||||||
default = "Standard_D4s_v4"
|
|
||||||
}
|
|
||||||
|
|
||||||
source "azure-arm" "build_image" {
|
|
||||||
allowed_inbound_ip_addresses = "${var.allowed_inbound_ip_addresses}"
|
|
||||||
build_resource_group_name = "${var.build_resource_group_name}"
|
|
||||||
client_cert_path = "${var.client_cert_path}"
|
|
||||||
client_id = "${var.client_id}"
|
|
||||||
client_secret = "${var.client_secret}"
|
|
||||||
image_offer = "0001-com-ubuntu-server-focal"
|
|
||||||
image_publisher = "canonical"
|
|
||||||
image_sku = "20_04-lts"
|
|
||||||
location = "${var.location}"
|
|
||||||
managed_image_name = "${local.managed_image_name}"
|
|
||||||
managed_image_resource_group_name = "${var.managed_image_resource_group_name}"
|
|
||||||
os_disk_size_gb = "75"
|
|
||||||
os_type = "Linux"
|
|
||||||
private_virtual_network_with_public_ip = "${var.private_virtual_network_with_public_ip}"
|
|
||||||
subscription_id = "${var.subscription_id}"
|
|
||||||
temp_resource_group_name = "${var.temp_resource_group_name}"
|
|
||||||
tenant_id = "${var.tenant_id}"
|
|
||||||
virtual_network_name = "${var.virtual_network_name}"
|
|
||||||
virtual_network_resource_group_name = "${var.virtual_network_resource_group_name}"
|
|
||||||
virtual_network_subnet_name = "${var.virtual_network_subnet_name}"
|
|
||||||
vm_size = "${var.vm_size}"
|
|
||||||
|
|
||||||
dynamic "azure_tag" {
|
|
||||||
for_each = var.azure_tags
|
|
||||||
content {
|
|
||||||
name = azure_tag.key
|
|
||||||
value = azure_tag.value
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
build {
|
|
||||||
sources = ["source.azure-arm.build_image"]
|
|
||||||
|
|
||||||
provisioner "shell" {
|
|
||||||
execute_command = "sudo sh -c '{{ .Vars }} {{ .Path }}'"
|
|
||||||
inline = ["mkdir ${var.image_folder}", "chmod 777 ${var.image_folder}"]
|
|
||||||
}
|
|
||||||
|
|
||||||
provisioner "file" {
|
|
||||||
destination = "${var.helper_script_folder}"
|
|
||||||
source = "${path.root}/../scripts/helpers"
|
|
||||||
}
|
|
||||||
|
|
||||||
provisioner "shell" {
|
|
||||||
execute_command = "sudo sh -c '{{ .Vars }} {{ .Path }}'"
|
|
||||||
script = "${path.root}/../scripts/build/configure-apt-mock.sh"
|
|
||||||
}
|
|
||||||
|
|
||||||
provisioner "shell" {
|
|
||||||
environment_vars = ["HELPER_SCRIPTS=${var.helper_script_folder}","DEBIAN_FRONTEND=noninteractive"]
|
|
||||||
execute_command = "sudo sh -c '{{ .Vars }} {{ .Path }}'"
|
|
||||||
scripts = [
|
|
||||||
"${path.root}/../scripts/build/install-ms-repos.sh",
|
|
||||||
"${path.root}/../scripts/build/configure-apt-sources.sh",
|
|
||||||
"${path.root}/../scripts/build/configure-apt.sh"
|
|
||||||
]
|
|
||||||
}
|
|
||||||
|
|
||||||
provisioner "shell" {
|
|
||||||
execute_command = "sudo sh -c '{{ .Vars }} {{ .Path }}'"
|
|
||||||
script = "${path.root}/../scripts/build/configure-limits.sh"
|
|
||||||
}
|
|
||||||
|
|
||||||
provisioner "file" {
|
|
||||||
destination = "${var.installer_script_folder}"
|
|
||||||
source = "${path.root}/../scripts/build"
|
|
||||||
}
|
|
||||||
|
|
||||||
provisioner "file" {
|
|
||||||
destination = "${var.image_folder}"
|
|
||||||
sources = [
|
|
||||||
"${path.root}/../assets/post-gen",
|
|
||||||
"${path.root}/../scripts/tests",
|
|
||||||
"${path.root}/../scripts/docs-gen"
|
|
||||||
]
|
|
||||||
}
|
|
||||||
|
|
||||||
provisioner "file" {
|
|
||||||
destination = "${var.image_folder}/docs-gen/"
|
|
||||||
source = "${path.root}/../../../helpers/software-report-base"
|
|
||||||
}
|
|
||||||
|
|
||||||
provisioner "file" {
|
|
||||||
destination = "${var.installer_script_folder}/toolset.json"
|
|
||||||
source = "${path.root}/../toolsets/toolset-2004.json"
|
|
||||||
}
|
|
||||||
|
|
||||||
provisioner "shell" {
|
|
||||||
execute_command = "sudo sh -c '{{ .Vars }} {{ .Path }}'"
|
|
||||||
inline = [
|
|
||||||
"mv ${var.image_folder}/docs-gen ${var.image_folder}/SoftwareReport",
|
|
||||||
"mv ${var.image_folder}/post-gen ${var.image_folder}/post-generation"
|
|
||||||
]
|
|
||||||
}
|
|
||||||
|
|
||||||
provisioner "shell" {
|
|
||||||
environment_vars = ["IMAGE_VERSION=${var.image_version}", "IMAGEDATA_FILE=${var.imagedata_file}"]
|
|
||||||
execute_command = "sudo sh -c '{{ .Vars }} {{ .Path }}'"
|
|
||||||
scripts = ["${path.root}/../scripts/build/configure-image-data.sh"]
|
|
||||||
}
|
|
||||||
|
|
||||||
provisioner "shell" {
|
|
||||||
environment_vars = ["IMAGE_VERSION=${var.image_version}", "IMAGE_OS=${var.image_os}", "HELPER_SCRIPTS=${var.helper_script_folder}"]
|
|
||||||
execute_command = "sudo sh -c '{{ .Vars }} {{ .Path }}'"
|
|
||||||
scripts = ["${path.root}/../scripts/build/configure-environment.sh"]
|
|
||||||
}
|
|
||||||
|
|
||||||
provisioner "shell" {
|
|
||||||
environment_vars = ["DEBIAN_FRONTEND=noninteractive", "HELPER_SCRIPTS=${var.helper_script_folder}", "INSTALLER_SCRIPT_FOLDER=${var.installer_script_folder}"]
|
|
||||||
execute_command = "sudo sh -c '{{ .Vars }} {{ .Path }}'"
|
|
||||||
scripts = ["${path.root}/../scripts/build/install-apt-vital.sh"]
|
|
||||||
}
|
|
||||||
|
|
||||||
provisioner "shell" {
|
|
||||||
environment_vars = ["HELPER_SCRIPTS=${var.helper_script_folder}", "INSTALLER_SCRIPT_FOLDER=${var.installer_script_folder}"]
|
|
||||||
execute_command = "sudo sh -c '{{ .Vars }} {{ .Path }}'"
|
|
||||||
scripts = ["${path.root}/../scripts/build/install-powershell.sh"]
|
|
||||||
}
|
|
||||||
|
|
||||||
provisioner "shell" {
|
|
||||||
environment_vars = ["HELPER_SCRIPTS=${var.helper_script_folder}", "INSTALLER_SCRIPT_FOLDER=${var.installer_script_folder}"]
|
|
||||||
execute_command = "sudo sh -c '{{ .Vars }} pwsh -f {{ .Path }}'"
|
|
||||||
scripts = ["${path.root}/../scripts/build/Install-PowerShellModules.ps1", "${path.root}/../scripts/build/Install-PowerShellAzModules.ps1"]
|
|
||||||
}
|
|
||||||
|
|
||||||
provisioner "shell" {
|
|
||||||
environment_vars = ["HELPER_SCRIPTS=${var.helper_script_folder}", "INSTALLER_SCRIPT_FOLDER=${var.installer_script_folder}", "DEBIAN_FRONTEND=noninteractive"]
|
|
||||||
execute_command = "sudo sh -c '{{ .Vars }} {{ .Path }}'"
|
|
||||||
scripts = [
|
|
||||||
"${path.root}/../scripts/build/install-actions-cache.sh",
|
|
||||||
"${path.root}/../scripts/build/install-runner-package.sh",
|
|
||||||
"${path.root}/../scripts/build/install-apt-common.sh",
|
|
||||||
"${path.root}/../scripts/build/install-azcopy.sh",
|
|
||||||
"${path.root}/../scripts/build/install-azure-cli.sh",
|
|
||||||
"${path.root}/../scripts/build/install-azure-devops-cli.sh",
|
|
||||||
"${path.root}/../scripts/build/install-bicep.sh",
|
|
||||||
"${path.root}/../scripts/build/install-aliyun-cli.sh",
|
|
||||||
"${path.root}/../scripts/build/install-apache.sh",
|
|
||||||
"${path.root}/../scripts/build/install-aws-tools.sh",
|
|
||||||
"${path.root}/../scripts/build/install-clang.sh",
|
|
||||||
"${path.root}/../scripts/build/install-swift.sh",
|
|
||||||
"${path.root}/../scripts/build/install-cmake.sh",
|
|
||||||
"${path.root}/../scripts/build/install-codeql-bundle.sh",
|
|
||||||
"${path.root}/../scripts/build/install-container-tools.sh",
|
|
||||||
"${path.root}/../scripts/build/install-dotnetcore-sdk.sh",
|
|
||||||
"${path.root}/../scripts/build/install-erlang.sh",
|
|
||||||
"${path.root}/../scripts/build/install-firefox.sh",
|
|
||||||
"${path.root}/../scripts/build/install-microsoft-edge.sh",
|
|
||||||
"${path.root}/../scripts/build/install-gcc-compilers.sh",
|
|
||||||
"${path.root}/../scripts/build/install-gfortran.sh",
|
|
||||||
"${path.root}/../scripts/build/install-git.sh",
|
|
||||||
"${path.root}/../scripts/build/install-git-lfs.sh",
|
|
||||||
"${path.root}/../scripts/build/install-github-cli.sh",
|
|
||||||
"${path.root}/../scripts/build/install-google-chrome.sh",
|
|
||||||
"${path.root}/../scripts/build/install-google-cloud-cli.sh",
|
|
||||||
"${path.root}/../scripts/build/install-haskell.sh",
|
|
||||||
"${path.root}/../scripts/build/install-heroku.sh",
|
|
||||||
"${path.root}/../scripts/build/install-hhvm.sh",
|
|
||||||
"${path.root}/../scripts/build/install-java-tools.sh",
|
|
||||||
"${path.root}/../scripts/build/install-kubernetes-tools.sh",
|
|
||||||
"${path.root}/../scripts/build/install-oc-cli.sh",
|
|
||||||
"${path.root}/../scripts/build/install-leiningen.sh",
|
|
||||||
"${path.root}/../scripts/build/install-miniconda.sh",
|
|
||||||
"${path.root}/../scripts/build/install-mono.sh",
|
|
||||||
"${path.root}/../scripts/build/install-kotlin.sh",
|
|
||||||
"${path.root}/../scripts/build/install-mysql.sh",
|
|
||||||
"${path.root}/../scripts/build/install-mssql-tools.sh",
|
|
||||||
"${path.root}/../scripts/build/install-sqlpackage.sh",
|
|
||||||
"${path.root}/../scripts/build/install-nginx.sh",
|
|
||||||
"${path.root}/../scripts/build/install-nvm.sh",
|
|
||||||
"${path.root}/../scripts/build/install-nodejs.sh",
|
|
||||||
"${path.root}/../scripts/build/install-bazel.sh",
|
|
||||||
"${path.root}/../scripts/build/install-oras-cli.sh",
|
|
||||||
"${path.root}/../scripts/build/install-phantomjs.sh",
|
|
||||||
"${path.root}/../scripts/build/install-php.sh",
|
|
||||||
"${path.root}/../scripts/build/install-postgresql.sh",
|
|
||||||
"${path.root}/../scripts/build/install-pulumi.sh",
|
|
||||||
"${path.root}/../scripts/build/install-ruby.sh",
|
|
||||||
"${path.root}/../scripts/build/install-rlang.sh",
|
|
||||||
"${path.root}/../scripts/build/install-rust.sh",
|
|
||||||
"${path.root}/../scripts/build/install-julia.sh",
|
|
||||||
"${path.root}/../scripts/build/install-sbt.sh",
|
|
||||||
"${path.root}/../scripts/build/install-selenium.sh",
|
|
||||||
"${path.root}/../scripts/build/install-terraform.sh",
|
|
||||||
"${path.root}/../scripts/build/install-packer.sh",
|
|
||||||
"${path.root}/../scripts/build/install-vcpkg.sh",
|
|
||||||
"${path.root}/../scripts/build/configure-dpkg.sh",
|
|
||||||
"${path.root}/../scripts/build/install-mongodb.sh",
|
|
||||||
"${path.root}/../scripts/build/install-yq.sh",
|
|
||||||
"${path.root}/../scripts/build/install-android-sdk.sh",
|
|
||||||
"${path.root}/../scripts/build/install-pypy.sh",
|
|
||||||
"${path.root}/../scripts/build/install-python.sh",
|
|
||||||
"${path.root}/../scripts/build/install-zstd.sh",
|
|
||||||
"${path.root}/../scripts/build/install-ninja.sh"
|
|
||||||
]
|
|
||||||
}
|
|
||||||
|
|
||||||
provisioner "shell" {
|
|
||||||
environment_vars = ["HELPER_SCRIPTS=${var.helper_script_folder}", "INSTALLER_SCRIPT_FOLDER=${var.installer_script_folder}", "DOCKERHUB_LOGIN=${var.dockerhub_login}", "DOCKERHUB_PASSWORD=${var.dockerhub_password}"]
|
|
||||||
execute_command = "sudo sh -c '{{ .Vars }} {{ .Path }}'"
|
|
||||||
scripts = ["${path.root}/../scripts/build/install-docker.sh"]
|
|
||||||
}
|
|
||||||
|
|
||||||
provisioner "shell" {
|
|
||||||
environment_vars = ["HELPER_SCRIPTS=${var.helper_script_folder}", "INSTALLER_SCRIPT_FOLDER=${var.installer_script_folder}"]
|
|
||||||
execute_command = "sudo sh -c '{{ .Vars }} pwsh -f {{ .Path }}'"
|
|
||||||
scripts = ["${path.root}/../scripts/build/Install-Toolset.ps1", "${path.root}/../scripts/build/Configure-Toolset.ps1"]
|
|
||||||
}
|
|
||||||
|
|
||||||
provisioner "shell" {
|
|
||||||
environment_vars = ["HELPER_SCRIPTS=${var.helper_script_folder}", "INSTALLER_SCRIPT_FOLDER=${var.installer_script_folder}"]
|
|
||||||
execute_command = "sudo sh -c '{{ .Vars }} {{ .Path }}'"
|
|
||||||
scripts = ["${path.root}/../scripts/build/install-pipx-packages.sh"]
|
|
||||||
}
|
|
||||||
|
|
||||||
provisioner "shell" {
|
|
||||||
environment_vars = ["HELPER_SCRIPTS=${var.helper_script_folder}", "DEBIAN_FRONTEND=noninteractive", "INSTALLER_SCRIPT_FOLDER=${var.installer_script_folder}"]
|
|
||||||
execute_command = "/bin/sh -c '{{ .Vars }} {{ .Path }}'"
|
|
||||||
scripts = ["${path.root}/../scripts/build/install-homebrew.sh"]
|
|
||||||
}
|
|
||||||
|
|
||||||
provisioner "shell" {
|
|
||||||
environment_vars = ["HELPER_SCRIPTS=${var.helper_script_folder}"]
|
|
||||||
execute_command = "sudo sh -c '{{ .Vars }} {{ .Path }}'"
|
|
||||||
scripts = ["${path.root}/../scripts/build/configure-snap.sh"]
|
|
||||||
}
|
|
||||||
|
|
||||||
provisioner "shell" {
|
|
||||||
execute_command = "sudo sh -c '{{ .Vars }} {{ .Path }}'"
|
|
||||||
expect_disconnect = true
|
|
||||||
inline = ["echo 'Reboot VM'", "sudo reboot"]
|
|
||||||
}
|
|
||||||
|
|
||||||
provisioner "shell" {
|
|
||||||
execute_command = "sudo sh -c '{{ .Vars }} {{ .Path }}'"
|
|
||||||
pause_before = "1m0s"
|
|
||||||
scripts = ["${path.root}/../scripts/build/cleanup.sh"]
|
|
||||||
start_retry_timeout = "10m"
|
|
||||||
}
|
|
||||||
|
|
||||||
provisioner "shell" {
|
|
||||||
environment_vars = ["IMAGE_VERSION=${var.image_version}", "INSTALLER_SCRIPT_FOLDER=${var.installer_script_folder}"]
|
|
||||||
inline = [
|
|
||||||
"pwsh -Command Write-Host Running Generate-SoftwareReport.ps1 script",
|
|
||||||
"pwsh -File ${var.image_folder}/SoftwareReport/Generate-SoftwareReport.ps1 -OutputDirectory ${var.image_folder}",
|
|
||||||
"pwsh -Command Write-Host Running RunAll-Tests.ps1 script",
|
|
||||||
"pwsh -File ${var.image_folder}/tests/RunAll-Tests.ps1 -OutputDirectory ${var.image_folder}"
|
|
||||||
]
|
|
||||||
max_retries = "3"
|
|
||||||
start_retry_timeout = "2m"
|
|
||||||
}
|
|
||||||
|
|
||||||
provisioner "file" {
|
|
||||||
destination = "${path.root}/../Ubuntu2004-Readme.md"
|
|
||||||
direction = "download"
|
|
||||||
source = "${var.image_folder}/software-report.md"
|
|
||||||
}
|
|
||||||
|
|
||||||
provisioner "file" {
|
|
||||||
destination = "${path.root}/../software-report.json"
|
|
||||||
direction = "download"
|
|
||||||
source = "${var.image_folder}/software-report.json"
|
|
||||||
}
|
|
||||||
|
|
||||||
provisioner "shell" {
|
|
||||||
environment_vars = ["HELPER_SCRIPT_FOLDER=${var.helper_script_folder}", "INSTALLER_SCRIPT_FOLDER=${var.installer_script_folder}", "IMAGE_FOLDER=${var.image_folder}"]
|
|
||||||
execute_command = "sudo sh -c '{{ .Vars }} {{ .Path }}'"
|
|
||||||
scripts = ["${path.root}/../scripts/build/configure-system.sh"]
|
|
||||||
}
|
|
||||||
|
|
||||||
provisioner "file" {
|
|
||||||
destination = "/tmp/"
|
|
||||||
source = "${path.root}/../assets/ubuntu2004.conf"
|
|
||||||
}
|
|
||||||
|
|
||||||
provisioner "shell" {
|
|
||||||
execute_command = "sudo sh -c '{{ .Vars }} {{ .Path }}'"
|
|
||||||
inline = ["mkdir -p /etc/vsts", "cp /tmp/ubuntu2004.conf /etc/vsts/machine_instance.conf"]
|
|
||||||
}
|
|
||||||
|
|
||||||
provisioner "shell" {
|
|
||||||
execute_command = "sudo sh -c '{{ .Vars }} {{ .Path }}'"
|
|
||||||
inline = ["sleep 30", "/usr/sbin/waagent -force -deprovision+user && export HISTSIZE=0 && sync"]
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
@@ -1,401 +0,0 @@
|
|||||||
{
|
|
||||||
"toolcache": [
|
|
||||||
{
|
|
||||||
"name": "Python",
|
|
||||||
"url" : "https://raw.githubusercontent.com/actions/python-versions/main/versions-manifest.json",
|
|
||||||
"platform" : "linux",
|
|
||||||
"platform_version": "20.04",
|
|
||||||
"arch": "x64",
|
|
||||||
"versions": [
|
|
||||||
"3.8.*",
|
|
||||||
"3.9.*",
|
|
||||||
"3.10.*",
|
|
||||||
"3.11.*",
|
|
||||||
"3.12.*",
|
|
||||||
"3.13.*"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "PyPy",
|
|
||||||
"arch": "x64",
|
|
||||||
"platform" : "linux",
|
|
||||||
"versions": [
|
|
||||||
"2.7",
|
|
||||||
"3.6",
|
|
||||||
"3.7",
|
|
||||||
"3.8",
|
|
||||||
"3.9",
|
|
||||||
"3.10"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "node",
|
|
||||||
"url" : "https://raw.githubusercontent.com/actions/node-versions/main/versions-manifest.json",
|
|
||||||
"platform" : "linux",
|
|
||||||
"arch": "x64",
|
|
||||||
"versions": [
|
|
||||||
"18.*",
|
|
||||||
"20.*",
|
|
||||||
"22.*"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "go",
|
|
||||||
"url" : "https://raw.githubusercontent.com/actions/go-versions/main/versions-manifest.json",
|
|
||||||
"arch": "x64",
|
|
||||||
"platform" : "linux",
|
|
||||||
"versions": [
|
|
||||||
"1.21.*",
|
|
||||||
"1.22.*",
|
|
||||||
"1.23.*"
|
|
||||||
],
|
|
||||||
"default": "1.23.*"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Ruby",
|
|
||||||
"platform_version": "20.04",
|
|
||||||
"arch": "x64",
|
|
||||||
"versions": [
|
|
||||||
"3.0.*",
|
|
||||||
"3.1.*",
|
|
||||||
"3.2.*",
|
|
||||||
"3.3.*"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "CodeQL",
|
|
||||||
"platform" : "linux",
|
|
||||||
"arch": "x64",
|
|
||||||
"versions": [
|
|
||||||
"*"
|
|
||||||
]
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"java": {
|
|
||||||
"default": "11",
|
|
||||||
"versions": [ "8", "11", "17", "21"],
|
|
||||||
"maven": "3.9.9"
|
|
||||||
},
|
|
||||||
"android": {
|
|
||||||
"cmdline-tools": "commandlinetools-linux-9477386_latest.zip",
|
|
||||||
"platform_min_version": "31",
|
|
||||||
"build_tools_min_version": "31.0.0",
|
|
||||||
"extra_list": [
|
|
||||||
"android;m2repository",
|
|
||||||
"google;m2repository",
|
|
||||||
"google;google_play_services"
|
|
||||||
],
|
|
||||||
"addon_list": [
|
|
||||||
],
|
|
||||||
"additional_tools": [
|
|
||||||
"cmake;3.18.1",
|
|
||||||
"cmake;3.22.1",
|
|
||||||
"cmake;3.31.5"
|
|
||||||
],
|
|
||||||
"ndk": {
|
|
||||||
"default": "27",
|
|
||||||
"versions": [
|
|
||||||
"26", "27"
|
|
||||||
]
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"powershellModules": [
|
|
||||||
{"name": "MarkdownPS"},
|
|
||||||
{"name": "Microsoft.Graph"},
|
|
||||||
{"name": "Pester"},
|
|
||||||
{"name": "PSScriptAnalyzer"}
|
|
||||||
],
|
|
||||||
"azureModules": [
|
|
||||||
{
|
|
||||||
"name": "az",
|
|
||||||
"versions": [
|
|
||||||
"12.1.0"
|
|
||||||
]
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"apt": {
|
|
||||||
"vital_packages": [
|
|
||||||
"bzip2",
|
|
||||||
"curl",
|
|
||||||
"g++",
|
|
||||||
"gcc",
|
|
||||||
"make",
|
|
||||||
"jq",
|
|
||||||
"tar",
|
|
||||||
"unzip",
|
|
||||||
"wget"
|
|
||||||
],
|
|
||||||
"common_packages": [
|
|
||||||
"autoconf",
|
|
||||||
"automake",
|
|
||||||
"dbus",
|
|
||||||
"dnsutils",
|
|
||||||
"dpkg",
|
|
||||||
"dpkg-dev",
|
|
||||||
"fakeroot",
|
|
||||||
"fonts-noto-color-emoji",
|
|
||||||
"gnupg2",
|
|
||||||
"imagemagick",
|
|
||||||
"iproute2",
|
|
||||||
"iputils-ping",
|
|
||||||
"lib32z1",
|
|
||||||
"libc++abi-dev",
|
|
||||||
"libc++-dev",
|
|
||||||
"libc6-dev",
|
|
||||||
"libcurl4",
|
|
||||||
"libgbm-dev",
|
|
||||||
"libgconf-2-4",
|
|
||||||
"libgsl-dev",
|
|
||||||
"libgtk-3-0",
|
|
||||||
"libmagic-dev",
|
|
||||||
"libmagickcore-dev",
|
|
||||||
"libmagickwand-dev",
|
|
||||||
"libsecret-1-dev",
|
|
||||||
"libsqlite3-dev",
|
|
||||||
"libyaml-dev",
|
|
||||||
"libtool",
|
|
||||||
"libunwind8",
|
|
||||||
"libxkbfile-dev",
|
|
||||||
"libxss1",
|
|
||||||
"locales",
|
|
||||||
"mercurial",
|
|
||||||
"openssh-client",
|
|
||||||
"p7zip-rar",
|
|
||||||
"pkg-config",
|
|
||||||
"python-is-python3",
|
|
||||||
"rpm",
|
|
||||||
"texinfo",
|
|
||||||
"tk",
|
|
||||||
"tzdata",
|
|
||||||
"upx",
|
|
||||||
"xorriso",
|
|
||||||
"xvfb",
|
|
||||||
"xz-utils",
|
|
||||||
"zsync"
|
|
||||||
],
|
|
||||||
"cmd_packages": [
|
|
||||||
"acl",
|
|
||||||
"aria2",
|
|
||||||
"binutils",
|
|
||||||
"bison",
|
|
||||||
"brotli",
|
|
||||||
"coreutils",
|
|
||||||
"file",
|
|
||||||
"findutils",
|
|
||||||
"flex",
|
|
||||||
"ftp",
|
|
||||||
"haveged",
|
|
||||||
"m4",
|
|
||||||
"mediainfo",
|
|
||||||
"netcat",
|
|
||||||
"net-tools",
|
|
||||||
"p7zip-full",
|
|
||||||
"parallel",
|
|
||||||
"pass",
|
|
||||||
"patchelf",
|
|
||||||
"pigz",
|
|
||||||
"pollinate",
|
|
||||||
"rsync",
|
|
||||||
"shellcheck",
|
|
||||||
"sphinxsearch",
|
|
||||||
"sqlite3",
|
|
||||||
"ssh",
|
|
||||||
"sshpass",
|
|
||||||
"subversion",
|
|
||||||
"sudo",
|
|
||||||
"systemd-coredump",
|
|
||||||
"swig",
|
|
||||||
"telnet",
|
|
||||||
"time",
|
|
||||||
"zip"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"brew": [
|
|
||||||
],
|
|
||||||
"docker": {
|
|
||||||
"images": [
|
|
||||||
"alpine:3.16",
|
|
||||||
"alpine:3.17",
|
|
||||||
"alpine:3.18",
|
|
||||||
"alpine:3.19",
|
|
||||||
"debian:9",
|
|
||||||
"debian:10",
|
|
||||||
"debian:11",
|
|
||||||
"moby/buildkit:latest",
|
|
||||||
"node:18",
|
|
||||||
"node:20",
|
|
||||||
"node:22",
|
|
||||||
"node:18-alpine",
|
|
||||||
"node:20-alpine",
|
|
||||||
"node:22-alpine",
|
|
||||||
"ubuntu:20.04"
|
|
||||||
],
|
|
||||||
"components": [
|
|
||||||
{
|
|
||||||
"package": "containerd.io",
|
|
||||||
"version": "latest"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"package": "docker-ce-cli",
|
|
||||||
"version": "26.1.3"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"package": "docker-ce",
|
|
||||||
"version": "26.1.3"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"plugins": [
|
|
||||||
{
|
|
||||||
"plugin": "buildx",
|
|
||||||
"version": "latest",
|
|
||||||
"asset": "linux-amd64"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"plugin": "compose",
|
|
||||||
"version": "2.27.1",
|
|
||||||
"asset": "linux-x86_64"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"pipx": [
|
|
||||||
{
|
|
||||||
"package": "yamllint",
|
|
||||||
"cmd": "yamllint"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"package": "ansible-core",
|
|
||||||
"cmd": "ansible"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"dotnet": {
|
|
||||||
"aptPackages": [
|
|
||||||
"dotnet-sdk-6.0",
|
|
||||||
"dotnet-sdk-8.0",
|
|
||||||
"dotnet-sdk-9.0"
|
|
||||||
],
|
|
||||||
"versions": [
|
|
||||||
"6.0",
|
|
||||||
"8.0",
|
|
||||||
"9.0"
|
|
||||||
],
|
|
||||||
"tools": [
|
|
||||||
{ "name": "nbgv", "test": "nbgv --version", "getversion" : "nbgv --version" }
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"clang": {
|
|
||||||
"versions": [
|
|
||||||
"10",
|
|
||||||
"11",
|
|
||||||
"12"
|
|
||||||
],
|
|
||||||
"default_version": "11"
|
|
||||||
},
|
|
||||||
"gcc": {
|
|
||||||
"versions": [
|
|
||||||
"g++-9",
|
|
||||||
"g++-10"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"gfortran": {
|
|
||||||
"versions": [
|
|
||||||
"gfortran-9",
|
|
||||||
"gfortran-10"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"php": {
|
|
||||||
"versions": [
|
|
||||||
"7.4",
|
|
||||||
"8.0",
|
|
||||||
"8.1",
|
|
||||||
"8.2",
|
|
||||||
"8.3"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"rubygems": [
|
|
||||||
{"name": "fastlane"}
|
|
||||||
],
|
|
||||||
"selenium": {
|
|
||||||
"version": "4"
|
|
||||||
},
|
|
||||||
"node": {
|
|
||||||
"default": "18"
|
|
||||||
},
|
|
||||||
"node_modules": [
|
|
||||||
{
|
|
||||||
"name": "grunt",
|
|
||||||
"command": "grunt"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "gulp",
|
|
||||||
"command": "gulp"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "n",
|
|
||||||
"command": "n"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "parcel",
|
|
||||||
"command": "parcel"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "typescript",
|
|
||||||
"command": "tsc"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "newman",
|
|
||||||
"command": "newman"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "vercel",
|
|
||||||
"command": "vercel"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "webpack",
|
|
||||||
"command": "webpack"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "webpack-cli",
|
|
||||||
"command": "webpack-cli"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "netlify-cli",
|
|
||||||
"command": "netlify"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "lerna",
|
|
||||||
"command": "lerna"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "yarn",
|
|
||||||
"command": "yarn"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"mongodb": {
|
|
||||||
"version": "5.0"
|
|
||||||
},
|
|
||||||
"postgresql": {
|
|
||||||
"version": "14"
|
|
||||||
},
|
|
||||||
"pwsh": {
|
|
||||||
"version": "7.4"
|
|
||||||
},
|
|
||||||
"aliyunCli": {
|
|
||||||
"version": "3.0.174",
|
|
||||||
"sha256": "0c51028a7a32fc02c8de855f73e273556f957115eb5624565738f9b9f83a50ba",
|
|
||||||
"pinnedDetails": {
|
|
||||||
"link": "https://github.com/actions/runner-images-internal/pull/6702",
|
|
||||||
"reason": "Meaningful reason must be added at next update.",
|
|
||||||
"review-at": "2025-06-01",
|
|
||||||
"type": "preexisting-pinned-version-without-reason"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"ocCli": {
|
|
||||||
"version": "4.15.19",
|
|
||||||
"pinnedDetails": {
|
|
||||||
"link": "https://github.com/actions/runner-images-internal/pull/6702",
|
|
||||||
"reason": "Meaningful reason must be added at next update.",
|
|
||||||
"review-at": "2025-06-01",
|
|
||||||
"type": "preexisting-pinned-version-without-reason"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
Reference in New Issue
Block a user