From e72606ffb643bcabdd712fb09ef10c3181959f27 Mon Sep 17 00:00:00 2001 From: Shamil Mubarakshin <127750046+shamil-mubarakshin@users.noreply.github.com> Date: Tue, 4 Apr 2023 12:36:53 +0200 Subject: [PATCH] Cleanup ubuntu1804 image references (#7388) --- .github/ISSUE_TEMPLATE/announcement.yml | 1 - .github/ISSUE_TEMPLATE/bug-report.yml | 1 - .github/ISSUE_TEMPLATE/tool-request.yml | 1 - CONTRIBUTING.md | 2 +- README.md | 4 +- docs/create-image-and-azure-resources.md | 10 +- helpers/GenerateResourcesAndImage.ps1 | 12 +- .../azure-pipelines/ubuntu1804.yml | 20 - images/linux/Ubuntu1804-Readme.md | 397 ------------------ images/linux/config/ubuntu1804.conf | 2 - .../SoftwareReport.Databases.psm1 | 3 - .../SoftwareReport.Generator.ps1 | 12 +- .../linux/scripts/helpers/Common.Helpers.psm1 | 4 - images/linux/scripts/helpers/os.sh | 5 - images/linux/scripts/installers/android.sh | 35 +- images/linux/scripts/installers/containers.sh | 4 +- images/linux/scripts/installers/erlang.sh | 12 +- images/linux/scripts/installers/java-tools.sh | 12 +- images/linux/scripts/installers/php.sh | 2 +- images/linux/scripts/installers/python.sh | 4 - images/linux/scripts/tests/Tools.Tests.ps1 | 2 +- images/linux/toolsets/toolset-1804.json | 361 ---------------- images/linux/ubuntu1804.json | 393 ----------------- 23 files changed, 40 insertions(+), 1259 deletions(-) delete mode 100644 images.CI/linux-and-win/azure-pipelines/ubuntu1804.yml delete mode 100644 images/linux/Ubuntu1804-Readme.md delete mode 100644 images/linux/config/ubuntu1804.conf delete mode 100644 images/linux/toolsets/toolset-1804.json delete mode 100644 images/linux/ubuntu1804.json diff --git a/.github/ISSUE_TEMPLATE/announcement.yml b/.github/ISSUE_TEMPLATE/announcement.yml index 59b3bba81..5a43bde1a 100644 --- a/.github/ISSUE_TEMPLATE/announcement.yml +++ b/.github/ISSUE_TEMPLATE/announcement.yml @@ -36,7 +36,6 @@ body: attributes: label: Runner images affected options: - - label: Ubuntu 18.04 - label: Ubuntu 20.04 - label: Ubuntu 22.04 - label: macOS 11 diff --git a/.github/ISSUE_TEMPLATE/bug-report.yml b/.github/ISSUE_TEMPLATE/bug-report.yml index 158421a7b..9d2337eda 100644 --- a/.github/ISSUE_TEMPLATE/bug-report.yml +++ b/.github/ISSUE_TEMPLATE/bug-report.yml @@ -19,7 +19,6 @@ body: attributes: label: Runner images affected options: - - label: Ubuntu 18.04 - label: Ubuntu 20.04 - label: Ubuntu 22.04 - label: macOS 11 diff --git a/.github/ISSUE_TEMPLATE/tool-request.yml b/.github/ISSUE_TEMPLATE/tool-request.yml index cf8c29ab1..687118da4 100644 --- a/.github/ISSUE_TEMPLATE/tool-request.yml +++ b/.github/ISSUE_TEMPLATE/tool-request.yml @@ -57,7 +57,6 @@ body: attributes: label: Runner images where you need the tool options: - - label: Ubuntu 18.04 - label: Ubuntu 20.04 - label: Ubuntu 22.04 - label: macOS 11 diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index ccc992075..21222c5c7 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -49,7 +49,7 @@ Add `Invoke-PesterTests -TestFile [-TestName ]` at 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. -- 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). +- 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. [Ubuntu2004-Readme.md](images/linux/Ubuntu2004-README.md) and it uses [MarkdownPS](https://github.com/Sarafian/MarkdownPS). ### macOS 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. diff --git a/README.md b/README.md index a9d73b742..4d4edeb95 100644 --- a/README.md +++ b/README.md @@ -23,7 +23,6 @@ To build a VM machine from this repo's source, see the [instructions](docs/creat | --------------------|---------------------|--------------------|---------------------| | Ubuntu 22.04 | `ubuntu-latest` or `ubuntu-22.04` | [ubuntu-22.04] | [![status22](https://actionvirtualenvironmentsstatus.azurewebsites.net/api/status?imageName=ubuntu22&badge=1)](https://actionvirtualenvironmentsstatus.azurewebsites.net/api/status?imageName=ubuntu22&redirect=1) | Ubuntu 20.04 | `ubuntu-20.04` | [ubuntu-20.04] | [![status20](https://actionvirtualenvironmentsstatus.azurewebsites.net/api/status?imageName=ubuntu20&badge=1)](https://actionvirtualenvironmentsstatus.azurewebsites.net/api/status?imageName=ubuntu20&redirect=1) -| Ubuntu 18.04 deprecated | `ubuntu-18.04` | [ubuntu-18.04] | [![status18](https://actionvirtualenvironmentsstatus.azurewebsites.net/api/status?imageName=ubuntu18&badge=1)](https://actionvirtualenvironmentsstatus.azurewebsites.net/api/status?imageName=ubuntu18&redirect=1) | macOS 12 | `macos-latest` or `macos-12`| [macOS-12] | [![statusumac12](https://actionvirtualenvironmentsstatus.azurewebsites.net/api/status?imageName=macos-12&badge=1)](https://actionvirtualenvironmentsstatus.azurewebsites.net/api/status?imageName=macos-12&redirect=1) | macOS 11 | `macos-11`| [macOS-11] | [![statusmac11](https://actionvirtualenvironmentsstatus.azurewebsites.net/api/status?imageName=macos-11&badge=1)](https://actionvirtualenvironmentsstatus.azurewebsites.net/api/status?imageName=macos-11&redirect=1) | macOS 10.15 deprecated | `macos-10.15` | [macOS-10.15] | [![statusmac10](https://actionvirtualenvironmentsstatus.azurewebsites.net/api/status?imageName=macos-10.15&badge=1)](https://actionvirtualenvironmentsstatus.azurewebsites.net/api/status?imageName=macos-10.15&redirect=1) @@ -37,7 +36,6 @@ To build a VM machine from this repo's source, see the [instructions](docs/creat [ubuntu-22.04]: https://github.com/actions/runner-images/blob/main/images/linux/Ubuntu2204-Readme.md [ubuntu-20.04]: https://github.com/actions/runner-images/blob/main/images/linux/Ubuntu2004-Readme.md -[ubuntu-18.04]: https://github.com/actions/runner-images/blob/main/images/linux/Ubuntu1804-Readme.md [windows-2022]: https://github.com/actions/runner-images/blob/main/images/win/Windows2022-Readme.md [windows-2019]: https://github.com/actions/runner-images/blob/main/images/win/Windows2019-Readme.md [macOS-11]: https://github.com/actions/runner-images/blob/main/images/macos/macos-11-Readme.md @@ -118,7 +116,7 @@ We use third-party package managers to install software during the image generat | Operating system | Package manager | Third-party repos and packages | | :--- | :---: | ---: | -| Ubuntu | [APT](https://wiki.debian.org/Apt) | [Eclipse-Timurin (Adoptium)](https://packages.adoptium.net/artifactory/deb)
[Erlang](https://packages.erlang-solutions.com/ubuntu)
[Firefox](https://launchpad.net/~mozillateam/+archive/ubuntu/ppa)
[gcc, gfortran](https://launchpad.net/~ubuntu-toolchain-r/+archive/ubuntu/test)
[git](https://launchpad.net/~git-core/+archive/ubuntu/ppa)
[HHvm](https://dl.hhvm.com/ubuntu)
[PHP](https://launchpad.net/~ondrej/+archive/ubuntu/php) (Ubuntu 18 & 20 only)
[Mono](https://download.mono-project.com/repo/ubuntu)
[PostgreSQL](https://apt.postgresql.org/pub/repos/apt)
[R](https://cloud.r-project.org/bin/linux/ubuntu) | +| Ubuntu | [APT](https://wiki.debian.org/Apt) | [Eclipse-Timurin (Adoptium)](https://packages.adoptium.net/artifactory/deb)
[Erlang](https://packages.erlang-solutions.com/ubuntu)
[Firefox](https://launchpad.net/~mozillateam/+archive/ubuntu/ppa)
[gcc, gfortran](https://launchpad.net/~ubuntu-toolchain-r/+archive/ubuntu/test)
[git](https://launchpad.net/~git-core/+archive/ubuntu/ppa)
[HHvm](https://dl.hhvm.com/ubuntu)
[PHP](https://launchpad.net/~ondrej/+archive/ubuntu/php) (Ubuntu 20 only)
[Mono](https://download.mono-project.com/repo/ubuntu)
[PostgreSQL](https://apt.postgresql.org/pub/repos/apt)
[R](https://cloud.r-project.org/bin/linux/ubuntu) | | | [pipx](https://pypa.github.io/pipx) | ansible-core
yamllint | | Windows | [Chocolatey](https://chocolatey.org) | No third-party repos installed | | macOS | [Homebrew](https://homebrew.sh) | [aws-cli v2](https://github.com/aws/homebrew-tap)
[azure/bicep](https://github.com/Azure/homebrew-bicep)
[graalvm-ce-java11](https://github.com/graalvm/homebrew-tap)
[mongodb/brew](https://github.com/mongodb/homebrew-brew) | diff --git a/docs/create-image-and-azure-resources.md b/docs/create-image-and-azure-resources.md index 82a8426b1..f2004ca63 100644 --- a/docs/create-image-and-azure-resources.md +++ b/docs/create-image-and-azure-resources.md @@ -1,5 +1,5 @@ # GitHub Actions Runner Images -The runner-images project uses [Packer](https://www.packer.io/) to generate disk images for the following platforms: Windows 2019/2022, Ubuntu 18.04/20.04/22.04. +The runner-images project uses [Packer](https://www.packer.io/) to generate disk images for the following platforms: Windows 2019/2022, Ubuntu 20.04/22.04. Each image is configured through a JSON template that Packer understands and which specifies where to build the image (Azure in this case), and what scripts to run to install software and prepare the disk. The Packer process initializes a connection to Azure subscription via Azure CLI, and automatically creates the temporary Azure resources required to build the source VM(temporary resource group, network interfaces, and VM from the "clean" image specified in the template). If the VM deployment succeeds, the build agent connects to the VM and starts to execute installation steps from the JSON template. @@ -60,13 +60,13 @@ Set-Location C:\runner-images Import-Module .\helpers\GenerateResourcesAndImage.ps1 -GenerateResourcesAndImage -SubscriptionId {YourSubscriptionId} -ResourceGroupName "myTestResourceGroup" -ImageGenerationRepositoryRoot "$pwd" -ImageType Ubuntu1804 -AzureLocation "East US" +GenerateResourcesAndImage -SubscriptionId {YourSubscriptionId} -ResourceGroupName "myTestResourceGroup" -ImageGenerationRepositoryRoot "$pwd" -ImageType Ubuntu2004 -AzureLocation "East US" ``` Where: - `SubscriptionId` - The Azure subscription Id where resources will be created. - `ResourceGroupName` - The Azure resource group name where the Azure resources will be created. - `ImageGenerationRepositoryRoot` - The root path of the image generation repository source. -- `ImageType` - The type of the image being generated. Valid options are: "Windows2019", "Windows2022", "Ubuntu1804", "Ubuntu2004", "Ubuntu2204". +- `ImageType` - The type of the image being generated. Valid options are: "Windows2019", "Windows2022", "Ubuntu2004", "Ubuntu2204". - `AzureLocation` - The location of the resources being created in Azure. For example "East US". The function automatically creates all required Azure resources and kicks off packer image generation for the selected image type. @@ -74,13 +74,13 @@ The function automatically creates all required Azure resources and kicks off pa For optional authentication via service principal make sure to provide the following params — `AzureClientId`, `AzureClientSecret`, `AzureTenantId`, so the whole command will be: ``` -GenerateResourcesAndImage -SubscriptionId {YourSubscriptionId} -ResourceGroupName "myTestResourceGroup" -ImageGenerationRepositoryRoot "$pwd" -ImageType Ubuntu1804 -AzureLocation "East US" -AzureClientId {AADApplicationID} -AzureClientSecret {AADApplicationSecret} -AzureTenantId {AADTenantID} +GenerateResourcesAndImage -SubscriptionId {YourSubscriptionId} -ResourceGroupName "myTestResourceGroup" -ImageGenerationRepositoryRoot "$pwd" -ImageType Ubuntu2004 -AzureLocation "East US" -AzureClientId {AADApplicationID} -AzureClientSecret {AADApplicationSecret} -AzureTenantId {AADTenantID} ``` As extra options, you can add more params for permit to add Azure Tags on resources and enable https for Storage Account. It could be helpful on some tenants with hardenning policy. Params are — `EnableHttpsTrafficOnly` (Boolean) and `tags` (HashTable), so the whole command will be: ``` -GenerateResourcesAndImage -SubscriptionId {YourSubscriptionId} -ResourceGroupName "myTestResourceGroup" -ImageGenerationRepositoryRoot "$pwd" -ImageType Ubuntu1804 -AzureLocation "East US" -EnableHttpsTrafficOnly $true -tags @{dept="devops";env="prod"} +GenerateResourcesAndImage -SubscriptionId {YourSubscriptionId} -ResourceGroupName "myTestResourceGroup" -ImageGenerationRepositoryRoot "$pwd" -ImageType Ubuntu2004 -AzureLocation "East US" -EnableHttpsTrafficOnly $true -tags @{dept="devops";env="prod"} ``` *Please, check synopsis of `GenerateResourcesAndImage` for details about non-mandatory parameters.* diff --git a/helpers/GenerateResourcesAndImage.ps1 b/helpers/GenerateResourcesAndImage.ps1 index 822ff9d63..ea656b52b 100644 --- a/helpers/GenerateResourcesAndImage.ps1 +++ b/helpers/GenerateResourcesAndImage.ps1 @@ -3,9 +3,8 @@ $ErrorActionPreference = 'Stop' enum ImageType { Windows2019 = 1 Windows2022 = 2 - Ubuntu1804 = 3 - Ubuntu2004 = 4 - Ubuntu2204 = 5 + Ubuntu2004 = 3 + Ubuntu2204 = 4 } Function Get-PackerTemplatePath { @@ -23,9 +22,6 @@ Function Get-PackerTemplatePath { ([ImageType]::Windows2022) { $relativeTemplatePath = Join-Path "win" "windows2022.json" } - ([ImageType]::Ubuntu1804) { - $relativeTemplatePath = Join-Path "linux" "ubuntu1804.json" - } ([ImageType]::Ubuntu2004) { $relativeTemplatePath = Join-Path "linux" "ubuntu2004.json" } @@ -67,7 +63,7 @@ Function GenerateResourcesAndImage { .PARAMETER ImageGenerationRepositoryRoot The root path of the image generation repository source. .PARAMETER ImageType - The type of the image being generated. Valid options are: {"Windows2019", "Windows2022", "Ubuntu1804", "Ubuntu2004", "Ubuntu2204"}. + The type of the image being generated. Valid options are: {"Windows2019", "Windows2022", "Ubuntu2004", "Ubuntu2204"}. .PARAMETER AzureLocation The location of the resources being created in Azure. For example "East US". .PARAMETER Force @@ -87,7 +83,7 @@ Function GenerateResourcesAndImage { .PARAMETER OnError Specify how packer handles an error during image creation. .EXAMPLE - GenerateResourcesAndImage -SubscriptionId {YourSubscriptionId} -ResourceGroupName "shsamytest1" -ImageGenerationRepositoryRoot "C:\runner-images" -ImageType Ubuntu1804 -AzureLocation "East US" + GenerateResourcesAndImage -SubscriptionId {YourSubscriptionId} -ResourceGroupName "shsamytest1" -ImageGenerationRepositoryRoot "C:\runner-images" -ImageType Ubuntu2004 -AzureLocation "East US" #> param ( [Parameter(Mandatory = $True)] diff --git a/images.CI/linux-and-win/azure-pipelines/ubuntu1804.yml b/images.CI/linux-and-win/azure-pipelines/ubuntu1804.yml deleted file mode 100644 index 44823c63f..000000000 --- a/images.CI/linux-and-win/azure-pipelines/ubuntu1804.yml +++ /dev/null @@ -1,20 +0,0 @@ -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_type: ubuntu1804 - image_readme_name: Ubuntu1804-Readme.md \ No newline at end of file diff --git a/images/linux/Ubuntu1804-Readme.md b/images/linux/Ubuntu1804-Readme.md deleted file mode 100644 index d3050e988..000000000 --- a/images/linux/Ubuntu1804-Readme.md +++ /dev/null @@ -1,397 +0,0 @@ -| Announcements | -|-| -| [[all OSs] Default Nodejs version will be set to 18 on February, 13](https://github.com/actions/runner-images/issues/7002) | -| [The Ubuntu 18.04 Actions runner image will begin deprecation on 2022/08/08 and will be fully unsupported by 2023/04/01](https://github.com/actions/runner-images/issues/6002) | -*** -# Ubuntu 18.04 -- OS Version: 18.04.6 LTS -- Kernel Version: 5.4.0-1103-azure -- Image Version: 20230217.2 - -## Installed Software - -### Language and Runtime -- Bash 4.4.20(1)-release -- Clang: 9.0.0 -- Clang-format: 9.0.0 -- Clang-tidy: 9.0.0 -- Dash 0.5.8-2.10 -- Erlang 25.0.4 (Eshell 13.0.4) -- Erlang rebar3 3.20.0 -- GNU C++: 7.5.0, 9.4.0, 10.3.0 -- GNU Fortran: 7.5.0, 9.4.0, 10.3.0 -- Julia 1.8.5 -- Kotlin 1.8.10-release-430 -- Mono 6.12.0.182 -- MSBuild 16.10.1.31701 (Mono 6.12.0.182) -- Node.js 16.19.1 -- Perl 5.26.1 -- Python 2.7.17 -- Python3 3.6.9 -- Ruby 2.5.1p57 -- Swift 5.7.3 - -### Package Management -- cpan 1.64 -- Helm 3.11.1 -- Homebrew 4.0.1 -- Miniconda 23.1.0 -- Npm 8.19.3 -- NuGet 6.3.1.1 -- Pip 9.0.1 -- Pip3 9.0.1 -- Pipx 1.0.0 -- RubyGems 2.7.6 -- Vcpkg (build from commit 31a159c1c) -- Yarn 1.22.19 - -#### Environment variables -| Name | Value | -| ----------------------- | ---------------------- | -| CONDA | /usr/share/miniconda | -| VCPKG_INSTALLATION_ROOT | /usr/local/share/vcpkg | - -#### Homebrew note -``` -Location: /home/linuxbrew -Note: Homebrew is pre-installed on image but not added to PATH. -run the eval "$(/home/linuxbrew/.linuxbrew/bin/brew shellenv)" command -to accomplish this. -``` - -### Project Management -- Ant 1.10.5 -- Gradle 8.0.1 -- Maven 3.8.7 -- Sbt 1.8.2 - -### Tools -- Ansible 2.11.12 -- apt-fast 1.9.12 -- AzCopy 10.17.0 - available by `azcopy` and `azcopy10` aliases -- Bazel 6.0.0 -- Bazelisk 1.13.2 -- Bicep 0.14.46 -- Buildah 1.22.3 -- CMake 3.25.2 -- CodeQL Action Bundles 2.12.1 2.12.2 -- Docker Amazon ECR Credential Helper 0.6.0 -- Docker Compose v1 1.29.2 -- Docker Compose v2 2.16.0+azure-2 -- Docker-Buildx 0.10.3 -- Docker-Moby Client 20.10.23+azure-2 -- Docker-Moby Server 20.10.22+azure-1 -- Git 2.39.2 -- Git LFS 3.2.0 -- Git-ftp 1.3.1 -- Haveged 1.9.1 -- Heroku 7.68.1 -- HHVM (HipHop VM) 4.164.0 -- jq 1.5 -- Kind 0.17.0 -- Kubectl 1.26.1 -- Kustomize 5.0.0 -- Leiningen 2.10.0 -- MediaInfo 17.12 -- Mercurial 4.5.3 -- Minikube 1.29.0 -- n 9.0.1 -- Newman 5.3.2 -- nvm 0.39.3 -- OpenSSL 1.1.1-1ubuntu2.1~18.04.21 -- Packer 1.8.6 -- Parcel 2.8.3 -- PhantomJS 2.1.1 -- Podman 3.4.2 -- Pulumi 3.55.0 -- R 4.2.2 -- Skopeo 1.5.0 -- Sphinx Open Source Search Server 2.2.11 -- SVN 1.9.7 -- Terraform 1.3.9 -- yamllint 1.28.0 -- yq 4.30.8 -- zstd 1.5.4 - -### CLI Tools -- Alibaba Cloud CLI 3.0.149 -- AWS CLI 2.10.1 -- AWS CLI Session Manager Plugin 1.2.398.0 -- AWS SAM CLI 1.73.0 -- Azure CLI 2.45.0 -- Azure CLI (azure-devops) 0.26.0 -- GitHub CLI 2.23.0 -- Google Cloud SDK 418.0.0 -- Hub CLI 2.14.2 -- Netlify CLI 12.13.1 -- OpenShift CLI 4.12.3 -- ORAS CLI 0.16.0 -- Vercel CLI 28.16.2 - -### Java -| Version | Vendor | Environment Variable | -| ------------------- | --------------- | -------------------- | -| 8.0.362+9 (default) | Eclipse Temurin | JAVA_HOME_8_X64 | -| 11.0.18+10 | Eclipse Temurin | JAVA_HOME_11_X64 | -| 12.0.2+10 | Adopt OpenJDK | JAVA_HOME_12_X64 | -| 17.0.6+10 | Eclipse Temurin | JAVA_HOME_17_X64 | - -### PHP Tools -- PHP: 7.2.34, 7.3.33, 7.4.33, 8.0.28, 8.1.16, 8.2.3 -- Composer 2.5.4 -- PHPUnit 8.5.32 -``` -Both Xdebug and PCOV extensions are installed, but only Xdebug is enabled. -``` - -### Haskell Tools -- Cabal 3.6.2.0 -- GHC 9.4.4 -- GHCup 0.1.19.0 -- Stack 2.9.3 - -### Rust Tools -- Cargo 1.67.1 -- Rust 1.67.1 -- Rustdoc 1.67.1 -- Rustup 1.25.2 - -#### Packages -- Bindgen 0.64.0 -- Cargo audit 0.17.4 -- Cargo clippy 0.1.67 -- Cargo outdated 0.11.2 -- Cbindgen 0.24.3 -- Rustfmt 1.5.1 - -### Browsers and Drivers -- Google Chrome 110.0.5481.100 -- ChromeDriver 110.0.5481.77 -- Chromium 110.0.5481.0 -- Microsoft Edge 110.0.1587.50 -- Microsoft Edge WebDriver 110.0.1587.50 -- Selenium server 4.8.0 -- Mozilla Firefox 110.0 -- Geckodriver 0.32.2 - -#### Environment variables -| Name | Value | -| ----------------- | ----------------------------------- | -| CHROMEWEBDRIVER | /usr/local/share/chrome_driver | -| EDGEWEBDRIVER | /usr/local/share/edge_driver | -| GECKOWEBDRIVER | /usr/local/share/gecko_driver | -| SELENIUM_JAR_PATH | /usr/share/java/selenium-server.jar | - -### .NET Tools -- .NET Core SDK: 3.1.120, 3.1.202, 3.1.302, 3.1.426, 6.0.406 -- nbgv 3.5.119+5d25f54fec - -### Databases -- MongoDB 5.0.14 -- sqlite3 3.22.0 - -#### PostgreSQL -- PostgreSQL 14.7 -``` -User: postgres -PostgreSQL service is disabled by default. -Use the following command as a part of your job to start the service: 'sudo systemctl start postgresql.service' -``` - -#### MySQL -- MySQL 5.7.41 -``` -User: root -Password: root -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' -``` - -#### MS SQL -- sqlcmd 17.10.0001.1 -- SqlPackage 16.1.8089.0 - -### Cached Tools - -#### Go -- 1.16.15 -- 1.17.13 -- 1.18.10 - -#### Node.js -- 14.21.3 -- 16.19.1 -- 18.14.1 - -#### Python -- 2.7.18 -- 3.6.15 -- 3.7.15 -- 3.8.16 -- 3.9.16 -- 3.10.10 -- 3.11.2 - -#### PyPy -- 2.7.18 [PyPy 7.3.11] -- 3.6.12 [PyPy 7.3.3] -- 3.9.16 [PyPy 7.3.11] - -#### Ruby -- 2.4.10 -- 2.5.9 -- 2.6.10 -- 2.7.7 -- 3.0.5 -- 3.1.3 - -### PowerShell Tools -- PowerShell 7.2.9 - -#### PowerShell Modules -- Az: 9.3.0 -- Az (Cached): 3.1.0.zip, 4.4.0.zip, 5.9.0.zip, 6.6.0.zip, 7.5.0.zip -- MarkdownPS: 1.9 -- Microsoft.Graph: 1.22.0 -- Pester: 5.4.0 - -### Web Servers -| Name | Version | ConfigFile | ServiceStatus | ListenPort | -| ------- | ------- | ------------------------- | ------------- | ---------- | -| apache2 | 2.4.29 | /etc/apache2/apache2.conf | inactive | 80 | -| nginx | 1.14.0 | /etc/nginx/nginx.conf | inactive | 80 | - -### Android -| Package Name | Version | -| -------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| Android Command Line Tools | 8.0 | -| Android Emulator | 32.1.11 | -| Android SDK Build-tools | 33.0.0 33.0.1 33.0.2
32.0.0
31.0.0
30.0.0 30.0.1 30.0.2 30.0.3
29.0.0 29.0.1 29.0.2 29.0.3
28.0.0 28.0.1 28.0.2 28.0.3
27.0.0 27.0.1 27.0.2 27.0.3
26.0.0 26.0.1 26.0.2 26.0.3
25.0.0 25.0.1 25.0.2 25.0.3
24.0.0 24.0.1 24.0.2 24.0.3
23.0.1 23.0.2 23.0.3 | -| Android SDK Platform-Tools | 34.0.0 | -| Android SDK Platforms | android-33-ext4 (rev 1)
android-33 (rev 2)
android-32 (rev 1)
android-31 (rev 1)
android-30 (rev 3)
android-29 (rev 5)
android-28 (rev 6)
android-27 (rev 3)
android-26 (rev 2)
android-25 (rev 3)
android-24 (rev 2)
android-23 (rev 3) | -| Android SDK Tools | 26.1.1 | -| Android Support Repository | 47.0.0 | -| CMake | 3.10.2
3.18.1
3.22.1 | -| Google APIs | addon-google_apis-google-21
addon-google_apis-google-22
addon-google_apis-google-23
addon-google_apis-google-24 | -| Google Play services | 49 | -| Google Repository | 58 | -| NDK | 23.2.8568313
24.0.8215888
25.2.9519653 (default) | -| SDK Patch Applier v4 | 1 | - -#### Environment variables -| Name | Value | -| ----------------------- | ------------------------------------------- | -| ANDROID_HOME | /usr/local/lib/android/sdk | -| ANDROID_NDK | /usr/local/lib/android/sdk/ndk/25.2.9519653 | -| ANDROID_NDK_HOME | /usr/local/lib/android/sdk/ndk/25.2.9519653 | -| ANDROID_NDK_LATEST_HOME | /usr/local/lib/android/sdk/ndk/25.2.9519653 | -| ANDROID_NDK_ROOT | /usr/local/lib/android/sdk/ndk/25.2.9519653 | -| ANDROID_SDK_ROOT | /usr/local/lib/android/sdk | - -### Cached Docker images -| Repository:Tag | Digest | Created | -| ----------------------- | ------------------------------------------------------------------------ | ---------- | -| alpine:3.12 | sha256:c75ac27b49326926b803b9ed43bf088bc220d22556de1bc5f72d742c91398f69 | 2022-04-05 | -| alpine:3.13 | sha256:469b6e04ee185740477efa44ed5bdd64a07bbdd6c7e5f5d169e540889597b911 | 2022-08-09 | -| alpine:3.14 | sha256:560e7a4fa5c891d1830f5591c80b8e472fa6cd386b7254cdf65ccc3249292a34 | 2023-02-11 | -| buildpack-deps:bullseye | sha256:40b14eb195795a586ac132c9b506253bc3e4ee7f48a63b685e5bf37e80b774cf | 2023-02-09 | -| buildpack-deps:buster | sha256:a3e4aaa53bf83302adfb9d8b9ba3996948e4605baac297921d3a173c14603748 | 2023-02-09 | -| buildpack-deps:stretch | sha256:78e995165a5788c2f55aed6e548d8f6c1534830d4310c870408fccb2da8c5b2e | 2022-06-23 | -| debian:10 | sha256:233c3bbc892229c82da7231980d50adceba4db56a08c0b7053a4852782703459 | 2023-02-09 | -| debian:11 | sha256:43ef0c6c3585d5b406caa7a0f232ff5a19c1402aeb415f68bcd1cf9d10180af8 | 2023-02-09 | -| debian:9 | sha256:c5c5200ff1e9c73ffbf188b4a67eb1c91531b644856b4aefe86a58d2f0cb05be | 2022-06-23 | -| moby/buildkit:latest | sha256:751921dc37d2f842de38c9387f891fe6ae7d80f03d050ea98f780d7e0874ba00 | 2023-02-13 | -| node:14 | sha256:a58436325059a278c35079034ce5c98dace7204a2a5748929ccc79087f959daa | 2023-02-17 | -| node:14-alpine | sha256:1a1a30ee1faa7d512917e277cc8c81744e79096de3561ecda7ea17cc2ceab372 | 2023-02-17 | -| node:16 | sha256:102e907ac88ac60cbad62b09ce003fa11618687621c45da2a2514703be1d1b1a | 2023-02-17 | -| node:16-alpine | sha256:77f92924c9734d4acdeb5ec42de85867b10c0031f2e861d26cdae6abd56cf858 | 2023-02-17 | -| node:18 | sha256:888e7f9ead4aa3257e9c91528b9f63a427d8a926876ef5ae27ecba2651ae211d | 2023-02-17 | -| node:18-alpine | sha256:178bf3eb09c4245fda8c81c1063c0d55c45d7a7f4ddc5296814107b1dc610450 | 2023-02-17 | -| ubuntu:16.04 | sha256:1f1a2d56de1d604801a9671f301190704c25d604a416f59e03c04f5c6ffee0d6 | 2021-08-31 | -| ubuntu:18.04 | sha256:a3765b4d74747b5e9bdd03205b3fbc4fa19a02781c185f97f24c8f4f84ed7bbf | 2023-01-26 | -| ubuntu:20.04 | sha256:4a45212e9518f35983a976eead0de5eecc555a2f047134e9dd2cfc589076a00d | 2023-02-01 | - -### Installed apt packages -| Name | Version | -| ----------------- | --------------------------------- | -| aria2 | 1.33.1-1 | -| autoconf | 2.69-11 | -| automake | 1:1.15.1-3ubuntu2 | -| binutils | 2.30-21ubuntu1\~18.04.8 | -| bison | 2:3.0.4.dfsg-1build1 | -| brotli | 1.0.3-1ubuntu1.3 | -| build-essential | 12.4ubuntu1 | -| bzip2 | 1.0.6-8.1ubuntu0.2 | -| coreutils | 8.28-1ubuntu1 | -| curl | 7.58.0-2ubuntu3.22 | -| dbus | 1.12.2-1ubuntu1.4 | -| dnsutils | 1:9.11.3+dfsg-1ubuntu1.18 | -| dpkg | 1.19.0.5ubuntu2.4 | -| fakeroot | 1.22-2ubuntu1 | -| file | 1:5.32-2ubuntu0.4 | -| flex | 2.6.4-6 | -| ftp | 0.17-34 | -| gnupg2 | 2.2.4-1ubuntu1.6 | -| haveged | 1.9.1-6 | -| imagemagick | 8:6.9.7.4+dfsg-16ubuntu6.15 | -| iproute2 | 4.15.0-2ubuntu1.3 | -| iputils-ping | 3:20161105-1ubuntu3 | -| jq | 1.5+dfsg-2 | -| lib32z1 | 1:1.2.11.dfsg-0ubuntu2.2 | -| libc++-dev | 6.0-2 | -| libc++abi-dev | 6.0-2 | -| libcurl3 | 7.58.0-2ubuntu3.22 | -| libgbm-dev | 20.0.8-0ubuntu1\~18.04.1 | -| libgconf-2-4 | 3.2.6-4ubuntu1 | -| libgsl-dev | 2.4+dfsg-6 | -| libgtk-3-0 | 3.22.30-1ubuntu4 | -| libmagic-dev | 1:5.32-2ubuntu0.4 | -| libmagickcore-dev | 8:6.9.7.4+dfsg-16ubuntu6.15 | -| libmagickwand-dev | 8:6.9.7.4+dfsg-16ubuntu6.15 | -| libsecret-1-dev | 0.18.6-1 | -| libsqlite3-dev | 3.22.0-1ubuntu0.7 | -| libtool | 2.4.6-2 | -| libunwind8 | 1.2.1-8 | -| libxkbfile-dev | 1:1.0.9-2 | -| libxss1 | 1:1.2.2-1 | -| libyaml-dev | 0.1.7-2ubuntu3 | -| locales | 2.27-3ubuntu1.6 | -| m4 | 1.4.18-1 | -| mediainfo | 17.12-1 | -| mercurial | 4.5.3-1ubuntu2.2 | -| net-tools | 1.60+git20161116.90da8a0-1ubuntu1 | -| netcat | 1.10-41.1 | -| openssh-client | 1:7.6p1-4ubuntu0.7 | -| p7zip-full | 16.02+dfsg-6 | -| p7zip-rar | 16.02-2 | -| parallel | 20161222-1 | -| pass | 1.7.1-3 | -| patchelf | 0.9-1 | -| pkg-config | 0.29.1-0ubuntu2 | -| pollinate | 4.33-0ubuntu1\~18.04.2 | -| python-setuptools | 39.0.1-2ubuntu0.1 | -| rpm | 4.14.1+dfsg1-2 | -| rsync | 3.1.2-2.1ubuntu1.5 | -| shellcheck | 0.4.6-1 | -| sphinxsearch | 2.2.11-2 | -| sqlite3 | 3.22.0-1ubuntu0.7 | -| ssh | 1:7.6p1-4ubuntu0.7 | -| sshpass | 1.06-1 | -| subversion | 1.9.7-4ubuntu1.1 | -| sudo | 1.8.21p2-3ubuntu1.5 | -| swig | 3.0.12-1 | -| tar | 1.29b-2ubuntu0.3 | -| telnet | 0.17-41 | -| texinfo | 6.5.0.dfsg.1-2 | -| time | 1.7-25.1build1 | -| tk | 8.6.0+9 | -| tzdata | 2022g-0ubuntu0.18.04 | -| unzip | 6.0-21ubuntu1.2 | -| upx | 3.94-4 | -| wget | 1.19.4-1ubuntu2.2 | -| xorriso | 1.4.8-3 | -| xvfb | 2:1.19.6-1ubuntu4.14 | -| xz-utils | 5.2.2-1.3ubuntu0.1 | -| zip | 3.0-11build1 | -| zsync | 0.6.2-3ubuntu1 | - diff --git a/images/linux/config/ubuntu1804.conf b/images/linux/config/ubuntu1804.conf deleted file mode 100644 index bca2da8a0..000000000 --- a/images/linux/config/ubuntu1804.conf +++ /dev/null @@ -1,2 +0,0 @@ -# Name of pool supported by this image -POOL_NAME="Ubuntu 1804" diff --git a/images/linux/scripts/SoftwareReport/SoftwareReport.Databases.psm1 b/images/linux/scripts/SoftwareReport/SoftwareReport.Databases.psm1 index 701a8cda0..78b20cddc 100644 --- a/images/linux/scripts/SoftwareReport/SoftwareReport.Databases.psm1 +++ b/images/linux/scripts/SoftwareReport/SoftwareReport.Databases.psm1 @@ -15,9 +15,6 @@ function Get-SqliteVersion { function Get-MySQLVersion { $mySQLVersion = mysqld --version | Take-OutputPart -Part 2 - if (Test-IsUbuntu18) { - $mySQLVersion = $mySQLVersion | Take-OutputPart -Part 0 -Delimiter "-" - } return $mySQLVersion } diff --git a/images/linux/scripts/SoftwareReport/SoftwareReport.Generator.ps1 b/images/linux/scripts/SoftwareReport/SoftwareReport.Generator.ps1 index 5c48fa0c8..d8cd6b119 100644 --- a/images/linux/scripts/SoftwareReport/SoftwareReport.Generator.ps1 +++ b/images/linux/scripts/SoftwareReport/SoftwareReport.Generator.ps1 @@ -40,7 +40,7 @@ $languageAndRuntime.AddToolVersionsListInline("Clang", $(Get-ClangToolVersions - $languageAndRuntime.AddToolVersionsListInline("Clang-format", $(Get-ClangToolVersions -ToolName "clang-format"), "^\d+") $languageAndRuntime.AddToolVersionsListInline("Clang-tidy", $(Get-ClangTidyVersions), "^\d+") $languageAndRuntime.AddToolVersion("Dash", $(Get-DashVersion)) -if ((Test-IsUbuntu18) -or (Test-IsUbuntu20)) { +if (Test-IsUbuntu20) { $languageAndRuntime.AddToolVersion("Erlang", $(Get-ErlangVersion)) $languageAndRuntime.AddToolVersion("Erlang rebar3", $(Get-ErlangRebar3Version)) } @@ -81,7 +81,7 @@ to accomplish this. # Project Management $projectManagement = $installedSoftware.AddHeader("Project Management") -if ((Test-IsUbuntu18) -or (Test-IsUbuntu20)) { +if (Test-IsUbuntu20) { $projectManagement.AddToolVersion("Ant", $(Get-AntVersion)) $projectManagement.AddToolVersion("Gradle", $(Get-GradleVersion)) } @@ -89,7 +89,7 @@ if ((Test-IsUbuntu20) -or (Test-IsUbuntu22)) { $projectManagement.AddToolVersion("Lerna", $(Get-LernaVersion)) } $projectManagement.AddToolVersion("Maven", $(Get-MavenVersion)) -if ((Test-IsUbuntu18) -or (Test-IsUbuntu20)) { +if (Test-IsUbuntu20) { $projectManagement.AddToolVersion("Sbt", $(Get-SbtVersion)) } @@ -118,7 +118,7 @@ $tools.AddToolVersion("Git LFS", $(Get-GitLFSVersion)) $tools.AddToolVersion("Git-ftp", $(Get-GitFTPVersion)) $tools.AddToolVersion("Haveged", $(Get-HavegedVersion)) $tools.AddToolVersion("Heroku", $(Get-HerokuVersion)) -if ((Test-IsUbuntu18) -or (Test-IsUbuntu20)) { +if (Test-IsUbuntu20) { $tools.AddToolVersion("HHVM (HipHop VM)", $(Get-HHVMVersion)) } $tools.AddToolVersion("jq", $(Get-JqVersion)) @@ -135,7 +135,7 @@ $tools.AddToolVersion("nvm", $(Get-NvmVersion)) $tools.AddToolVersion("OpenSSL", $(Get-OpensslVersion)) $tools.AddToolVersion("Packer", $(Get-PackerVersion)) $tools.AddToolVersion("Parcel", $(Get-ParcelVersion)) -if ((Test-IsUbuntu18) -or (Test-IsUbuntu20)) { +if (Test-IsUbuntu20) { $tools.AddToolVersion("PhantomJS", $(Get-PhantomJSVersion)) } $tools.AddToolVersion("Podman", $(Get-PodManVersion)) @@ -213,7 +213,7 @@ $netCoreTools.AddToolVersionsListInline(".NET Core SDK", $(Get-DotNetCoreSdkVers $netCoreTools.AddNodes($(Get-DotnetTools)) $databasesTools = $installedSoftware.AddHeader("Databases") -if ((Test-IsUbuntu18) -or (Test-IsUbuntu20)) { +if (Test-IsUbuntu20) { $databasesTools.AddToolVersion("MongoDB", $(Get-MongoDbVersion)) } $databasesTools.AddToolVersion("sqlite3", $(Get-SqliteVersion)) diff --git a/images/linux/scripts/helpers/Common.Helpers.psm1 b/images/linux/scripts/helpers/Common.Helpers.psm1 index 455e0854d..6db094683 100644 --- a/images/linux/scripts/helpers/Common.Helpers.psm1 +++ b/images/linux/scripts/helpers/Common.Helpers.psm1 @@ -42,10 +42,6 @@ function Get-KernelVersion { return $kernelVersion } -function Test-IsUbuntu18 { - return (lsb_release -rs) -eq "18.04" -} - function Test-IsUbuntu20 { return (lsb_release -rs) -eq "20.04" } diff --git a/images/linux/scripts/helpers/os.sh b/images/linux/scripts/helpers/os.sh index f3a71bbd9..26827fae9 100644 --- a/images/linux/scripts/helpers/os.sh +++ b/images/linux/scripts/helpers/os.sh @@ -4,11 +4,6 @@ ## Desc: Helper functions for installing tools ################################################################################ -function isUbuntu18 -{ - lsb_release -d | grep -q 'Ubuntu 18' -} - function isUbuntu20 { lsb_release -d | grep -q 'Ubuntu 20' diff --git a/images/linux/scripts/installers/android.sh b/images/linux/scripts/installers/android.sh index 3b6ada7e1..a8358f96b 100644 --- a/images/linux/scripts/installers/android.sh +++ b/images/linux/scripts/installers/android.sh @@ -45,30 +45,25 @@ mkdir -p ${ANDROID_SDK_ROOT} cmdlineTools="android-cmdline-tools.zip" -if isUbuntu18; then - # Newer command-line-tools require Java 11 which is not default on ubuntu-18.04 - download_with_retries "https://dl.google.com/android/repository/commandlinetools-linux-9123335_latest.zip" "." $cmdlineTools -else - # Download the latest command line tools so that we can accept all of the licenses. - # See https://developer.android.com/studio/#command-tools - cmdlineToolsVersion=$(get_toolset_value '.android."cmdline-tools"') - if [[ $cmdlineToolsVersion == "latest" ]]; then - repositoryXmlUrl="https://dl.google.com/android/repository/repository2-1.xml" - download_with_retries $repositoryXmlUrl "/tmp" "repository2-1.xml" - cmdlineToolsVersion=$( - yq -p=xml \ - '.sdk-repository.remotePackage[] | select(."+@path" == "cmdline-tools;latest" and .channelRef."+@ref" == "channel-0").archives.archive[].complete.url | select(contains("commandlinetools-linux"))' \ - /tmp/repository2-1.xml - ) +# Download the latest command line tools so that we can accept all of the licenses. +# See https://developer.android.com/studio/#command-tools +cmdlineToolsVersion=$(get_toolset_value '.android."cmdline-tools"') +if [[ $cmdlineToolsVersion == "latest" ]]; then + repositoryXmlUrl="https://dl.google.com/android/repository/repository2-1.xml" + download_with_retries $repositoryXmlUrl "/tmp" "repository2-1.xml" + cmdlineToolsVersion=$( + yq -p=xml \ + '.sdk-repository.remotePackage[] | select(."+@path" == "cmdline-tools;latest" and .channelRef."+@ref" == "channel-0").archives.archive[].complete.url | select(contains("commandlinetools-linux"))' \ + /tmp/repository2-1.xml + ) - if [[ -z $cmdlineToolsVersion ]]; then - echo "Failed to parse latest command-line tools version" - exit 1 - fi + if [[ -z $cmdlineToolsVersion ]]; then + echo "Failed to parse latest command-line tools version" + exit 1 + fi fi download_with_retries "https://dl.google.com/android/repository/${cmdlineToolsVersion}" "." $cmdlineTools -fi unzip -qq $cmdlineTools -d ${ANDROID_SDK_ROOT}/cmdline-tools # Command line tools need to be placed in ${ANDROID_SDK_ROOT}/sdk/cmdline-tools/latest to determine SDK root diff --git a/images/linux/scripts/installers/containers.sh b/images/linux/scripts/installers/containers.sh index 00595b319..e2cbec09a 100644 --- a/images/linux/scripts/installers/containers.sh +++ b/images/linux/scripts/installers/containers.sh @@ -9,7 +9,7 @@ source $HELPER_SCRIPTS/os.sh install_packages=(podman buildah skopeo) # Packages is available in the official Ubuntu upstream starting from Ubuntu 21 -if isUbuntu18 || isUbuntu20; then +if isUbuntu20; then REPO_URL="https://download.opensuse.org/repositories/devel:/kubic:/libcontainers:/stable" source /etc/os-release sh -c "echo 'deb ${REPO_URL}/x${NAME}_${VERSION_ID}/ /' > /etc/apt/sources.list.d/devel:kubic:libcontainers:stable.list" @@ -23,7 +23,7 @@ apt-get -y install ${install_packages[@]} mkdir -p /etc/containers echo -e "[registries.search]\nregistries = ['docker.io', 'quay.io']" | tee /etc/containers/registries.conf -if isUbuntu18 || isUbuntu20; then +if isUbuntu20; then # Remove source repo rm /etc/apt/sources.list.d/devel:kubic:libcontainers:stable.list # Document source repo diff --git a/images/linux/scripts/installers/erlang.sh b/images/linux/scripts/installers/erlang.sh index debf64e9b..8e3137afa 100644 --- a/images/linux/scripts/installers/erlang.sh +++ b/images/linux/scripts/installers/erlang.sh @@ -20,15 +20,9 @@ apt-get update apt-get install --no-install-recommends esl-erlang || true # Downoloading and installing a deb file manually, ignore deptree errors -if isUbuntu18; then - esl_url="https://packages.erlang-solutions.com/ubuntu/pool/esl-erlang_25.2.3-1~ubuntu~bionic_amd64.deb" - download_with_retries $esl_url "/tmp" - dpkg -i /tmp/esl-erlang_25.2.3-1~ubuntu~bionic_amd64.deb || true -else - esl_url="https://packages.erlang-solutions.com/ubuntu/pool/esl-erlang_25.2.3-2~ubuntu~focal_amd64.deb" - download_with_retries $esl_url "/tmp" - dpkg -i /tmp/esl-erlang_25.2.3-2~ubuntu~focal_amd64.deb || true -fi +esl_url="https://packages.erlang-solutions.com/ubuntu/pool/esl-erlang_25.2.3-2~ubuntu~focal_amd64.deb" +download_with_retries $esl_url "/tmp" +dpkg -i /tmp/esl-erlang_25.2.3-2~ubuntu~focal_amd64.deb || true # Restore a proper deptree which brings esl-erlang back in the loop # but eleminate unwanted X.org dependencies diff --git a/images/linux/scripts/installers/java-tools.sh b/images/linux/scripts/installers/java-tools.sh index 44dbb4689..989a6e74b 100644 --- a/images/linux/scripts/installers/java-tools.sh +++ b/images/linux/scripts/installers/java-tools.sh @@ -41,7 +41,7 @@ enableRepositories() { osLabel=$(getOSVersionLabel) - if isUbuntu18 || isUbuntu20; then + if isUbuntu20; then # Add Adopt PPA wget -qO - https://adoptopenjdk.jfrog.io/adoptopenjdk/api/gpg/key/public | gpg --dearmor > /usr/share/keyrings/adopt.gpg echo "deb [signed-by=/usr/share/keyrings/adopt.gpg] https://adoptopenjdk.jfrog.io/adoptopenjdk/deb/ $osLabel main" > /etc/apt/sources.list.d/adopt.list @@ -52,11 +52,6 @@ osLabel=$(getOSVersionLabel) wget -qO - https://packages.adoptium.net/artifactory/api/gpg/key/public | gpg --dearmor > /usr/share/keyrings/adoptium.gpg echo "deb [signed-by=/usr/share/keyrings/adoptium.gpg] https://packages.adoptium.net/artifactory/deb/ $osLabel main" > /etc/apt/sources.list.d/adoptium.list - if isUbuntu18 ; then - # Install GPG Key for Azul Open JDK. See https://www.azul.com/downloads/azure-only/zulu/ - wget -qO - https://www.azul.com/wp-content/uploads/2021/05/0xB1998361219BD9C9.txt | gpg --dearmor > /usr/share/keyrings/zulu.gpg - echo "deb [signed-by=/usr/share/keyrings/zulu.gpg] https://repos.azul.com/azure-only/zulu/apt stable main" > /etc/apt/sources.list.d/zulu.list - fi } installOpenJDK() { @@ -127,11 +122,6 @@ for jdkVendor in ${jdkVendors[@]}; do done done -# Adopt 12 is only available for Ubuntu 18.04 -if isUbuntu18; then - createJavaEnvironmentalVariable "12" "Adopt" -fi - # Install Ant apt-get install -y --no-install-recommends ant ant-optional echo "ANT_HOME=/usr/share/ant" | tee -a /etc/environment diff --git a/images/linux/scripts/installers/php.sh b/images/linux/scripts/installers/php.sh index 3eb20f7cd..68e154109 100644 --- a/images/linux/scripts/installers/php.sh +++ b/images/linux/scripts/installers/php.sh @@ -11,7 +11,7 @@ source $HELPER_SCRIPTS/install.sh # add repository for old Ubuntu images # details in thread: https://github.com/actions/runner-images/issues/6331 -if isUbuntu18 || isUbuntu20; then +if isUbuntu20; then apt-add-repository ppa:ondrej/php -y apt-get update fi diff --git a/images/linux/scripts/installers/python.sh b/images/linux/scripts/installers/python.sh index e14bf4688..bd2daed57 100644 --- a/images/linux/scripts/installers/python.sh +++ b/images/linux/scripts/installers/python.sh @@ -10,10 +10,6 @@ source $HELPER_SCRIPTS/etc-environment.sh source $HELPER_SCRIPTS/os.sh # Install Python, Python 3, pip, pip3 -if isUbuntu18; then - apt-get install -y --no-install-recommends python python-dev python-pip -fi - apt-get install -y --no-install-recommends python3 python3-dev python3-pip python3-venv # Install pipx diff --git a/images/linux/scripts/tests/Tools.Tests.ps1 b/images/linux/scripts/tests/Tools.Tests.ps1 index c1594eaf7..c02d058fa 100644 --- a/images/linux/scripts/tests/Tools.Tests.ps1 +++ b/images/linux/scripts/tests/Tools.Tests.ps1 @@ -331,7 +331,7 @@ Describe "Phantomjs" -Skip:(Test-IsUbuntu22) { } } -Describe "GraalVM" -Skip:(Test-IsUbuntu18) { +Describe "GraalVM" { It "graalvm" { '$GRAALVM_11_ROOT/bin/java -version' | Should -ReturnZeroExitCode } diff --git a/images/linux/toolsets/toolset-1804.json b/images/linux/toolsets/toolset-1804.json deleted file mode 100644 index e3b90ffd1..000000000 --- a/images/linux/toolsets/toolset-1804.json +++ /dev/null @@ -1,361 +0,0 @@ -{ - "toolcache": [ - { - "name": "Python", - "url" : "https://raw.githubusercontent.com/actions/python-versions/main/versions-manifest.json", - "platform" : "linux", - "platform_version": "18.04", - "arch": "x64", - "versions": [ - "2.7.*", - "3.6.*", - "3.7.*", - "3.8.*", - "3.9.*", - "3.10.*", - "3.11.*" - ] - }, - { - "name": "PyPy", - "arch": "x64", - "platform" : "linux", - "versions": [ - "2.7", - "3.6", - "3.9" - ] - }, - { - "name": "node", - "url" : "https://raw.githubusercontent.com/actions/node-versions/main/versions-manifest.json", - "platform" : "linux", - "arch": "x64", - "versions": [ - "14.*", - "16.*", - "18.*" - ] - }, - { - "name": "go", - "url" : "https://raw.githubusercontent.com/actions/go-versions/main/versions-manifest.json", - "arch": "x64", - "platform" : "linux", - "versions": [ - "1.16.*", - "1.17.*", - "1.18.*" - ], - "default": "1.17.*" - }, - { - "name": "Ruby", - "platform_version": "18.04", - "arch": "x64", - "versions": [ - "2.4.*", - "2.5.*", - "2.6.*", - "2.7.*", - "3.0.*", - "3.1.*" - ] - }, - { - "name": "CodeQL", - "platform" : "linux", - "arch": "x64", - "versions": [ - "*" - ] - } - ], - "java": { - "default": "8", - "default_vendor": "Temurin-Hotspot", - "vendors": [ - { - "name": "Temurin-Hotspot", - "versions": [ "8", "11", "17" ] - }, - { - "name": "Adopt", - "versions": [ "8", "11", "12" ] - } - ], - "maven": "3.8.8" - }, - "android": { - "platform_min_version": "23", - "build_tools_min_version": "23.0.1", - "extra_list": [ - "android;m2repository", - "google;m2repository", - "google;google_play_services" - ], - "addon_list": [ - "addon-google_apis-google-24", - "addon-google_apis-google-23", - "addon-google_apis-google-22", - "addon-google_apis-google-21" - ], - "additional_tools": [ - "cmake;3.10.2.4988404", - "cmake;3.18.1", - "cmake;3.22.1" - ], - "ndk": { - "default": "25", - "versions": [ - "23", "24", "25" - ] - } - }, - "powershellModules": [ - {"name": "MarkdownPS"}, - {"name": "Microsoft.Graph"}, - {"name": "Pester"} - ], - "azureModules": [ - { - "name": "az", - "url" : "https://raw.githubusercontent.com/Azure/az-ps-module-versions/main/versions-manifest.json", - "versions": [ - "9.3.0" - ], - "zip_versions": [ - "3.1.0", - "4.4.0", - "5.9.0", - "6.6.0", - "7.5.0" - ] - } - ], - "apt": { - "common_packages": [ - "autoconf", - "automake", - "build-essential", - "dbus", - "dnsutils", - "dpkg", - "fakeroot", - "gnupg2", - "imagemagick", - "iproute2", - "iputils-ping", - "lib32z1", - "libc++abi-dev", - "libc++-dev", - "libcurl3", - "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-setuptools", - "rpm", - "tar", - "texinfo", - "tk", - "tzdata", - "upx", - "xorriso", - "xvfb", - "xz-utils", - "zsync" - ], - "cmd_packages": [ - "aria2", - "binutils", - "bison", - "brotli", - "bzip2", - "coreutils", - "curl", - "file", - "flex", - "ftp", - "haveged", - "jq", - "m4", - "mediainfo", - "netcat", - "net-tools", - "parallel", - "pass", - "p7zip-full", - "patchelf", - "pollinate", - "rsync", - "shellcheck", - "sqlite3", - "sphinxsearch", - "ssh", - "sshpass", - "subversion", - "sudo", - "swig", - "telnet", - "time", - "unzip", - "wget", - "zip" - ] - }, - "brew": [ - ], - "docker": { - "images": [ - "alpine:3.12", - "alpine:3.13", - "alpine:3.14", - "buildpack-deps:stretch", - "buildpack-deps:buster", - "buildpack-deps:bullseye", - "debian:9", - "debian:10", - "debian:11", - "moby/buildkit:latest", - "node:14", - "node:16", - "node:18", - "node:14-alpine", - "node:16-alpine", - "node:18-alpine", - "ubuntu:16.04", - "ubuntu:18.04", - "ubuntu:20.04" - ] - }, - "pipx": [ - { - "package": "yamllint", - "cmd": "yamllint" - }, - { - "package": "ansible-core", - "cmd": "ansible" - } - ], - "dotnet": { - "aptPackages": [ - "dotnet-sdk-3.1", - "dotnet-sdk-6.0" - ], - "versions": [ - "3.1", - "6.0" - ], - "tools": [ - { "name": "nbgv", "test": "nbgv --version", "getversion" : "nbgv --version" } - ] - }, - "clang": { - "versions": [ - "9" - ], - "default_version": "9" - }, - "gcc": { - "versions": [ - "g++-9", - "g++-10" - ] - }, - "gfortran": { - "versions": [ - "gfortran-9", - "gfortran-10" - ] - }, - "php": { - "versions": [ - "7.2", - "7.3", - "7.4", - "8.0", - "8.1", - "8.2" - ] - }, - "selenium": { - "version": "4", - "binary_name": "selenium-server" - }, - "rubygems": [], - "node": { - "default": "16" - }, - "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": "yarn", - "command": "yarn" - } - ], - "mongodb": { - "version": "5.0" - }, - "postgresql": { - "version": "14" - }, - "pwsh": { - "version": "7.2" - } -} diff --git a/images/linux/ubuntu1804.json b/images/linux/ubuntu1804.json deleted file mode 100644 index a1001f08c..000000000 --- a/images/linux/ubuntu1804.json +++ /dev/null @@ -1,393 +0,0 @@ -{ - "variables": { - "client_id": "{{env `ARM_CLIENT_ID`}}", - "client_secret": "{{env `ARM_CLIENT_SECRET`}}", - "client_cert_path": "{{env `ARM_CLIENT_CERT_PATH`}}", - "subscription_id": "{{env `ARM_SUBSCRIPTION_ID`}}", - "tenant_id": "{{env `ARM_TENANT_ID`}}", - "resource_group": "{{env `ARM_RESOURCE_GROUP`}}", - "storage_account": "{{env `ARM_STORAGE_ACCOUNT`}}", - "build_resource_group_name": "{{env `BUILD_RESOURCE_GROUP_NAME`}}", - "temp_resource_group_name": "{{env `TEMP_RESOURCE_GROUP_NAME`}}", - "location": "{{env `ARM_RESOURCE_LOCATION`}}", - "virtual_network_name": "{{env `VNET_NAME`}}", - "virtual_network_resource_group_name": "{{env `VNET_RESOURCE_GROUP`}}", - "virtual_network_subnet_name": "{{env `VNET_SUBNET`}}", - "private_virtual_network_with_public_ip": "{{env `PRIVATE_VIRTUAL_NETWORK_WITH_PUBLIC_IP`}}", - "allowed_inbound_ip_addresses": "{{env `AGENT_IP`}}", - "image_folder": "/imagegeneration", - "imagedata_file": "/imagegeneration/imagedata.json", - "installer_script_folder": "/imagegeneration/installers", - "helper_script_folder": "/imagegeneration/helpers", - "vm_size": "Standard_D4s_v4", - "capture_name_prefix": "packer", - "image_version": "dev", - "image_os": "ubuntu18", - "run_validation_diskspace": "false", - "dockerhub_login": "{{env `DOCKERHUB_LOGIN`}}", - "dockerhub_password": "{{env `DOCKERHUB_PASSWORD`}}" - }, - "sensitive-variables": [ - "client_secret" - ], - "builders": [ - { - "type": "azure-arm", - "client_id": "{{user `client_id`}}", - "client_secret": "{{user `client_secret`}}", - "client_cert_path": "{{user `client_cert_path`}}", - "subscription_id": "{{user `subscription_id`}}", - "tenant_id": "{{user `tenant_id`}}", - "location": "{{user `location`}}", - "vm_size": "{{user `vm_size`}}", - "resource_group_name": "{{user `resource_group`}}", - "storage_account": "{{user `storage_account`}}", - "build_resource_group_name": "{{user `build_resource_group_name`}}", - "temp_resource_group_name": "{{user `temp_resource_group_name`}}", - "capture_container_name": "images", - "capture_name_prefix": "{{user `capture_name_prefix`}}", - "virtual_network_name": "{{user `virtual_network_name`}}", - "virtual_network_resource_group_name": "{{user `virtual_network_resource_group_name`}}", - "virtual_network_subnet_name": "{{user `virtual_network_subnet_name`}}", - "private_virtual_network_with_public_ip": "{{user `private_virtual_network_with_public_ip`}}", - "allowed_inbound_ip_addresses": "{{user `allowed_inbound_ip_addresses`}}", - "os_type": "Linux", - "image_publisher": "Canonical", - "image_offer": "UbuntuServer", - "image_sku": "18.04-LTS", - "os_disk_size_gb": "86" - } - ], - "provisioners": [ - { - "type": "shell", - "inline": [ - "mkdir {{user `image_folder`}}", - "chmod 777 {{user `image_folder`}}" - ], - "execute_command": "sudo sh -c '{{ .Vars }} {{ .Path }}'" - }, - { - "type": "shell", - "script": "{{template_dir}}/scripts/base/apt-mock.sh", - "execute_command": "sudo sh -c '{{ .Vars }} {{ .Path }}'" - }, - { - "type": "shell", - "scripts": [ - "{{template_dir}}/scripts/base/repos.sh" - ], - "environment_vars": [ - "DEBIAN_FRONTEND=noninteractive" - ], - "execute_command": "sudo sh -c '{{ .Vars }} {{ .Path }}'" - }, - { - "type": "shell", - "script": "{{template_dir}}/scripts/base/apt.sh", - "environment_vars": [ - "DEBIAN_FRONTEND=noninteractive" - ], - "execute_command": "sudo sh -c '{{ .Vars }} {{ .Path }}'" - }, - { - "type": "shell", - "script": "{{template_dir}}/scripts/base/limits.sh", - "execute_command": "sudo sh -c '{{ .Vars }} {{ .Path }}'" - }, - { - "type": "file", - "source": "{{template_dir}}/scripts/helpers", - "destination": "{{user `helper_script_folder`}}" - }, - { - "type": "file", - "source": "{{template_dir}}/scripts/installers", - "destination": "{{user `installer_script_folder`}}" - }, - { - "type": "file", - "source": "{{ template_dir }}/post-generation", - "destination": "{{user `image_folder`}}" - }, - { - "type": "file", - "source": "{{template_dir}}/scripts/tests", - "destination": "{{user `image_folder`}}" - }, - { - "type": "file", - "source": "{{ template_dir }}/scripts/SoftwareReport", - "destination": "{{user `image_folder`}}" - }, - { - "type": "file", - "source": "{{ template_dir }}/../../helpers/software-report-base", - "destination": "{{user `image_folder`}}/SoftwareReport/" - }, - { - "type": "file", - "source": "{{template_dir}}/toolsets/toolset-1804.json", - "destination": "{{user `installer_script_folder`}}/toolset.json" - }, - { - "type": "shell", - "scripts": [ - "{{template_dir}}/scripts/installers/preimagedata.sh" - ], - "environment_vars": [ - "IMAGE_VERSION={{user `image_version`}}", - "IMAGEDATA_FILE={{user `imagedata_file`}}" - ], - "execute_command": "sudo sh -c '{{ .Vars }} {{ .Path }}'" - }, - { - "type": "shell", - "scripts": [ - "{{template_dir}}/scripts/installers/configure-environment.sh" - ], - "environment_vars": [ - "IMAGE_VERSION={{user `image_version`}}", - "IMAGE_OS={{user `image_os`}}", - "HELPER_SCRIPTS={{user `helper_script_folder`}}" - ], - "execute_command": "sudo sh -c '{{ .Vars }} {{ .Path }}'" - }, - { - "type": "shell", - "scripts": [ - "{{template_dir}}/scripts/installers/complete-snap-setup.sh", - "{{template_dir}}/scripts/installers/powershellcore.sh" - ], - "environment_vars": [ - "HELPER_SCRIPTS={{user `helper_script_folder`}}" - ], - "execute_command": "sudo sh -c '{{ .Vars }} {{ .Path }}'" - }, - { - "type": "shell", - "scripts": [ - "{{template_dir}}/scripts/installers/Install-PowerShellModules.ps1", - "{{template_dir}}/scripts/installers/Install-AzureModules.ps1" - ], - "environment_vars": [ - "HELPER_SCRIPTS={{user `helper_script_folder`}}", - "INSTALLER_SCRIPT_FOLDER={{user `installer_script_folder`}}" - ], - "execute_command": "sudo sh -c '{{ .Vars }} pwsh -f {{ .Path }}'" - }, - { - "type": "shell", - "scripts": [ - "{{template_dir}}/scripts/installers/docker-compose.sh", - "{{template_dir}}/scripts/installers/docker-moby.sh" - ], - "environment_vars": [ - "HELPER_SCRIPTS={{user `helper_script_folder`}}", - "INSTALLER_SCRIPT_FOLDER={{user `installer_script_folder`}}", - "DOCKERHUB_LOGIN={{user `dockerhub_login`}}", - "DOCKERHUB_PASSWORD={{user `dockerhub_password`}}" - ], - "execute_command": "sudo sh -c '{{ .Vars }} {{ .Path }}'" - }, - { - "type": "shell", - "scripts": [ - "{{template_dir}}/scripts/installers/azcopy.sh", - "{{template_dir}}/scripts/installers/azure-cli.sh", - "{{template_dir}}/scripts/installers/azure-devops-cli.sh", - "{{template_dir}}/scripts/installers/basic.sh", - "{{template_dir}}/scripts/installers/bicep.sh", - "{{template_dir}}/scripts/installers/aliyun-cli.sh", - "{{template_dir}}/scripts/installers/apache.sh", - "{{template_dir}}/scripts/installers/clang.sh", - "{{template_dir}}/scripts/installers/swift.sh", - "{{template_dir}}/scripts/installers/cmake.sh", - "{{template_dir}}/scripts/installers/codeql-bundle.sh", - "{{template_dir}}/scripts/installers/containers.sh", - "{{template_dir}}/scripts/installers/dotnetcore-sdk.sh", - "{{template_dir}}/scripts/installers/erlang.sh", - "{{template_dir}}/scripts/installers/firefox.sh", - "{{template_dir}}/scripts/installers/microsoft-edge.sh", - "{{template_dir}}/scripts/installers/gcc.sh", - "{{template_dir}}/scripts/installers/gfortran.sh", - "{{template_dir}}/scripts/installers/git.sh", - "{{template_dir}}/scripts/installers/github-cli.sh", - "{{template_dir}}/scripts/installers/google-chrome.sh", - "{{template_dir}}/scripts/installers/google-cloud-sdk.sh", - "{{template_dir}}/scripts/installers/haskell.sh", - "{{template_dir}}/scripts/installers/heroku.sh", - "{{template_dir}}/scripts/installers/hhvm.sh", - "{{template_dir}}/scripts/installers/java-tools.sh", - "{{template_dir}}/scripts/installers/kubernetes-tools.sh", - "{{template_dir}}/scripts/installers/oc.sh", - "{{template_dir}}/scripts/installers/leiningen.sh", - "{{template_dir}}/scripts/installers/miniconda.sh", - "{{template_dir}}/scripts/installers/mono.sh", - "{{template_dir}}/scripts/installers/kotlin.sh", - "{{template_dir}}/scripts/installers/mysql.sh", - "{{template_dir}}/scripts/installers/mssql-cmd-tools.sh", - "{{template_dir}}/scripts/installers/sqlpackage.sh", - "{{template_dir}}/scripts/installers/nginx.sh", - "{{template_dir}}/scripts/installers/nvm.sh", - "{{template_dir}}/scripts/installers/nodejs.sh", - "{{template_dir}}/scripts/installers/bazel.sh", - "{{template_dir}}/scripts/installers/oras-cli.sh", - "{{template_dir}}/scripts/installers/phantomjs.sh", - "{{template_dir}}/scripts/installers/php.sh", - "{{template_dir}}/scripts/installers/postgresql.sh", - "{{template_dir}}/scripts/installers/pulumi.sh", - "{{template_dir}}/scripts/installers/ruby.sh", - "{{template_dir}}/scripts/installers/r.sh", - "{{template_dir}}/scripts/installers/rust.sh", - "{{template_dir}}/scripts/installers/julia.sh", - "{{template_dir}}/scripts/installers/sbt.sh", - "{{template_dir}}/scripts/installers/selenium.sh", - "{{template_dir}}/scripts/installers/terraform.sh", - "{{template_dir}}/scripts/installers/packer.sh", - "{{template_dir}}/scripts/installers/vcpkg.sh", - "{{template_dir}}/scripts/installers/dpkg-config.sh", - "{{template_dir}}/scripts/installers/mongodb.sh", - "{{template_dir}}/scripts/installers/yq.sh", - "{{template_dir}}/scripts/installers/android.sh", - "{{template_dir}}/scripts/installers/pypy.sh", - "{{template_dir}}/scripts/installers/python.sh", - "{{template_dir}}/scripts/installers/aws.sh", - "{{template_dir}}/scripts/installers/zstd.sh" - ], - "environment_vars": [ - "HELPER_SCRIPTS={{user `helper_script_folder`}}", - "INSTALLER_SCRIPT_FOLDER={{user `installer_script_folder`}}", - "DEBIAN_FRONTEND=noninteractive" - ], - "execute_command": "sudo sh -c '{{ .Vars }} {{ .Path }}'" - }, - { - "type": "shell", - "scripts": [ - "{{template_dir}}/scripts/installers/Install-Toolset.ps1", - "{{template_dir}}/scripts/installers/Configure-Toolset.ps1" - ], - "environment_vars": [ - "HELPER_SCRIPTS={{user `helper_script_folder`}}", - "INSTALLER_SCRIPT_FOLDER={{user `installer_script_folder`}}" - ], - "execute_command": "sudo sh -c '{{ .Vars }} pwsh -f {{ .Path }}'" - }, - { - "type": "shell", - "scripts": [ - "{{template_dir}}/scripts/installers/pipx-packages.sh" - ], - "environment_vars": [ - "HELPER_SCRIPTS={{user `helper_script_folder`}}", - "INSTALLER_SCRIPT_FOLDER={{user `installer_script_folder`}}" - ], - "execute_command": "sudo sh -c '{{ .Vars }} {{ .Path }}'" - }, - { - "type": "shell", - "scripts": [ - "{{template_dir}}/scripts/installers/homebrew.sh" - ], - "environment_vars": [ - "HELPER_SCRIPTS={{user `helper_script_folder`}}", - "DEBIAN_FRONTEND=noninteractive", - "INSTALLER_SCRIPT_FOLDER={{user `installer_script_folder`}}" - ], - "execute_command": "/bin/sh -c '{{ .Vars }} {{ .Path }}'" - }, - { - "type": "shell", - "script": "{{template_dir}}/scripts/base/snap.sh", - "execute_command": "sudo sh -c '{{ .Vars }} {{ .Path }}'" - }, - { - "type": "shell", - "expect_disconnect": true, - "scripts": [ - "{{template_dir}}/scripts/base/reboot.sh" - ], - "execute_command": "/bin/sh -c '{{ .Vars }} {{ .Path }}'" - }, - { - "type": "shell", - "pause_before": "60s", - "start_retry_timeout": "10m", - "scripts": [ - "{{template_dir}}/scripts/installers/cleanup.sh" - ], - "execute_command": "sudo sh -c '{{ .Vars }} {{ .Path }}'" - }, - { - "type": "shell", - "script": "{{template_dir}}/scripts/base/apt-mock-remove.sh", - "execute_command": "sudo sh -c '{{ .Vars }} {{ .Path }}'" - }, - { - "type": "shell", - "inline": [ - "pwsh -File {{user `image_folder`}}/SoftwareReport/SoftwareReport.Generator.ps1 -OutputDirectory {{user `image_folder`}}", - "pwsh -File {{user `image_folder`}}/tests/RunAll-Tests.ps1 -OutputDirectory {{user `image_folder`}}" - ], - "environment_vars": [ - "IMAGE_VERSION={{user `image_version`}}", - "INSTALLER_SCRIPT_FOLDER={{user `installer_script_folder`}}" - ] - }, - { - "type": "file", - "source": "{{user `image_folder`}}/software-report.md", - "destination": "{{template_dir}}/Ubuntu1804-Readme.md", - "direction": "download" - }, - { - "type": "file", - "source": "{{user `image_folder`}}/software-report.json", - "destination": "{{template_dir}}/software-report.json", - "direction": "download" - }, - { - "type": "shell", - "scripts":[ - "{{template_dir}}/scripts/installers/post-deployment.sh" - ], - "environment_vars":[ - "HELPER_SCRIPT_FOLDER={{user `helper_script_folder`}}", - "INSTALLER_SCRIPT_FOLDER={{user `installer_script_folder`}}", - "IMAGE_FOLDER={{user `image_folder`}}" - ], - "execute_command": "sudo sh -c '{{ .Vars }} {{ .Path }}'" - }, - { - "type": "shell", - "scripts": [ - "{{template_dir}}/scripts/installers/validate-disk-space.sh" - ], - "environment_vars": [ - "RUN_VALIDATION={{user `run_validation_diskspace`}}" - ] - }, - { - "type": "file", - "source": "{{template_dir}}/config/ubuntu1804.conf", - "destination": "/tmp/" - }, - { - "type": "shell", - "inline": [ - "mkdir -p /etc/vsts", - "cp /tmp/ubuntu1804.conf /etc/vsts/machine_instance.conf" - ], - "execute_command": "sudo sh -c '{{ .Vars }} {{ .Path }}'" - }, - { - "type": "shell", - "inline": [ - "sleep 30", - "/usr/sbin/waagent -force -deprovision+user && export HISTSIZE=0 && sync" - ], - "execute_command": "sudo sh -c '{{ .Vars }} {{ .Path }}'" - } - ] -}