From b9ba2d50aca00f1260d37ad188c2e20b70bc78de Mon Sep 17 00:00:00 2001 From: Shamil Mubarakshin Date: Thu, 19 Oct 2023 10:14:21 +0200 Subject: [PATCH 1/8] Update folder structure --- images/{linux => ubuntu}/Ubuntu2004-Readme.md | 0 images/{linux => ubuntu}/Ubuntu2204-Readme.md | 0 .../assets/post-gen}/cleanup-logs.sh | 0 .../assets/post-gen}/environment-variables.sh | 0 .../assets/post-gen}/systemd-linger.sh | 0 .../assets/post-gen}/ubuntu2004.conf | 0 .../assets/post-gen}/ubuntu2204.conf | 0 .../scripts/build}/Configure-Toolset.ps1 | 190 +++++++++--------- .../scripts/build}/Install-AzureModules.ps1 | 0 .../build}/Install-PowerShellModules.ps1 | 68 +++---- .../scripts/build}/Install-Toolset.ps1 | 0 .../scripts/build}/action-archive-cache.sh | 0 .../scripts/build}/aliyun-cli.sh | 0 .../scripts/build}/android.sh | 0 .../scripts/build}/apache.sh | 0 .../scripts/build}/apt-common.sh | 0 .../scripts/build}/apt-mock-remove.sh | 0 .../base => ubuntu/scripts/build}/apt-mock.sh | 0 .../scripts/build}/apt-ubuntu-archive.sh | 0 .../scripts/build}/apt-vital.sh | 0 .../base => ubuntu/scripts/build}/apt.sh | 0 .../scripts/build}/aws.sh | 0 .../scripts/build}/azcopy.sh | 0 .../scripts/build}/azure-cli.sh | 0 .../scripts/build}/azure-devops-cli.sh | 0 .../scripts/build}/bazel.sh | 0 .../scripts/build}/bicep.sh | 0 .../scripts/build}/clang.sh | 0 .../scripts/build}/cleanup.sh | 0 .../scripts/build}/cmake.sh | 0 .../scripts/build}/codeql-bundle.sh | 0 .../scripts/build}/complete-snap-setup.sh | 0 .../scripts/build}/configure-environment.sh | 0 .../scripts/build}/containers.sh | 0 .../scripts/build}/docker-compose.sh | 0 .../scripts/build}/docker.sh | 0 .../scripts/build}/dotnetcore-sdk.sh | 0 .../scripts/build}/dpkg-config.sh | 0 .../scripts/build}/erlang.sh | 0 .../scripts/build}/example.sh | 0 .../scripts/build}/firefox.sh | 0 .../scripts/build}/gcc.sh | 0 .../scripts/build}/gfortran.sh | 0 .../scripts/build}/git-lfs.sh | 0 .../scripts/build}/git.sh | 0 .../scripts/build}/github-cli.sh | 0 .../scripts/build}/google-chrome.sh | 0 .../scripts/build}/google-cloud-cli.sh | 0 .../scripts/build}/haskell.sh | 0 .../scripts/build}/heroku.sh | 0 .../scripts/build}/hhvm.sh | 0 .../scripts/build}/homebrew.sh | 0 .../scripts/build}/java-tools.sh | 0 .../scripts/build}/julia.sh | 0 .../scripts/build}/kotlin.sh | 0 .../scripts/build}/kubernetes-tools.sh | 0 .../scripts/build}/leiningen.sh | 0 .../base => ubuntu/scripts/build}/limits.sh | 0 .../scripts/build}/microsoft-edge.sh | 0 .../scripts/build}/miniconda.sh | 0 .../scripts/build}/mongodb.sh | 0 .../scripts/build}/mono.sh | 0 .../scripts/build}/mssql-cmd-tools.sh | 0 .../scripts/build}/mysql.sh | 0 .../scripts/build}/nginx.sh | 0 .../scripts/build}/nodejs.sh | 0 .../scripts/build}/nvm.sh | 0 .../installers => ubuntu/scripts/build}/oc.sh | 0 .../scripts/build}/oras-cli.sh | 0 .../scripts/build}/packer.sh | 0 .../scripts/build}/phantomjs.sh | 0 .../scripts/build}/php.sh | 0 .../scripts/build}/pipx-packages.sh | 0 .../scripts/build}/post-deployment.sh | 0 .../scripts/build}/postgresql.sh | 0 .../scripts/build}/powershellcore.sh | 0 .../scripts/build}/preimagedata.sh | 0 .../scripts/build}/pulumi.sh | 0 .../scripts/build}/pypy.sh | 0 .../scripts/build}/python.sh | 0 .../installers => ubuntu/scripts/build}/r.sh | 0 .../base => ubuntu/scripts/build}/reboot.sh | 0 .../base => ubuntu/scripts/build}/repos.sh | 0 .../scripts/build}/ruby.sh | 0 .../scripts/build}/runner-package.sh | 0 .../scripts/build}/rust.sh | 0 .../scripts/build}/sbt.sh | 0 .../scripts/build}/selenium.sh | 0 .../base => ubuntu/scripts/build}/snap.sh | 0 .../scripts/build}/sphinx.sh | 0 .../scripts/build}/sqlpackage.sh | 0 .../scripts/build}/swift.sh | 0 .../scripts/build}/terraform.sh | 0 .../scripts/build}/validate-disk-space.sh | 0 .../scripts/build}/vcpkg.sh | 0 .../installers => ubuntu/scripts/build}/yq.sh | 0 .../scripts/build}/zstd.sh | 0 .../docs-gen}/SoftwareReport.Android.psm1 | 0 .../docs-gen}/SoftwareReport.Browsers.psm1 | 0 .../docs-gen}/SoftwareReport.CachedTools.psm1 | 0 .../docs-gen}/SoftwareReport.Common.psm1 | 0 .../docs-gen}/SoftwareReport.Databases.psm1 | 0 .../docs-gen}/SoftwareReport.Generator.ps1 | 0 .../docs-gen}/SoftwareReport.Java.psm1 | 0 .../docs-gen}/SoftwareReport.Rust.psm1 | 0 .../docs-gen}/SoftwareReport.Tools.psm1 | 0 .../docs-gen}/SoftwareReport.WebServers.psm1 | 0 .../scripts/helpers/Common.Helpers.psm1 | 0 .../helpers/SoftwareReport.Helpers.psm1 | 0 .../scripts/helpers/Tests.Helpers.psm1 | 0 .../scripts/helpers/etc-environment.sh | 0 .../scripts/helpers/install.sh | 0 .../scripts/helpers/invoke-tests.sh | 0 .../{linux => ubuntu}/scripts/helpers/os.sh | 0 .../tests/ActionArchiveCache.Tests.ps1 | 0 .../scripts/tests/Android.Tests.ps1 | 0 .../scripts/tests/Apt.Tests.ps1 | 0 .../scripts/tests/Browsers.Tests.ps1 | 0 .../scripts/tests/CLI.Tools.Tests.ps1 | 0 .../scripts/tests/Common.Tests.ps1 | 0 .../scripts/tests/Databases.Tests.ps1 | 0 .../scripts/tests/DotnetSDK.Tests.ps1 | 0 .../scripts/tests/Haskell.Tests.ps1 | 0 .../scripts/tests/Java.Tests.ps1 | 0 .../scripts/tests/Node.Tests.ps1 | 0 .../scripts/tests/PowerShellModules.Tests.ps1 | 0 .../scripts/tests/RunAll-Tests.ps1 | 0 .../scripts/tests/RunnerCache.Tests.ps1 | 0 .../scripts/tests/Tools.Tests.ps1 | 0 .../scripts/tests/Toolset.Tests.ps1 | 0 .../scripts/tests/WebServers.Tests.ps1 | 0 .../templates}/ubuntu2004.json | 0 .../templates}/ubuntu2204.pkr.hcl | 0 .../templates}/ubuntuminimal.pkr.hcl | 0 .../toolsets/toolset-2004.json | 0 .../toolsets/toolset-2204.json | 0 136 files changed, 129 insertions(+), 129 deletions(-) rename images/{linux => ubuntu}/Ubuntu2004-Readme.md (100%) rename images/{linux => ubuntu}/Ubuntu2204-Readme.md (100%) rename images/{linux/post-generation => ubuntu/assets/post-gen}/cleanup-logs.sh (100%) rename images/{linux/post-generation => ubuntu/assets/post-gen}/environment-variables.sh (100%) rename images/{linux/post-generation => ubuntu/assets/post-gen}/systemd-linger.sh (100%) rename images/{linux/config => ubuntu/assets/post-gen}/ubuntu2004.conf (100%) rename images/{linux/config => ubuntu/assets/post-gen}/ubuntu2204.conf (100%) rename images/{linux/scripts/installers => ubuntu/scripts/build}/Configure-Toolset.ps1 (96%) rename images/{linux/scripts/installers => ubuntu/scripts/build}/Install-AzureModules.ps1 (100%) rename images/{linux/scripts/installers => ubuntu/scripts/build}/Install-PowerShellModules.ps1 (96%) rename images/{linux/scripts/installers => ubuntu/scripts/build}/Install-Toolset.ps1 (100%) rename images/{linux/scripts/installers => ubuntu/scripts/build}/action-archive-cache.sh (100%) mode change 100755 => 100644 rename images/{linux/scripts/installers => ubuntu/scripts/build}/aliyun-cli.sh (100%) rename images/{linux/scripts/installers => ubuntu/scripts/build}/android.sh (100%) rename images/{linux/scripts/installers => ubuntu/scripts/build}/apache.sh (100%) rename images/{linux/scripts/installers => ubuntu/scripts/build}/apt-common.sh (100%) rename images/{linux/scripts/base => ubuntu/scripts/build}/apt-mock-remove.sh (100%) rename images/{linux/scripts/base => ubuntu/scripts/build}/apt-mock.sh (100%) rename images/{linux/scripts/base => ubuntu/scripts/build}/apt-ubuntu-archive.sh (100%) rename images/{linux/scripts/installers => ubuntu/scripts/build}/apt-vital.sh (100%) rename images/{linux/scripts/base => ubuntu/scripts/build}/apt.sh (100%) rename images/{linux/scripts/installers => ubuntu/scripts/build}/aws.sh (100%) rename images/{linux/scripts/installers => ubuntu/scripts/build}/azcopy.sh (100%) rename images/{linux/scripts/installers => ubuntu/scripts/build}/azure-cli.sh (100%) rename images/{linux/scripts/installers => ubuntu/scripts/build}/azure-devops-cli.sh (100%) rename images/{linux/scripts/installers => ubuntu/scripts/build}/bazel.sh (100%) rename images/{linux/scripts/installers => ubuntu/scripts/build}/bicep.sh (100%) rename images/{linux/scripts/installers => ubuntu/scripts/build}/clang.sh (100%) rename images/{linux/scripts/installers => ubuntu/scripts/build}/cleanup.sh (100%) rename images/{linux/scripts/installers => ubuntu/scripts/build}/cmake.sh (100%) rename images/{linux/scripts/installers => ubuntu/scripts/build}/codeql-bundle.sh (100%) rename images/{linux/scripts/installers => ubuntu/scripts/build}/complete-snap-setup.sh (100%) rename images/{linux/scripts/installers => ubuntu/scripts/build}/configure-environment.sh (100%) rename images/{linux/scripts/installers => ubuntu/scripts/build}/containers.sh (100%) rename images/{linux/scripts/installers => ubuntu/scripts/build}/docker-compose.sh (100%) rename images/{linux/scripts/installers => ubuntu/scripts/build}/docker.sh (100%) rename images/{linux/scripts/installers => ubuntu/scripts/build}/dotnetcore-sdk.sh (100%) rename images/{linux/scripts/installers => ubuntu/scripts/build}/dpkg-config.sh (100%) rename images/{linux/scripts/installers => ubuntu/scripts/build}/erlang.sh (100%) rename images/{linux/scripts/installers => ubuntu/scripts/build}/example.sh (100%) rename images/{linux/scripts/installers => ubuntu/scripts/build}/firefox.sh (100%) rename images/{linux/scripts/installers => ubuntu/scripts/build}/gcc.sh (100%) rename images/{linux/scripts/installers => ubuntu/scripts/build}/gfortran.sh (100%) rename images/{linux/scripts/installers => ubuntu/scripts/build}/git-lfs.sh (100%) rename images/{linux/scripts/installers => ubuntu/scripts/build}/git.sh (100%) rename images/{linux/scripts/installers => ubuntu/scripts/build}/github-cli.sh (100%) rename images/{linux/scripts/installers => ubuntu/scripts/build}/google-chrome.sh (100%) rename images/{linux/scripts/installers => ubuntu/scripts/build}/google-cloud-cli.sh (100%) rename images/{linux/scripts/installers => ubuntu/scripts/build}/haskell.sh (100%) rename images/{linux/scripts/installers => ubuntu/scripts/build}/heroku.sh (100%) rename images/{linux/scripts/installers => ubuntu/scripts/build}/hhvm.sh (100%) rename images/{linux/scripts/installers => ubuntu/scripts/build}/homebrew.sh (100%) rename images/{linux/scripts/installers => ubuntu/scripts/build}/java-tools.sh (100%) rename images/{linux/scripts/installers => ubuntu/scripts/build}/julia.sh (100%) rename images/{linux/scripts/installers => ubuntu/scripts/build}/kotlin.sh (100%) rename images/{linux/scripts/installers => ubuntu/scripts/build}/kubernetes-tools.sh (100%) rename images/{linux/scripts/installers => ubuntu/scripts/build}/leiningen.sh (100%) rename images/{linux/scripts/base => ubuntu/scripts/build}/limits.sh (100%) rename images/{linux/scripts/installers => ubuntu/scripts/build}/microsoft-edge.sh (100%) rename images/{linux/scripts/installers => ubuntu/scripts/build}/miniconda.sh (100%) rename images/{linux/scripts/installers => ubuntu/scripts/build}/mongodb.sh (100%) rename images/{linux/scripts/installers => ubuntu/scripts/build}/mono.sh (100%) rename images/{linux/scripts/installers => ubuntu/scripts/build}/mssql-cmd-tools.sh (100%) rename images/{linux/scripts/installers => ubuntu/scripts/build}/mysql.sh (100%) rename images/{linux/scripts/installers => ubuntu/scripts/build}/nginx.sh (100%) rename images/{linux/scripts/installers => ubuntu/scripts/build}/nodejs.sh (100%) rename images/{linux/scripts/installers => ubuntu/scripts/build}/nvm.sh (100%) rename images/{linux/scripts/installers => ubuntu/scripts/build}/oc.sh (100%) rename images/{linux/scripts/installers => ubuntu/scripts/build}/oras-cli.sh (100%) rename images/{linux/scripts/installers => ubuntu/scripts/build}/packer.sh (100%) rename images/{linux/scripts/installers => ubuntu/scripts/build}/phantomjs.sh (100%) rename images/{linux/scripts/installers => ubuntu/scripts/build}/php.sh (100%) rename images/{linux/scripts/installers => ubuntu/scripts/build}/pipx-packages.sh (100%) rename images/{linux/scripts/installers => ubuntu/scripts/build}/post-deployment.sh (100%) rename images/{linux/scripts/installers => ubuntu/scripts/build}/postgresql.sh (100%) rename images/{linux/scripts/installers => ubuntu/scripts/build}/powershellcore.sh (100%) rename images/{linux/scripts/installers => ubuntu/scripts/build}/preimagedata.sh (100%) rename images/{linux/scripts/installers => ubuntu/scripts/build}/pulumi.sh (100%) rename images/{linux/scripts/installers => ubuntu/scripts/build}/pypy.sh (100%) rename images/{linux/scripts/installers => ubuntu/scripts/build}/python.sh (100%) rename images/{linux/scripts/installers => ubuntu/scripts/build}/r.sh (100%) rename images/{linux/scripts/base => ubuntu/scripts/build}/reboot.sh (100%) rename images/{linux/scripts/base => ubuntu/scripts/build}/repos.sh (100%) rename images/{linux/scripts/installers => ubuntu/scripts/build}/ruby.sh (100%) rename images/{linux/scripts/installers => ubuntu/scripts/build}/runner-package.sh (100%) rename images/{linux/scripts/installers => ubuntu/scripts/build}/rust.sh (100%) rename images/{linux/scripts/installers => ubuntu/scripts/build}/sbt.sh (100%) rename images/{linux/scripts/installers => ubuntu/scripts/build}/selenium.sh (100%) rename images/{linux/scripts/base => ubuntu/scripts/build}/snap.sh (100%) rename images/{linux/scripts/installers => ubuntu/scripts/build}/sphinx.sh (100%) rename images/{linux/scripts/installers => ubuntu/scripts/build}/sqlpackage.sh (100%) rename images/{linux/scripts/installers => ubuntu/scripts/build}/swift.sh (100%) rename images/{linux/scripts/installers => ubuntu/scripts/build}/terraform.sh (100%) rename images/{linux/scripts/installers => ubuntu/scripts/build}/validate-disk-space.sh (100%) rename images/{linux/scripts/installers => ubuntu/scripts/build}/vcpkg.sh (100%) rename images/{linux/scripts/installers => ubuntu/scripts/build}/yq.sh (100%) rename images/{linux/scripts/installers => ubuntu/scripts/build}/zstd.sh (100%) rename images/{linux/scripts/SoftwareReport => ubuntu/scripts/docs-gen}/SoftwareReport.Android.psm1 (100%) rename images/{linux/scripts/SoftwareReport => ubuntu/scripts/docs-gen}/SoftwareReport.Browsers.psm1 (100%) rename images/{linux/scripts/SoftwareReport => ubuntu/scripts/docs-gen}/SoftwareReport.CachedTools.psm1 (100%) mode change 100755 => 100644 rename images/{linux/scripts/SoftwareReport => ubuntu/scripts/docs-gen}/SoftwareReport.Common.psm1 (100%) rename images/{linux/scripts/SoftwareReport => ubuntu/scripts/docs-gen}/SoftwareReport.Databases.psm1 (100%) rename images/{linux/scripts/SoftwareReport => ubuntu/scripts/docs-gen}/SoftwareReport.Generator.ps1 (100%) rename images/{linux/scripts/SoftwareReport => ubuntu/scripts/docs-gen}/SoftwareReport.Java.psm1 (100%) rename images/{linux/scripts/SoftwareReport => ubuntu/scripts/docs-gen}/SoftwareReport.Rust.psm1 (100%) rename images/{linux/scripts/SoftwareReport => ubuntu/scripts/docs-gen}/SoftwareReport.Tools.psm1 (100%) rename images/{linux/scripts/SoftwareReport => ubuntu/scripts/docs-gen}/SoftwareReport.WebServers.psm1 (100%) rename images/{linux => ubuntu}/scripts/helpers/Common.Helpers.psm1 (100%) rename images/{linux => ubuntu}/scripts/helpers/SoftwareReport.Helpers.psm1 (100%) rename images/{linux => ubuntu}/scripts/helpers/Tests.Helpers.psm1 (100%) rename images/{linux => ubuntu}/scripts/helpers/etc-environment.sh (100%) rename images/{linux => ubuntu}/scripts/helpers/install.sh (100%) rename images/{linux => ubuntu}/scripts/helpers/invoke-tests.sh (100%) rename images/{linux => ubuntu}/scripts/helpers/os.sh (100%) rename images/{linux => ubuntu}/scripts/tests/ActionArchiveCache.Tests.ps1 (100%) rename images/{linux => ubuntu}/scripts/tests/Android.Tests.ps1 (100%) rename images/{linux => ubuntu}/scripts/tests/Apt.Tests.ps1 (100%) rename images/{linux => ubuntu}/scripts/tests/Browsers.Tests.ps1 (100%) rename images/{linux => ubuntu}/scripts/tests/CLI.Tools.Tests.ps1 (100%) rename images/{linux => ubuntu}/scripts/tests/Common.Tests.ps1 (100%) rename images/{linux => ubuntu}/scripts/tests/Databases.Tests.ps1 (100%) rename images/{linux => ubuntu}/scripts/tests/DotnetSDK.Tests.ps1 (100%) rename images/{linux => ubuntu}/scripts/tests/Haskell.Tests.ps1 (100%) rename images/{linux => ubuntu}/scripts/tests/Java.Tests.ps1 (100%) rename images/{linux => ubuntu}/scripts/tests/Node.Tests.ps1 (100%) rename images/{linux => ubuntu}/scripts/tests/PowerShellModules.Tests.ps1 (100%) rename images/{linux => ubuntu}/scripts/tests/RunAll-Tests.ps1 (100%) rename images/{linux => ubuntu}/scripts/tests/RunnerCache.Tests.ps1 (100%) rename images/{linux => ubuntu}/scripts/tests/Tools.Tests.ps1 (100%) rename images/{linux => ubuntu}/scripts/tests/Toolset.Tests.ps1 (100%) rename images/{linux => ubuntu}/scripts/tests/WebServers.Tests.ps1 (100%) rename images/{linux => ubuntu/templates}/ubuntu2004.json (100%) rename images/{linux => ubuntu/templates}/ubuntu2204.pkr.hcl (100%) rename images/{linux => ubuntu/templates}/ubuntuminimal.pkr.hcl (100%) rename images/{linux => ubuntu}/toolsets/toolset-2004.json (100%) rename images/{linux => ubuntu}/toolsets/toolset-2204.json (100%) diff --git a/images/linux/Ubuntu2004-Readme.md b/images/ubuntu/Ubuntu2004-Readme.md similarity index 100% rename from images/linux/Ubuntu2004-Readme.md rename to images/ubuntu/Ubuntu2004-Readme.md diff --git a/images/linux/Ubuntu2204-Readme.md b/images/ubuntu/Ubuntu2204-Readme.md similarity index 100% rename from images/linux/Ubuntu2204-Readme.md rename to images/ubuntu/Ubuntu2204-Readme.md diff --git a/images/linux/post-generation/cleanup-logs.sh b/images/ubuntu/assets/post-gen/cleanup-logs.sh similarity index 100% rename from images/linux/post-generation/cleanup-logs.sh rename to images/ubuntu/assets/post-gen/cleanup-logs.sh diff --git a/images/linux/post-generation/environment-variables.sh b/images/ubuntu/assets/post-gen/environment-variables.sh similarity index 100% rename from images/linux/post-generation/environment-variables.sh rename to images/ubuntu/assets/post-gen/environment-variables.sh diff --git a/images/linux/post-generation/systemd-linger.sh b/images/ubuntu/assets/post-gen/systemd-linger.sh similarity index 100% rename from images/linux/post-generation/systemd-linger.sh rename to images/ubuntu/assets/post-gen/systemd-linger.sh diff --git a/images/linux/config/ubuntu2004.conf b/images/ubuntu/assets/post-gen/ubuntu2004.conf similarity index 100% rename from images/linux/config/ubuntu2004.conf rename to images/ubuntu/assets/post-gen/ubuntu2004.conf diff --git a/images/linux/config/ubuntu2204.conf b/images/ubuntu/assets/post-gen/ubuntu2204.conf similarity index 100% rename from images/linux/config/ubuntu2204.conf rename to images/ubuntu/assets/post-gen/ubuntu2204.conf diff --git a/images/linux/scripts/installers/Configure-Toolset.ps1 b/images/ubuntu/scripts/build/Configure-Toolset.ps1 similarity index 96% rename from images/linux/scripts/installers/Configure-Toolset.ps1 rename to images/ubuntu/scripts/build/Configure-Toolset.ps1 index dfef74e0cefd..c35866bf30ac 100644 --- a/images/linux/scripts/installers/Configure-Toolset.ps1 +++ b/images/ubuntu/scripts/build/Configure-Toolset.ps1 @@ -1,95 +1,95 @@ -################################################################################ -## File: Configure-Toolset.ps1 -## Team: CI-Build -## Desc: Configure toolset -################################################################################ - -Import-Module "$env:HELPER_SCRIPTS/Tests.Helpers.psm1" -DisableNameChecking - -function Get-ToolsetToolFullPath -{ - param - ( - [Parameter(Mandatory)] [string] $ToolName, - [Parameter(Mandatory)] [string] $ToolVersion, - [Parameter(Mandatory)] [string] $ToolArchitecture - ) - - $toolPath = Join-Path -Path $env:AGENT_TOOLSDIRECTORY -ChildPath $toolName - $toolPathVersion = Join-Path -Path $toolPath -ChildPath $toolVersion - $foundVersion = Get-Item $toolPathVersion | Sort-Object -Property {[version]$_.name} -Descending | Select-Object -First 1 - $installationDir = Join-Path -Path $foundVersion -ChildPath $toolArchitecture - return $installationDir -} - -function Add-EnvironmentVariable -{ - param - ( - [Parameter(Mandatory)] [string] $Name, - [Parameter(Mandatory)] [string] $Value, - [string] $FilePath = "/etc/environment" - ) - - $envVar = "{0}={1}" -f $name, $value - Tee-Object -InputObject $envVar -FilePath $filePath -Append -} - -$ErrorActionPreference = "Stop" - -Write-Host "Configure toolset tools environment..." -$toolsEnvironment = @{ - go = @{ - command = "ln -s {0}/bin/* /usr/bin/" - variableTemplate = "GOROOT_{0}_{1}_X64" - } -} - -$toolset = Get-Content -Path "$env:INSTALLER_SCRIPT_FOLDER/toolset.json" -Raw | ConvertFrom-Json - -foreach ($tool in $toolset.toolcache) -{ - $toolName = $tool.name - $toolArch = $tool.arch - $toolEnvironment = $toolsEnvironment[$toolName] - - if (-not $toolEnvironment) - { - continue - } - - foreach ($toolVersion in $tool.versions) - { - Write-Host "Set $toolName $toolVersion environment variable..." - $toolPath = Get-ToolsetToolFullPath -ToolName $toolName -ToolVersion $toolVersion -ToolArchitecture $toolArch - $envName = $toolEnvironment.variableTemplate -f $toolVersion.split(".") - - # Add environment variable name=value - Add-EnvironmentVariable -Name $envName -Value $toolPath - } - - # Invoke command and add env variable for the default tool version - $toolDefVersion = $tool.default - if (-not $toolDefVersion) - { - continue - } - - $envDefName = $toolEnvironment.defaultVariable - $toolPath = Get-ToolsetToolFullPath -ToolName $toolName -ToolVersion $toolDefVersion -ToolArchitecture $toolArch - - if ($envDefName) - { - Write-Host "Set default $envDefName for $toolName $toolDefVersion environment variable..." - Add-EnvironmentVariable -Name $envDefName -Value $toolPath - } - - if ($toolEnvironment.command) - { - $command = $toolEnvironment.command -f $toolPath - Write-Host "Invoke $command command for default $toolName $toolDefVersion..." - Invoke-Expression -Command $command - } -} - -Invoke-PesterTests -TestFile "Toolset" -TestName "Toolset" +################################################################################ +## File: Configure-Toolset.ps1 +## Team: CI-Build +## Desc: Configure toolset +################################################################################ + +Import-Module "$env:HELPER_SCRIPTS/Tests.Helpers.psm1" -DisableNameChecking + +function Get-ToolsetToolFullPath +{ + param + ( + [Parameter(Mandatory)] [string] $ToolName, + [Parameter(Mandatory)] [string] $ToolVersion, + [Parameter(Mandatory)] [string] $ToolArchitecture + ) + + $toolPath = Join-Path -Path $env:AGENT_TOOLSDIRECTORY -ChildPath $toolName + $toolPathVersion = Join-Path -Path $toolPath -ChildPath $toolVersion + $foundVersion = Get-Item $toolPathVersion | Sort-Object -Property {[version]$_.name} -Descending | Select-Object -First 1 + $installationDir = Join-Path -Path $foundVersion -ChildPath $toolArchitecture + return $installationDir +} + +function Add-EnvironmentVariable +{ + param + ( + [Parameter(Mandatory)] [string] $Name, + [Parameter(Mandatory)] [string] $Value, + [string] $FilePath = "/etc/environment" + ) + + $envVar = "{0}={1}" -f $name, $value + Tee-Object -InputObject $envVar -FilePath $filePath -Append +} + +$ErrorActionPreference = "Stop" + +Write-Host "Configure toolset tools environment..." +$toolsEnvironment = @{ + go = @{ + command = "ln -s {0}/bin/* /usr/bin/" + variableTemplate = "GOROOT_{0}_{1}_X64" + } +} + +$toolset = Get-Content -Path "$env:INSTALLER_SCRIPT_FOLDER/toolset.json" -Raw | ConvertFrom-Json + +foreach ($tool in $toolset.toolcache) +{ + $toolName = $tool.name + $toolArch = $tool.arch + $toolEnvironment = $toolsEnvironment[$toolName] + + if (-not $toolEnvironment) + { + continue + } + + foreach ($toolVersion in $tool.versions) + { + Write-Host "Set $toolName $toolVersion environment variable..." + $toolPath = Get-ToolsetToolFullPath -ToolName $toolName -ToolVersion $toolVersion -ToolArchitecture $toolArch + $envName = $toolEnvironment.variableTemplate -f $toolVersion.split(".") + + # Add environment variable name=value + Add-EnvironmentVariable -Name $envName -Value $toolPath + } + + # Invoke command and add env variable for the default tool version + $toolDefVersion = $tool.default + if (-not $toolDefVersion) + { + continue + } + + $envDefName = $toolEnvironment.defaultVariable + $toolPath = Get-ToolsetToolFullPath -ToolName $toolName -ToolVersion $toolDefVersion -ToolArchitecture $toolArch + + if ($envDefName) + { + Write-Host "Set default $envDefName for $toolName $toolDefVersion environment variable..." + Add-EnvironmentVariable -Name $envDefName -Value $toolPath + } + + if ($toolEnvironment.command) + { + $command = $toolEnvironment.command -f $toolPath + Write-Host "Invoke $command command for default $toolName $toolDefVersion..." + Invoke-Expression -Command $command + } +} + +Invoke-PesterTests -TestFile "Toolset" -TestName "Toolset" diff --git a/images/linux/scripts/installers/Install-AzureModules.ps1 b/images/ubuntu/scripts/build/Install-AzureModules.ps1 similarity index 100% rename from images/linux/scripts/installers/Install-AzureModules.ps1 rename to images/ubuntu/scripts/build/Install-AzureModules.ps1 diff --git a/images/linux/scripts/installers/Install-PowerShellModules.ps1 b/images/ubuntu/scripts/build/Install-PowerShellModules.ps1 similarity index 96% rename from images/linux/scripts/installers/Install-PowerShellModules.ps1 rename to images/ubuntu/scripts/build/Install-PowerShellModules.ps1 index 95e03545ee5c..8a41d7ed5c3a 100644 --- a/images/linux/scripts/installers/Install-PowerShellModules.ps1 +++ b/images/ubuntu/scripts/build/Install-PowerShellModules.ps1 @@ -1,34 +1,34 @@ -$ErrorActionPreference = "Stop" -$ProgressPreference = "SilentlyContinue" - -Import-Module "$env:HELPER_SCRIPTS/Tests.Helpers.psm1" -DisableNameChecking - -# Specifies the installation policy -Set-PSRepository -InstallationPolicy Trusted -Name PSGallery - -# Try to update PowerShellGet before the actual installation -Install-Module -Name PowerShellGet -Force -Update-Module -Name PowerShellGet -Force - -# Install PowerShell modules -$modules = (Get-ToolsetContent).powershellModules - -foreach($module in $modules) -{ - $moduleName = $module.name - Write-Host "Installing ${moduleName} module" - - if ($module.versions) - { - foreach ($version in $module.versions) - { - Write-Host " - $version" - Install-Module -Name $moduleName -RequiredVersion $version -Scope AllUsers -SkipPublisherCheck -Force - } - continue - } - - Install-Module -Name $moduleName -Scope AllUsers -SkipPublisherCheck -Force -} - -Invoke-PesterTests -TestFile "PowerShellModules" -TestName "PowerShellModules" +$ErrorActionPreference = "Stop" +$ProgressPreference = "SilentlyContinue" + +Import-Module "$env:HELPER_SCRIPTS/Tests.Helpers.psm1" -DisableNameChecking + +# Specifies the installation policy +Set-PSRepository -InstallationPolicy Trusted -Name PSGallery + +# Try to update PowerShellGet before the actual installation +Install-Module -Name PowerShellGet -Force +Update-Module -Name PowerShellGet -Force + +# Install PowerShell modules +$modules = (Get-ToolsetContent).powershellModules + +foreach($module in $modules) +{ + $moduleName = $module.name + Write-Host "Installing ${moduleName} module" + + if ($module.versions) + { + foreach ($version in $module.versions) + { + Write-Host " - $version" + Install-Module -Name $moduleName -RequiredVersion $version -Scope AllUsers -SkipPublisherCheck -Force + } + continue + } + + Install-Module -Name $moduleName -Scope AllUsers -SkipPublisherCheck -Force +} + +Invoke-PesterTests -TestFile "PowerShellModules" -TestName "PowerShellModules" diff --git a/images/linux/scripts/installers/Install-Toolset.ps1 b/images/ubuntu/scripts/build/Install-Toolset.ps1 similarity index 100% rename from images/linux/scripts/installers/Install-Toolset.ps1 rename to images/ubuntu/scripts/build/Install-Toolset.ps1 diff --git a/images/linux/scripts/installers/action-archive-cache.sh b/images/ubuntu/scripts/build/action-archive-cache.sh old mode 100755 new mode 100644 similarity index 100% rename from images/linux/scripts/installers/action-archive-cache.sh rename to images/ubuntu/scripts/build/action-archive-cache.sh diff --git a/images/linux/scripts/installers/aliyun-cli.sh b/images/ubuntu/scripts/build/aliyun-cli.sh similarity index 100% rename from images/linux/scripts/installers/aliyun-cli.sh rename to images/ubuntu/scripts/build/aliyun-cli.sh diff --git a/images/linux/scripts/installers/android.sh b/images/ubuntu/scripts/build/android.sh similarity index 100% rename from images/linux/scripts/installers/android.sh rename to images/ubuntu/scripts/build/android.sh diff --git a/images/linux/scripts/installers/apache.sh b/images/ubuntu/scripts/build/apache.sh similarity index 100% rename from images/linux/scripts/installers/apache.sh rename to images/ubuntu/scripts/build/apache.sh diff --git a/images/linux/scripts/installers/apt-common.sh b/images/ubuntu/scripts/build/apt-common.sh similarity index 100% rename from images/linux/scripts/installers/apt-common.sh rename to images/ubuntu/scripts/build/apt-common.sh diff --git a/images/linux/scripts/base/apt-mock-remove.sh b/images/ubuntu/scripts/build/apt-mock-remove.sh similarity index 100% rename from images/linux/scripts/base/apt-mock-remove.sh rename to images/ubuntu/scripts/build/apt-mock-remove.sh diff --git a/images/linux/scripts/base/apt-mock.sh b/images/ubuntu/scripts/build/apt-mock.sh similarity index 100% rename from images/linux/scripts/base/apt-mock.sh rename to images/ubuntu/scripts/build/apt-mock.sh diff --git a/images/linux/scripts/base/apt-ubuntu-archive.sh b/images/ubuntu/scripts/build/apt-ubuntu-archive.sh similarity index 100% rename from images/linux/scripts/base/apt-ubuntu-archive.sh rename to images/ubuntu/scripts/build/apt-ubuntu-archive.sh diff --git a/images/linux/scripts/installers/apt-vital.sh b/images/ubuntu/scripts/build/apt-vital.sh similarity index 100% rename from images/linux/scripts/installers/apt-vital.sh rename to images/ubuntu/scripts/build/apt-vital.sh diff --git a/images/linux/scripts/base/apt.sh b/images/ubuntu/scripts/build/apt.sh similarity index 100% rename from images/linux/scripts/base/apt.sh rename to images/ubuntu/scripts/build/apt.sh diff --git a/images/linux/scripts/installers/aws.sh b/images/ubuntu/scripts/build/aws.sh similarity index 100% rename from images/linux/scripts/installers/aws.sh rename to images/ubuntu/scripts/build/aws.sh diff --git a/images/linux/scripts/installers/azcopy.sh b/images/ubuntu/scripts/build/azcopy.sh similarity index 100% rename from images/linux/scripts/installers/azcopy.sh rename to images/ubuntu/scripts/build/azcopy.sh diff --git a/images/linux/scripts/installers/azure-cli.sh b/images/ubuntu/scripts/build/azure-cli.sh similarity index 100% rename from images/linux/scripts/installers/azure-cli.sh rename to images/ubuntu/scripts/build/azure-cli.sh diff --git a/images/linux/scripts/installers/azure-devops-cli.sh b/images/ubuntu/scripts/build/azure-devops-cli.sh similarity index 100% rename from images/linux/scripts/installers/azure-devops-cli.sh rename to images/ubuntu/scripts/build/azure-devops-cli.sh diff --git a/images/linux/scripts/installers/bazel.sh b/images/ubuntu/scripts/build/bazel.sh similarity index 100% rename from images/linux/scripts/installers/bazel.sh rename to images/ubuntu/scripts/build/bazel.sh diff --git a/images/linux/scripts/installers/bicep.sh b/images/ubuntu/scripts/build/bicep.sh similarity index 100% rename from images/linux/scripts/installers/bicep.sh rename to images/ubuntu/scripts/build/bicep.sh diff --git a/images/linux/scripts/installers/clang.sh b/images/ubuntu/scripts/build/clang.sh similarity index 100% rename from images/linux/scripts/installers/clang.sh rename to images/ubuntu/scripts/build/clang.sh diff --git a/images/linux/scripts/installers/cleanup.sh b/images/ubuntu/scripts/build/cleanup.sh similarity index 100% rename from images/linux/scripts/installers/cleanup.sh rename to images/ubuntu/scripts/build/cleanup.sh diff --git a/images/linux/scripts/installers/cmake.sh b/images/ubuntu/scripts/build/cmake.sh similarity index 100% rename from images/linux/scripts/installers/cmake.sh rename to images/ubuntu/scripts/build/cmake.sh diff --git a/images/linux/scripts/installers/codeql-bundle.sh b/images/ubuntu/scripts/build/codeql-bundle.sh similarity index 100% rename from images/linux/scripts/installers/codeql-bundle.sh rename to images/ubuntu/scripts/build/codeql-bundle.sh diff --git a/images/linux/scripts/installers/complete-snap-setup.sh b/images/ubuntu/scripts/build/complete-snap-setup.sh similarity index 100% rename from images/linux/scripts/installers/complete-snap-setup.sh rename to images/ubuntu/scripts/build/complete-snap-setup.sh diff --git a/images/linux/scripts/installers/configure-environment.sh b/images/ubuntu/scripts/build/configure-environment.sh similarity index 100% rename from images/linux/scripts/installers/configure-environment.sh rename to images/ubuntu/scripts/build/configure-environment.sh diff --git a/images/linux/scripts/installers/containers.sh b/images/ubuntu/scripts/build/containers.sh similarity index 100% rename from images/linux/scripts/installers/containers.sh rename to images/ubuntu/scripts/build/containers.sh diff --git a/images/linux/scripts/installers/docker-compose.sh b/images/ubuntu/scripts/build/docker-compose.sh similarity index 100% rename from images/linux/scripts/installers/docker-compose.sh rename to images/ubuntu/scripts/build/docker-compose.sh diff --git a/images/linux/scripts/installers/docker.sh b/images/ubuntu/scripts/build/docker.sh similarity index 100% rename from images/linux/scripts/installers/docker.sh rename to images/ubuntu/scripts/build/docker.sh diff --git a/images/linux/scripts/installers/dotnetcore-sdk.sh b/images/ubuntu/scripts/build/dotnetcore-sdk.sh similarity index 100% rename from images/linux/scripts/installers/dotnetcore-sdk.sh rename to images/ubuntu/scripts/build/dotnetcore-sdk.sh diff --git a/images/linux/scripts/installers/dpkg-config.sh b/images/ubuntu/scripts/build/dpkg-config.sh similarity index 100% rename from images/linux/scripts/installers/dpkg-config.sh rename to images/ubuntu/scripts/build/dpkg-config.sh diff --git a/images/linux/scripts/installers/erlang.sh b/images/ubuntu/scripts/build/erlang.sh similarity index 100% rename from images/linux/scripts/installers/erlang.sh rename to images/ubuntu/scripts/build/erlang.sh diff --git a/images/linux/scripts/installers/example.sh b/images/ubuntu/scripts/build/example.sh similarity index 100% rename from images/linux/scripts/installers/example.sh rename to images/ubuntu/scripts/build/example.sh diff --git a/images/linux/scripts/installers/firefox.sh b/images/ubuntu/scripts/build/firefox.sh similarity index 100% rename from images/linux/scripts/installers/firefox.sh rename to images/ubuntu/scripts/build/firefox.sh diff --git a/images/linux/scripts/installers/gcc.sh b/images/ubuntu/scripts/build/gcc.sh similarity index 100% rename from images/linux/scripts/installers/gcc.sh rename to images/ubuntu/scripts/build/gcc.sh diff --git a/images/linux/scripts/installers/gfortran.sh b/images/ubuntu/scripts/build/gfortran.sh similarity index 100% rename from images/linux/scripts/installers/gfortran.sh rename to images/ubuntu/scripts/build/gfortran.sh diff --git a/images/linux/scripts/installers/git-lfs.sh b/images/ubuntu/scripts/build/git-lfs.sh similarity index 100% rename from images/linux/scripts/installers/git-lfs.sh rename to images/ubuntu/scripts/build/git-lfs.sh diff --git a/images/linux/scripts/installers/git.sh b/images/ubuntu/scripts/build/git.sh similarity index 100% rename from images/linux/scripts/installers/git.sh rename to images/ubuntu/scripts/build/git.sh diff --git a/images/linux/scripts/installers/github-cli.sh b/images/ubuntu/scripts/build/github-cli.sh similarity index 100% rename from images/linux/scripts/installers/github-cli.sh rename to images/ubuntu/scripts/build/github-cli.sh diff --git a/images/linux/scripts/installers/google-chrome.sh b/images/ubuntu/scripts/build/google-chrome.sh similarity index 100% rename from images/linux/scripts/installers/google-chrome.sh rename to images/ubuntu/scripts/build/google-chrome.sh diff --git a/images/linux/scripts/installers/google-cloud-cli.sh b/images/ubuntu/scripts/build/google-cloud-cli.sh similarity index 100% rename from images/linux/scripts/installers/google-cloud-cli.sh rename to images/ubuntu/scripts/build/google-cloud-cli.sh diff --git a/images/linux/scripts/installers/haskell.sh b/images/ubuntu/scripts/build/haskell.sh similarity index 100% rename from images/linux/scripts/installers/haskell.sh rename to images/ubuntu/scripts/build/haskell.sh diff --git a/images/linux/scripts/installers/heroku.sh b/images/ubuntu/scripts/build/heroku.sh similarity index 100% rename from images/linux/scripts/installers/heroku.sh rename to images/ubuntu/scripts/build/heroku.sh diff --git a/images/linux/scripts/installers/hhvm.sh b/images/ubuntu/scripts/build/hhvm.sh similarity index 100% rename from images/linux/scripts/installers/hhvm.sh rename to images/ubuntu/scripts/build/hhvm.sh diff --git a/images/linux/scripts/installers/homebrew.sh b/images/ubuntu/scripts/build/homebrew.sh similarity index 100% rename from images/linux/scripts/installers/homebrew.sh rename to images/ubuntu/scripts/build/homebrew.sh diff --git a/images/linux/scripts/installers/java-tools.sh b/images/ubuntu/scripts/build/java-tools.sh similarity index 100% rename from images/linux/scripts/installers/java-tools.sh rename to images/ubuntu/scripts/build/java-tools.sh diff --git a/images/linux/scripts/installers/julia.sh b/images/ubuntu/scripts/build/julia.sh similarity index 100% rename from images/linux/scripts/installers/julia.sh rename to images/ubuntu/scripts/build/julia.sh diff --git a/images/linux/scripts/installers/kotlin.sh b/images/ubuntu/scripts/build/kotlin.sh similarity index 100% rename from images/linux/scripts/installers/kotlin.sh rename to images/ubuntu/scripts/build/kotlin.sh diff --git a/images/linux/scripts/installers/kubernetes-tools.sh b/images/ubuntu/scripts/build/kubernetes-tools.sh similarity index 100% rename from images/linux/scripts/installers/kubernetes-tools.sh rename to images/ubuntu/scripts/build/kubernetes-tools.sh diff --git a/images/linux/scripts/installers/leiningen.sh b/images/ubuntu/scripts/build/leiningen.sh similarity index 100% rename from images/linux/scripts/installers/leiningen.sh rename to images/ubuntu/scripts/build/leiningen.sh diff --git a/images/linux/scripts/base/limits.sh b/images/ubuntu/scripts/build/limits.sh similarity index 100% rename from images/linux/scripts/base/limits.sh rename to images/ubuntu/scripts/build/limits.sh diff --git a/images/linux/scripts/installers/microsoft-edge.sh b/images/ubuntu/scripts/build/microsoft-edge.sh similarity index 100% rename from images/linux/scripts/installers/microsoft-edge.sh rename to images/ubuntu/scripts/build/microsoft-edge.sh diff --git a/images/linux/scripts/installers/miniconda.sh b/images/ubuntu/scripts/build/miniconda.sh similarity index 100% rename from images/linux/scripts/installers/miniconda.sh rename to images/ubuntu/scripts/build/miniconda.sh diff --git a/images/linux/scripts/installers/mongodb.sh b/images/ubuntu/scripts/build/mongodb.sh similarity index 100% rename from images/linux/scripts/installers/mongodb.sh rename to images/ubuntu/scripts/build/mongodb.sh diff --git a/images/linux/scripts/installers/mono.sh b/images/ubuntu/scripts/build/mono.sh similarity index 100% rename from images/linux/scripts/installers/mono.sh rename to images/ubuntu/scripts/build/mono.sh diff --git a/images/linux/scripts/installers/mssql-cmd-tools.sh b/images/ubuntu/scripts/build/mssql-cmd-tools.sh similarity index 100% rename from images/linux/scripts/installers/mssql-cmd-tools.sh rename to images/ubuntu/scripts/build/mssql-cmd-tools.sh diff --git a/images/linux/scripts/installers/mysql.sh b/images/ubuntu/scripts/build/mysql.sh similarity index 100% rename from images/linux/scripts/installers/mysql.sh rename to images/ubuntu/scripts/build/mysql.sh diff --git a/images/linux/scripts/installers/nginx.sh b/images/ubuntu/scripts/build/nginx.sh similarity index 100% rename from images/linux/scripts/installers/nginx.sh rename to images/ubuntu/scripts/build/nginx.sh diff --git a/images/linux/scripts/installers/nodejs.sh b/images/ubuntu/scripts/build/nodejs.sh similarity index 100% rename from images/linux/scripts/installers/nodejs.sh rename to images/ubuntu/scripts/build/nodejs.sh diff --git a/images/linux/scripts/installers/nvm.sh b/images/ubuntu/scripts/build/nvm.sh similarity index 100% rename from images/linux/scripts/installers/nvm.sh rename to images/ubuntu/scripts/build/nvm.sh diff --git a/images/linux/scripts/installers/oc.sh b/images/ubuntu/scripts/build/oc.sh similarity index 100% rename from images/linux/scripts/installers/oc.sh rename to images/ubuntu/scripts/build/oc.sh diff --git a/images/linux/scripts/installers/oras-cli.sh b/images/ubuntu/scripts/build/oras-cli.sh similarity index 100% rename from images/linux/scripts/installers/oras-cli.sh rename to images/ubuntu/scripts/build/oras-cli.sh diff --git a/images/linux/scripts/installers/packer.sh b/images/ubuntu/scripts/build/packer.sh similarity index 100% rename from images/linux/scripts/installers/packer.sh rename to images/ubuntu/scripts/build/packer.sh diff --git a/images/linux/scripts/installers/phantomjs.sh b/images/ubuntu/scripts/build/phantomjs.sh similarity index 100% rename from images/linux/scripts/installers/phantomjs.sh rename to images/ubuntu/scripts/build/phantomjs.sh diff --git a/images/linux/scripts/installers/php.sh b/images/ubuntu/scripts/build/php.sh similarity index 100% rename from images/linux/scripts/installers/php.sh rename to images/ubuntu/scripts/build/php.sh diff --git a/images/linux/scripts/installers/pipx-packages.sh b/images/ubuntu/scripts/build/pipx-packages.sh similarity index 100% rename from images/linux/scripts/installers/pipx-packages.sh rename to images/ubuntu/scripts/build/pipx-packages.sh diff --git a/images/linux/scripts/installers/post-deployment.sh b/images/ubuntu/scripts/build/post-deployment.sh similarity index 100% rename from images/linux/scripts/installers/post-deployment.sh rename to images/ubuntu/scripts/build/post-deployment.sh diff --git a/images/linux/scripts/installers/postgresql.sh b/images/ubuntu/scripts/build/postgresql.sh similarity index 100% rename from images/linux/scripts/installers/postgresql.sh rename to images/ubuntu/scripts/build/postgresql.sh diff --git a/images/linux/scripts/installers/powershellcore.sh b/images/ubuntu/scripts/build/powershellcore.sh similarity index 100% rename from images/linux/scripts/installers/powershellcore.sh rename to images/ubuntu/scripts/build/powershellcore.sh diff --git a/images/linux/scripts/installers/preimagedata.sh b/images/ubuntu/scripts/build/preimagedata.sh similarity index 100% rename from images/linux/scripts/installers/preimagedata.sh rename to images/ubuntu/scripts/build/preimagedata.sh diff --git a/images/linux/scripts/installers/pulumi.sh b/images/ubuntu/scripts/build/pulumi.sh similarity index 100% rename from images/linux/scripts/installers/pulumi.sh rename to images/ubuntu/scripts/build/pulumi.sh diff --git a/images/linux/scripts/installers/pypy.sh b/images/ubuntu/scripts/build/pypy.sh similarity index 100% rename from images/linux/scripts/installers/pypy.sh rename to images/ubuntu/scripts/build/pypy.sh diff --git a/images/linux/scripts/installers/python.sh b/images/ubuntu/scripts/build/python.sh similarity index 100% rename from images/linux/scripts/installers/python.sh rename to images/ubuntu/scripts/build/python.sh diff --git a/images/linux/scripts/installers/r.sh b/images/ubuntu/scripts/build/r.sh similarity index 100% rename from images/linux/scripts/installers/r.sh rename to images/ubuntu/scripts/build/r.sh diff --git a/images/linux/scripts/base/reboot.sh b/images/ubuntu/scripts/build/reboot.sh similarity index 100% rename from images/linux/scripts/base/reboot.sh rename to images/ubuntu/scripts/build/reboot.sh diff --git a/images/linux/scripts/base/repos.sh b/images/ubuntu/scripts/build/repos.sh similarity index 100% rename from images/linux/scripts/base/repos.sh rename to images/ubuntu/scripts/build/repos.sh diff --git a/images/linux/scripts/installers/ruby.sh b/images/ubuntu/scripts/build/ruby.sh similarity index 100% rename from images/linux/scripts/installers/ruby.sh rename to images/ubuntu/scripts/build/ruby.sh diff --git a/images/linux/scripts/installers/runner-package.sh b/images/ubuntu/scripts/build/runner-package.sh similarity index 100% rename from images/linux/scripts/installers/runner-package.sh rename to images/ubuntu/scripts/build/runner-package.sh diff --git a/images/linux/scripts/installers/rust.sh b/images/ubuntu/scripts/build/rust.sh similarity index 100% rename from images/linux/scripts/installers/rust.sh rename to images/ubuntu/scripts/build/rust.sh diff --git a/images/linux/scripts/installers/sbt.sh b/images/ubuntu/scripts/build/sbt.sh similarity index 100% rename from images/linux/scripts/installers/sbt.sh rename to images/ubuntu/scripts/build/sbt.sh diff --git a/images/linux/scripts/installers/selenium.sh b/images/ubuntu/scripts/build/selenium.sh similarity index 100% rename from images/linux/scripts/installers/selenium.sh rename to images/ubuntu/scripts/build/selenium.sh diff --git a/images/linux/scripts/base/snap.sh b/images/ubuntu/scripts/build/snap.sh similarity index 100% rename from images/linux/scripts/base/snap.sh rename to images/ubuntu/scripts/build/snap.sh diff --git a/images/linux/scripts/installers/sphinx.sh b/images/ubuntu/scripts/build/sphinx.sh similarity index 100% rename from images/linux/scripts/installers/sphinx.sh rename to images/ubuntu/scripts/build/sphinx.sh diff --git a/images/linux/scripts/installers/sqlpackage.sh b/images/ubuntu/scripts/build/sqlpackage.sh similarity index 100% rename from images/linux/scripts/installers/sqlpackage.sh rename to images/ubuntu/scripts/build/sqlpackage.sh diff --git a/images/linux/scripts/installers/swift.sh b/images/ubuntu/scripts/build/swift.sh similarity index 100% rename from images/linux/scripts/installers/swift.sh rename to images/ubuntu/scripts/build/swift.sh diff --git a/images/linux/scripts/installers/terraform.sh b/images/ubuntu/scripts/build/terraform.sh similarity index 100% rename from images/linux/scripts/installers/terraform.sh rename to images/ubuntu/scripts/build/terraform.sh diff --git a/images/linux/scripts/installers/validate-disk-space.sh b/images/ubuntu/scripts/build/validate-disk-space.sh similarity index 100% rename from images/linux/scripts/installers/validate-disk-space.sh rename to images/ubuntu/scripts/build/validate-disk-space.sh diff --git a/images/linux/scripts/installers/vcpkg.sh b/images/ubuntu/scripts/build/vcpkg.sh similarity index 100% rename from images/linux/scripts/installers/vcpkg.sh rename to images/ubuntu/scripts/build/vcpkg.sh diff --git a/images/linux/scripts/installers/yq.sh b/images/ubuntu/scripts/build/yq.sh similarity index 100% rename from images/linux/scripts/installers/yq.sh rename to images/ubuntu/scripts/build/yq.sh diff --git a/images/linux/scripts/installers/zstd.sh b/images/ubuntu/scripts/build/zstd.sh similarity index 100% rename from images/linux/scripts/installers/zstd.sh rename to images/ubuntu/scripts/build/zstd.sh diff --git a/images/linux/scripts/SoftwareReport/SoftwareReport.Android.psm1 b/images/ubuntu/scripts/docs-gen/SoftwareReport.Android.psm1 similarity index 100% rename from images/linux/scripts/SoftwareReport/SoftwareReport.Android.psm1 rename to images/ubuntu/scripts/docs-gen/SoftwareReport.Android.psm1 diff --git a/images/linux/scripts/SoftwareReport/SoftwareReport.Browsers.psm1 b/images/ubuntu/scripts/docs-gen/SoftwareReport.Browsers.psm1 similarity index 100% rename from images/linux/scripts/SoftwareReport/SoftwareReport.Browsers.psm1 rename to images/ubuntu/scripts/docs-gen/SoftwareReport.Browsers.psm1 diff --git a/images/linux/scripts/SoftwareReport/SoftwareReport.CachedTools.psm1 b/images/ubuntu/scripts/docs-gen/SoftwareReport.CachedTools.psm1 old mode 100755 new mode 100644 similarity index 100% rename from images/linux/scripts/SoftwareReport/SoftwareReport.CachedTools.psm1 rename to images/ubuntu/scripts/docs-gen/SoftwareReport.CachedTools.psm1 diff --git a/images/linux/scripts/SoftwareReport/SoftwareReport.Common.psm1 b/images/ubuntu/scripts/docs-gen/SoftwareReport.Common.psm1 similarity index 100% rename from images/linux/scripts/SoftwareReport/SoftwareReport.Common.psm1 rename to images/ubuntu/scripts/docs-gen/SoftwareReport.Common.psm1 diff --git a/images/linux/scripts/SoftwareReport/SoftwareReport.Databases.psm1 b/images/ubuntu/scripts/docs-gen/SoftwareReport.Databases.psm1 similarity index 100% rename from images/linux/scripts/SoftwareReport/SoftwareReport.Databases.psm1 rename to images/ubuntu/scripts/docs-gen/SoftwareReport.Databases.psm1 diff --git a/images/linux/scripts/SoftwareReport/SoftwareReport.Generator.ps1 b/images/ubuntu/scripts/docs-gen/SoftwareReport.Generator.ps1 similarity index 100% rename from images/linux/scripts/SoftwareReport/SoftwareReport.Generator.ps1 rename to images/ubuntu/scripts/docs-gen/SoftwareReport.Generator.ps1 diff --git a/images/linux/scripts/SoftwareReport/SoftwareReport.Java.psm1 b/images/ubuntu/scripts/docs-gen/SoftwareReport.Java.psm1 similarity index 100% rename from images/linux/scripts/SoftwareReport/SoftwareReport.Java.psm1 rename to images/ubuntu/scripts/docs-gen/SoftwareReport.Java.psm1 diff --git a/images/linux/scripts/SoftwareReport/SoftwareReport.Rust.psm1 b/images/ubuntu/scripts/docs-gen/SoftwareReport.Rust.psm1 similarity index 100% rename from images/linux/scripts/SoftwareReport/SoftwareReport.Rust.psm1 rename to images/ubuntu/scripts/docs-gen/SoftwareReport.Rust.psm1 diff --git a/images/linux/scripts/SoftwareReport/SoftwareReport.Tools.psm1 b/images/ubuntu/scripts/docs-gen/SoftwareReport.Tools.psm1 similarity index 100% rename from images/linux/scripts/SoftwareReport/SoftwareReport.Tools.psm1 rename to images/ubuntu/scripts/docs-gen/SoftwareReport.Tools.psm1 diff --git a/images/linux/scripts/SoftwareReport/SoftwareReport.WebServers.psm1 b/images/ubuntu/scripts/docs-gen/SoftwareReport.WebServers.psm1 similarity index 100% rename from images/linux/scripts/SoftwareReport/SoftwareReport.WebServers.psm1 rename to images/ubuntu/scripts/docs-gen/SoftwareReport.WebServers.psm1 diff --git a/images/linux/scripts/helpers/Common.Helpers.psm1 b/images/ubuntu/scripts/helpers/Common.Helpers.psm1 similarity index 100% rename from images/linux/scripts/helpers/Common.Helpers.psm1 rename to images/ubuntu/scripts/helpers/Common.Helpers.psm1 diff --git a/images/linux/scripts/helpers/SoftwareReport.Helpers.psm1 b/images/ubuntu/scripts/helpers/SoftwareReport.Helpers.psm1 similarity index 100% rename from images/linux/scripts/helpers/SoftwareReport.Helpers.psm1 rename to images/ubuntu/scripts/helpers/SoftwareReport.Helpers.psm1 diff --git a/images/linux/scripts/helpers/Tests.Helpers.psm1 b/images/ubuntu/scripts/helpers/Tests.Helpers.psm1 similarity index 100% rename from images/linux/scripts/helpers/Tests.Helpers.psm1 rename to images/ubuntu/scripts/helpers/Tests.Helpers.psm1 diff --git a/images/linux/scripts/helpers/etc-environment.sh b/images/ubuntu/scripts/helpers/etc-environment.sh similarity index 100% rename from images/linux/scripts/helpers/etc-environment.sh rename to images/ubuntu/scripts/helpers/etc-environment.sh diff --git a/images/linux/scripts/helpers/install.sh b/images/ubuntu/scripts/helpers/install.sh similarity index 100% rename from images/linux/scripts/helpers/install.sh rename to images/ubuntu/scripts/helpers/install.sh diff --git a/images/linux/scripts/helpers/invoke-tests.sh b/images/ubuntu/scripts/helpers/invoke-tests.sh similarity index 100% rename from images/linux/scripts/helpers/invoke-tests.sh rename to images/ubuntu/scripts/helpers/invoke-tests.sh diff --git a/images/linux/scripts/helpers/os.sh b/images/ubuntu/scripts/helpers/os.sh similarity index 100% rename from images/linux/scripts/helpers/os.sh rename to images/ubuntu/scripts/helpers/os.sh diff --git a/images/linux/scripts/tests/ActionArchiveCache.Tests.ps1 b/images/ubuntu/scripts/tests/ActionArchiveCache.Tests.ps1 similarity index 100% rename from images/linux/scripts/tests/ActionArchiveCache.Tests.ps1 rename to images/ubuntu/scripts/tests/ActionArchiveCache.Tests.ps1 diff --git a/images/linux/scripts/tests/Android.Tests.ps1 b/images/ubuntu/scripts/tests/Android.Tests.ps1 similarity index 100% rename from images/linux/scripts/tests/Android.Tests.ps1 rename to images/ubuntu/scripts/tests/Android.Tests.ps1 diff --git a/images/linux/scripts/tests/Apt.Tests.ps1 b/images/ubuntu/scripts/tests/Apt.Tests.ps1 similarity index 100% rename from images/linux/scripts/tests/Apt.Tests.ps1 rename to images/ubuntu/scripts/tests/Apt.Tests.ps1 diff --git a/images/linux/scripts/tests/Browsers.Tests.ps1 b/images/ubuntu/scripts/tests/Browsers.Tests.ps1 similarity index 100% rename from images/linux/scripts/tests/Browsers.Tests.ps1 rename to images/ubuntu/scripts/tests/Browsers.Tests.ps1 diff --git a/images/linux/scripts/tests/CLI.Tools.Tests.ps1 b/images/ubuntu/scripts/tests/CLI.Tools.Tests.ps1 similarity index 100% rename from images/linux/scripts/tests/CLI.Tools.Tests.ps1 rename to images/ubuntu/scripts/tests/CLI.Tools.Tests.ps1 diff --git a/images/linux/scripts/tests/Common.Tests.ps1 b/images/ubuntu/scripts/tests/Common.Tests.ps1 similarity index 100% rename from images/linux/scripts/tests/Common.Tests.ps1 rename to images/ubuntu/scripts/tests/Common.Tests.ps1 diff --git a/images/linux/scripts/tests/Databases.Tests.ps1 b/images/ubuntu/scripts/tests/Databases.Tests.ps1 similarity index 100% rename from images/linux/scripts/tests/Databases.Tests.ps1 rename to images/ubuntu/scripts/tests/Databases.Tests.ps1 diff --git a/images/linux/scripts/tests/DotnetSDK.Tests.ps1 b/images/ubuntu/scripts/tests/DotnetSDK.Tests.ps1 similarity index 100% rename from images/linux/scripts/tests/DotnetSDK.Tests.ps1 rename to images/ubuntu/scripts/tests/DotnetSDK.Tests.ps1 diff --git a/images/linux/scripts/tests/Haskell.Tests.ps1 b/images/ubuntu/scripts/tests/Haskell.Tests.ps1 similarity index 100% rename from images/linux/scripts/tests/Haskell.Tests.ps1 rename to images/ubuntu/scripts/tests/Haskell.Tests.ps1 diff --git a/images/linux/scripts/tests/Java.Tests.ps1 b/images/ubuntu/scripts/tests/Java.Tests.ps1 similarity index 100% rename from images/linux/scripts/tests/Java.Tests.ps1 rename to images/ubuntu/scripts/tests/Java.Tests.ps1 diff --git a/images/linux/scripts/tests/Node.Tests.ps1 b/images/ubuntu/scripts/tests/Node.Tests.ps1 similarity index 100% rename from images/linux/scripts/tests/Node.Tests.ps1 rename to images/ubuntu/scripts/tests/Node.Tests.ps1 diff --git a/images/linux/scripts/tests/PowerShellModules.Tests.ps1 b/images/ubuntu/scripts/tests/PowerShellModules.Tests.ps1 similarity index 100% rename from images/linux/scripts/tests/PowerShellModules.Tests.ps1 rename to images/ubuntu/scripts/tests/PowerShellModules.Tests.ps1 diff --git a/images/linux/scripts/tests/RunAll-Tests.ps1 b/images/ubuntu/scripts/tests/RunAll-Tests.ps1 similarity index 100% rename from images/linux/scripts/tests/RunAll-Tests.ps1 rename to images/ubuntu/scripts/tests/RunAll-Tests.ps1 diff --git a/images/linux/scripts/tests/RunnerCache.Tests.ps1 b/images/ubuntu/scripts/tests/RunnerCache.Tests.ps1 similarity index 100% rename from images/linux/scripts/tests/RunnerCache.Tests.ps1 rename to images/ubuntu/scripts/tests/RunnerCache.Tests.ps1 diff --git a/images/linux/scripts/tests/Tools.Tests.ps1 b/images/ubuntu/scripts/tests/Tools.Tests.ps1 similarity index 100% rename from images/linux/scripts/tests/Tools.Tests.ps1 rename to images/ubuntu/scripts/tests/Tools.Tests.ps1 diff --git a/images/linux/scripts/tests/Toolset.Tests.ps1 b/images/ubuntu/scripts/tests/Toolset.Tests.ps1 similarity index 100% rename from images/linux/scripts/tests/Toolset.Tests.ps1 rename to images/ubuntu/scripts/tests/Toolset.Tests.ps1 diff --git a/images/linux/scripts/tests/WebServers.Tests.ps1 b/images/ubuntu/scripts/tests/WebServers.Tests.ps1 similarity index 100% rename from images/linux/scripts/tests/WebServers.Tests.ps1 rename to images/ubuntu/scripts/tests/WebServers.Tests.ps1 diff --git a/images/linux/ubuntu2004.json b/images/ubuntu/templates/ubuntu2004.json similarity index 100% rename from images/linux/ubuntu2004.json rename to images/ubuntu/templates/ubuntu2004.json diff --git a/images/linux/ubuntu2204.pkr.hcl b/images/ubuntu/templates/ubuntu2204.pkr.hcl similarity index 100% rename from images/linux/ubuntu2204.pkr.hcl rename to images/ubuntu/templates/ubuntu2204.pkr.hcl diff --git a/images/linux/ubuntuminimal.pkr.hcl b/images/ubuntu/templates/ubuntuminimal.pkr.hcl similarity index 100% rename from images/linux/ubuntuminimal.pkr.hcl rename to images/ubuntu/templates/ubuntuminimal.pkr.hcl diff --git a/images/linux/toolsets/toolset-2004.json b/images/ubuntu/toolsets/toolset-2004.json similarity index 100% rename from images/linux/toolsets/toolset-2004.json rename to images/ubuntu/toolsets/toolset-2004.json diff --git a/images/linux/toolsets/toolset-2204.json b/images/ubuntu/toolsets/toolset-2204.json similarity index 100% rename from images/linux/toolsets/toolset-2204.json rename to images/ubuntu/toolsets/toolset-2204.json From 315fba8edfd55063c7b2b26ffee778024e5a61af Mon Sep 17 00:00:00 2001 From: Shamil Mubarakshin Date: Thu, 19 Oct 2023 17:27:56 +0200 Subject: [PATCH 2/8] Adjust packer templates and debug --- .../assets/{post-gen => }/ubuntu2004.conf | 0 .../assets/{post-gen => }/ubuntu2204.conf | 0 .../{ubuntu2004.json => ubuntu-20.04.json} | 233 +++++++++--------- ...buntu2204.pkr.hcl => ubuntu-22.04.pkr.hcl} | 212 ++++++++-------- images/ubuntu/templates/ubuntuminimal.pkr.hcl | 65 ++--- 5 files changed, 259 insertions(+), 251 deletions(-) rename images/ubuntu/assets/{post-gen => }/ubuntu2004.conf (100%) rename images/ubuntu/assets/{post-gen => }/ubuntu2204.conf (100%) rename images/ubuntu/templates/{ubuntu2004.json => ubuntu-20.04.json} (61%) rename images/ubuntu/templates/{ubuntu2204.pkr.hcl => ubuntu-22.04.pkr.hcl} (58%) diff --git a/images/ubuntu/assets/post-gen/ubuntu2004.conf b/images/ubuntu/assets/ubuntu2004.conf similarity index 100% rename from images/ubuntu/assets/post-gen/ubuntu2004.conf rename to images/ubuntu/assets/ubuntu2004.conf diff --git a/images/ubuntu/assets/post-gen/ubuntu2204.conf b/images/ubuntu/assets/ubuntu2204.conf similarity index 100% rename from images/ubuntu/assets/post-gen/ubuntu2204.conf rename to images/ubuntu/assets/ubuntu2204.conf diff --git a/images/ubuntu/templates/ubuntu2004.json b/images/ubuntu/templates/ubuntu-20.04.json similarity index 61% rename from images/ubuntu/templates/ubuntu2004.json rename to images/ubuntu/templates/ubuntu-20.04.json index 2e524036fda5..b7175fd2c44a 100644 --- a/images/ubuntu/templates/ubuntu2004.json +++ b/images/ubuntu/templates/ubuntu-20.04.json @@ -66,13 +66,15 @@ }, { "type": "shell", - "script": "{{template_dir}}/scripts/base/apt-mock.sh", + "script": "{{template_dir}}/../scripts/build/apt-mock.sh", "execute_command": "sudo sh -c '{{ .Vars }} {{ .Path }}'" }, { "type": "shell", "scripts": [ - "{{template_dir}}/scripts/base/repos.sh" + "{{template_dir}}/../scripts/build/repos.sh", + "{{template_dir}}/../scripts/build/apt-ubuntu-archive.sh", + "{{template_dir}}/../scripts/build/apt.sh" ], "environment_vars": [ "DEBIAN_FRONTEND=noninteractive" @@ -81,64 +83,62 @@ }, { "type": "shell", - "script": "{{template_dir}}/scripts/base/apt-ubuntu-archive.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", + "script": "{{template_dir}}/../scripts/build/limits.sh", "execute_command": "sudo sh -c '{{ .Vars }} {{ .Path }}'" }, { "type": "file", - "source": "{{template_dir}}/scripts/helpers", + "source": "{{template_dir}}/../scripts/helpers", "destination": "{{user `helper_script_folder`}}" }, { "type": "file", - "source": "{{template_dir}}/scripts/installers", + "source": "{{template_dir}}/../scripts/build", "destination": "{{user `installer_script_folder`}}" }, { "type": "file", - "source": "{{ template_dir }}/post-generation", + "sources": [ + "{{template_dir}}/../scripts/tests", + "{{template_dir}}/../scripts/docs-gen", + "{{template_dir}}/../assets/post-gen" + ], "destination": "{{user `image_folder`}}" }, { "type": "file", - "source": "{{template_dir}}/scripts/tests", - "destination": "{{user `image_folder`}}" + "source": "{{template_dir}}/../../../helpers/software-report-base", + "destination": "{{user `image_folder`}}/docs-gen/" }, { "type": "file", - "source": "{{ template_dir }}/scripts/SoftwareReport", - "destination": "{{user `image_folder`}}" + "source": "{{template_dir}}/../toolsets/toolset-2004.json", + "destination": "{{user `installer_script_folder`}}/toolset.json" }, { - "type": "file", - "source": "{{ template_dir }}/../../helpers/software-report-base", - "destination": "{{user `image_folder`}}/SoftwareReport/" + "type": "shell", + "inline": [ + "echo '/imagegeneration' && ls -la /imagegeneration", + "echo '/imagegeneration/installers' && ls -la /imagegeneration/installers", + "echo '/imagegeneration/helpers' && ls -la /imagegeneration/helpers", + "echo '/imagegeneration/docs-gen' && ls -la /imagegeneration/docs-gen", + "echo '/imagegeneration/post-gen' && ls -la /imagegeneration/post-gen", + "echo '/imagegeneration/tests' && ls -la /imagegeneration/tests" + ], + "execute_command": "sudo sh -c '{{ .Vars }} {{ .Path }}'" }, { - "type": "file", - "source": "{{template_dir}}/toolsets/toolset-2004.json", - "destination": "{{user `installer_script_folder`}}/toolset.json" + "type": "shell", + "inline": [ + "mv {{user `image_folder`}}/docs-gen {{user `image_folder`}}/SoftwareReport", + "mv {{user `image_folder`}}/post-gen {{user `image_folder`}}/post-generation" + ], + "execute_command": "sudo sh -c '{{ .Vars }} {{ .Path }}'" }, { "type": "shell", "scripts": [ - "{{template_dir}}/scripts/installers/preimagedata.sh" + "{{template_dir}}/../scripts/build/preimagedata.sh" ], "environment_vars": [ "IMAGE_VERSION={{user `image_version`}}", @@ -149,7 +149,7 @@ { "type": "shell", "scripts": [ - "{{template_dir}}/scripts/installers/configure-environment.sh" + "{{template_dir}}/../scripts/build/configure-environment.sh" ], "environment_vars": [ "IMAGE_VERSION={{user `image_version`}}", @@ -161,7 +161,7 @@ { "type": "shell", "scripts": [ - "{{template_dir}}/scripts/installers/apt-vital.sh" + "{{template_dir}}/../scripts/build/apt-vital.sh" ], "environment_vars": [ "HELPER_SCRIPTS={{user `helper_script_folder`}}", @@ -173,8 +173,8 @@ { "type": "shell", "scripts": [ - "{{template_dir}}/scripts/installers/complete-snap-setup.sh", - "{{template_dir}}/scripts/installers/powershellcore.sh" + "{{template_dir}}/../scripts/build/complete-snap-setup.sh", + "{{template_dir}}/../scripts/build/powershellcore.sh" ], "environment_vars": [ "HELPER_SCRIPTS={{user `helper_script_folder`}}" @@ -184,8 +184,8 @@ { "type": "shell", "scripts": [ - "{{template_dir}}/scripts/installers/Install-PowerShellModules.ps1", - "{{template_dir}}/scripts/installers/Install-AzureModules.ps1" + "{{template_dir}}/../scripts/build/Install-PowerShellModules.ps1", + "{{template_dir}}/../scripts/build/Install-AzureModules.ps1" ], "environment_vars": [ "HELPER_SCRIPTS={{user `helper_script_folder`}}", @@ -196,70 +196,71 @@ { "type": "shell", "scripts": [ - "{{template_dir}}/scripts/installers/action-archive-cache.sh", - "{{template_dir}}/scripts/installers/runner-package.sh", - "{{template_dir}}/scripts/installers/apt-common.sh", - "{{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/bicep.sh", - "{{template_dir}}/scripts/installers/aliyun-cli.sh", - "{{template_dir}}/scripts/installers/apache.sh", - "{{template_dir}}/scripts/installers/aws.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/git-lfs.sh", - "{{template_dir}}/scripts/installers/github-cli.sh", - "{{template_dir}}/scripts/installers/google-chrome.sh", - "{{template_dir}}/scripts/installers/google-cloud-cli.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/zstd.sh" ], + "{{template_dir}}/../scripts/build/action-archive-cache.sh", + "{{template_dir}}/../scripts/build/runner-package.sh", + "{{template_dir}}/../scripts/build/apt-common.sh", + "{{template_dir}}/../scripts/build/azcopy.sh", + "{{template_dir}}/../scripts/build/azure-cli.sh", + "{{template_dir}}/../scripts/build/azure-devops-cli.sh", + "{{template_dir}}/../scripts/build/bicep.sh", + "{{template_dir}}/../scripts/build/aliyun-cli.sh", + "{{template_dir}}/../scripts/build/apache.sh", + "{{template_dir}}/../scripts/build/aws.sh", + "{{template_dir}}/../scripts/build/clang.sh", + "{{template_dir}}/../scripts/build/swift.sh", + "{{template_dir}}/../scripts/build/cmake.sh", + "{{template_dir}}/../scripts/build/codeql-bundle.sh", + "{{template_dir}}/../scripts/build/containers.sh", + "{{template_dir}}/../scripts/build/dotnetcore-sdk.sh", + "{{template_dir}}/../scripts/build/erlang.sh", + "{{template_dir}}/../scripts/build/firefox.sh", + "{{template_dir}}/../scripts/build/microsoft-edge.sh", + "{{template_dir}}/../scripts/build/gcc.sh", + "{{template_dir}}/../scripts/build/gfortran.sh", + "{{template_dir}}/../scripts/build/git.sh", + "{{template_dir}}/../scripts/build/git-lfs.sh", + "{{template_dir}}/../scripts/build/github-cli.sh", + "{{template_dir}}/../scripts/build/google-chrome.sh", + "{{template_dir}}/../scripts/build/google-cloud-cli.sh", + "{{template_dir}}/../scripts/build/haskell.sh", + "{{template_dir}}/../scripts/build/heroku.sh", + "{{template_dir}}/../scripts/build/hhvm.sh", + "{{template_dir}}/../scripts/build/java-tools.sh", + "{{template_dir}}/../scripts/build/kubernetes-tools.sh", + "{{template_dir}}/../scripts/build/oc.sh", + "{{template_dir}}/../scripts/build/leiningen.sh", + "{{template_dir}}/../scripts/build/miniconda.sh", + "{{template_dir}}/../scripts/build/mono.sh", + "{{template_dir}}/../scripts/build/kotlin.sh", + "{{template_dir}}/../scripts/build/mysql.sh", + "{{template_dir}}/../scripts/build/mssql-cmd-tools.sh", + "{{template_dir}}/../scripts/build/sqlpackage.sh", + "{{template_dir}}/../scripts/build/nginx.sh", + "{{template_dir}}/../scripts/build/nvm.sh", + "{{template_dir}}/../scripts/build/nodejs.sh", + "{{template_dir}}/../scripts/build/bazel.sh", + "{{template_dir}}/../scripts/build/oras-cli.sh", + "{{template_dir}}/../scripts/build/phantomjs.sh", + "{{template_dir}}/../scripts/build/php.sh", + "{{template_dir}}/../scripts/build/postgresql.sh", + "{{template_dir}}/../scripts/build/pulumi.sh", + "{{template_dir}}/../scripts/build/ruby.sh", + "{{template_dir}}/../scripts/build/r.sh", + "{{template_dir}}/../scripts/build/rust.sh", + "{{template_dir}}/../scripts/build/julia.sh", + "{{template_dir}}/../scripts/build/sbt.sh", + "{{template_dir}}/../scripts/build/selenium.sh", + "{{template_dir}}/../scripts/build/terraform.sh", + "{{template_dir}}/../scripts/build/packer.sh", + "{{template_dir}}/../scripts/build/vcpkg.sh", + "{{template_dir}}/../scripts/build/dpkg-config.sh", + "{{template_dir}}/../scripts/build/mongodb.sh", + "{{template_dir}}/../scripts/build/yq.sh", + "{{template_dir}}/../scripts/build/android.sh", + "{{template_dir}}/../scripts/build/pypy.sh", + "{{template_dir}}/../scripts/build/python.sh", + "{{template_dir}}/../scripts/build/zstd.sh" + ], "environment_vars": [ "HELPER_SCRIPTS={{user `helper_script_folder`}}", "INSTALLER_SCRIPT_FOLDER={{user `installer_script_folder`}}", @@ -270,8 +271,8 @@ { "type": "shell", "scripts": [ - "{{template_dir}}/scripts/installers/docker-compose.sh", - "{{template_dir}}/scripts/installers/docker.sh" + "{{template_dir}}/../scripts/build/docker-compose.sh", + "{{template_dir}}/../scripts/build/docker.sh" ], "environment_vars": [ "HELPER_SCRIPTS={{user `helper_script_folder`}}", @@ -284,8 +285,8 @@ { "type": "shell", "scripts": [ - "{{template_dir}}/scripts/installers/Install-Toolset.ps1", - "{{template_dir}}/scripts/installers/Configure-Toolset.ps1" + "{{template_dir}}/../scripts/build/Install-Toolset.ps1", + "{{template_dir}}/../scripts/build/Configure-Toolset.ps1" ], "environment_vars": [ "HELPER_SCRIPTS={{user `helper_script_folder`}}", @@ -296,7 +297,7 @@ { "type": "shell", "scripts": [ - "{{template_dir}}/scripts/installers/pipx-packages.sh" + "{{template_dir}}/../scripts/build/pipx-packages.sh" ], "environment_vars": [ "HELPER_SCRIPTS={{user `helper_script_folder`}}", @@ -307,7 +308,7 @@ { "type": "shell", "scripts": [ - "{{template_dir}}/scripts/installers/homebrew.sh" + "{{template_dir}}/../scripts/build/homebrew.sh" ], "environment_vars": [ "HELPER_SCRIPTS={{user `helper_script_folder`}}", @@ -318,14 +319,14 @@ }, { "type": "shell", - "script": "{{template_dir}}/scripts/base/snap.sh", + "script": "{{template_dir}}/../scripts/build/snap.sh", "execute_command": "sudo sh -c '{{ .Vars }} {{ .Path }}'" }, { "type": "shell", "expect_disconnect": true, "scripts": [ - "{{template_dir}}/scripts/base/reboot.sh" + "{{template_dir}}/../scripts/build/reboot.sh" ], "execute_command": "/bin/sh -c '{{ .Vars }} {{ .Path }}'" }, @@ -334,13 +335,13 @@ "pause_before": "60s", "start_retry_timeout": "10m", "scripts": [ - "{{template_dir}}/scripts/installers/cleanup.sh" + "{{template_dir}}/../scripts/build/cleanup.sh" ], "execute_command": "sudo sh -c '{{ .Vars }} {{ .Path }}'" }, { "type": "shell", - "script": "{{template_dir}}/scripts/base/apt-mock-remove.sh", + "script": "{{template_dir}}/../scripts/build/apt-mock-remove.sh", "execute_command": "sudo sh -c '{{ .Vars }} {{ .Path }}'" }, { @@ -373,7 +374,7 @@ { "type": "shell", "scripts":[ - "{{template_dir}}/scripts/installers/post-deployment.sh" + "{{template_dir}}/../scripts/build/post-deployment.sh" ], "environment_vars":[ "HELPER_SCRIPT_FOLDER={{user `helper_script_folder`}}", @@ -385,7 +386,7 @@ { "type": "shell", "scripts":[ - "{{template_dir}}/scripts/installers/validate-disk-space.sh" + "{{template_dir}}/../scripts/build/validate-disk-space.sh" ], "environment_vars": [ "RUN_VALIDATION={{user `run_validation_diskspace`}}" @@ -393,7 +394,7 @@ }, { "type": "file", - "source": "{{template_dir}}/config/ubuntu2004.conf", + "source": "{{template_dir}}/../assets/ubuntu2004.conf", "destination": "/tmp/" }, { diff --git a/images/ubuntu/templates/ubuntu2204.pkr.hcl b/images/ubuntu/templates/ubuntu-22.04.pkr.hcl similarity index 58% rename from images/ubuntu/templates/ubuntu2204.pkr.hcl rename to images/ubuntu/templates/ubuntu-22.04.pkr.hcl index 650711a87ef0..d61dbeaff79d 100644 --- a/images/ubuntu/templates/ubuntu2204.pkr.hcl +++ b/images/ubuntu/templates/ubuntu-22.04.pkr.hcl @@ -185,25 +185,17 @@ build { provisioner "shell" { execute_command = "sudo sh -c '{{ .Vars }} {{ .Path }}'" - script = "${path.root}/scripts/base/apt-mock.sh" + script = "${path.root}/../scripts/base/apt-mock.sh" } provisioner "shell" { environment_vars = ["DEBIAN_FRONTEND=noninteractive"] execute_command = "sudo sh -c '{{ .Vars }} {{ .Path }}'" - scripts = ["${path.root}/scripts/base/repos.sh"] - } - - provisioner "shell" { - environment_vars = ["DEBIAN_FRONTEND=noninteractive"] - execute_command = "sudo sh -c '{{ .Vars }} {{ .Path }}'" - scripts = ["${path.root}/scripts/base/apt-ubuntu-archive.sh"] - } - - provisioner "shell" { - environment_vars = ["DEBIAN_FRONTEND=noninteractive"] - execute_command = "sudo sh -c '{{ .Vars }} {{ .Path }}'" - script = "${path.root}/scripts/base/apt.sh" + scripts = [ + "${path.root}/../scripts/base/repos.sh", + "${path.root}/../scripts/base/apt-ubuntu-archive.sh", + "${path.root}/../scripts/base/apt.sh" + ] } provisioner "shell" { @@ -213,181 +205,195 @@ build { provisioner "file" { destination = "${var.helper_script_folder}" - source = "${path.root}/scripts/helpers" + sources = "${path.root}/../scripts/helpers" } provisioner "file" { destination = "${var.installer_script_folder}" - source = "${path.root}/scripts/installers" + source = "${path.root}/../scripts/build" } provisioner "file" { destination = "${var.image_folder}" - source = "${path.root}/post-generation" + sources = [ + "${path.root}/../post-gen", + "${path.root}/../scripts/tests", + "${path.root}/../scripts/docs-gen" + ] } provisioner "file" { - destination = "${var.image_folder}" - source = "${path.root}/scripts/tests" + destination = "${var.image_folder}/docs-gen/" + source = "${path.root}/../../../helpers/software-report-base" } provisioner "file" { - destination = "${var.image_folder}" - source = "${path.root}/scripts/SoftwareReport" + destination = "${var.installer_script_folder}/toolset.json" + source = "${path.root}/../toolsets/toolset-2204.json" } - provisioner "file" { - destination = "${var.image_folder}/SoftwareReport/" - source = "${path.root}/../../helpers/software-report-base" + provisioner "shell" { + execute_command = "sudo sh -c '{{ .Vars }} {{ .Path }}'" + inline = [ + "echo '/imagegeneration' && ls -la /imagegeneration", + "echo '/imagegeneration/installers' && ls -la /imagegeneration/installers", + "echo '/imagegeneration/helpers' && ls -la /imagegeneration/helpers", + "echo '/imagegeneration/docs-gen' && ls -la /imagegeneration/docs-gen", + "echo '/imagegeneration/post-gen' && ls -la /imagegeneration/post-gen", + "echo '/imagegeneration/tests' && ls -la /imagegeneration/tests" + ] } - provisioner "file" { - destination = "${var.installer_script_folder}/toolset.json" - source = "${path.root}/toolsets/toolset-2204.json" + provisioner "shell" { + execute_command = "sudo sh -c '{{ .Vars }} {{ .Path }}'" + inline = [ + "mv ${local.image_folder}/docs-gen ${local.image_folder}/SoftwareReport", + "mv ${local.image_folder}/post-gen ${local.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/installers/preimagedata.sh"] + scripts = ["${path.root}/../scripts/build/preimagedata.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/installers/configure-environment.sh"] + 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/installers/apt-vital.sh"] + scripts = ["${path.root}/../scripts/build/apt-vital.sh"] } provisioner "shell" { environment_vars = ["HELPER_SCRIPTS=${var.helper_script_folder}"] execute_command = "sudo sh -c '{{ .Vars }} {{ .Path }}'" - scripts = ["${path.root}/scripts/installers/complete-snap-setup.sh", "${path.root}/scripts/installers/powershellcore.sh"] + scripts = ["${path.root}/../scripts/build/complete-snap-setup.sh", "${path.root}/../scripts/build/powershellcore.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/installers/Install-PowerShellModules.ps1", "${path.root}/scripts/installers/Install-AzureModules.ps1"] + scripts = ["${path.root}/../scripts/build/Install-PowerShellModules.ps1", "${path.root}/../scripts/build/Install-AzureModules.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/installers/action-archive-cache.sh", - "${path.root}/scripts/installers/runner-package.sh", - "${path.root}/scripts/installers/apt-common.sh", - "${path.root}/scripts/installers/azcopy.sh", - "${path.root}/scripts/installers/azure-cli.sh", - "${path.root}/scripts/installers/azure-devops-cli.sh", - "${path.root}/scripts/installers/bicep.sh", - "${path.root}/scripts/installers/aliyun-cli.sh", - "${path.root}/scripts/installers/apache.sh", - "${path.root}/scripts/installers/aws.sh", - "${path.root}/scripts/installers/clang.sh", - "${path.root}/scripts/installers/swift.sh", - "${path.root}/scripts/installers/cmake.sh", - "${path.root}/scripts/installers/codeql-bundle.sh", - "${path.root}/scripts/installers/containers.sh", - "${path.root}/scripts/installers/dotnetcore-sdk.sh", - "${path.root}/scripts/installers/firefox.sh", - "${path.root}/scripts/installers/microsoft-edge.sh", - "${path.root}/scripts/installers/gcc.sh", - "${path.root}/scripts/installers/gfortran.sh", - "${path.root}/scripts/installers/git.sh", - "${path.root}/scripts/installers/git-lfs.sh", - "${path.root}/scripts/installers/github-cli.sh", - "${path.root}/scripts/installers/google-chrome.sh", - "${path.root}/scripts/installers/google-cloud-cli.sh", - "${path.root}/scripts/installers/haskell.sh", - "${path.root}/scripts/installers/heroku.sh", - "${path.root}/scripts/installers/java-tools.sh", - "${path.root}/scripts/installers/kubernetes-tools.sh", - "${path.root}/scripts/installers/oc.sh", - "${path.root}/scripts/installers/leiningen.sh", - "${path.root}/scripts/installers/miniconda.sh", - "${path.root}/scripts/installers/mono.sh", - "${path.root}/scripts/installers/kotlin.sh", - "${path.root}/scripts/installers/mysql.sh", - "${path.root}/scripts/installers/mssql-cmd-tools.sh", - "${path.root}/scripts/installers/sqlpackage.sh", - "${path.root}/scripts/installers/nginx.sh", - "${path.root}/scripts/installers/nvm.sh", - "${path.root}/scripts/installers/nodejs.sh", - "${path.root}/scripts/installers/bazel.sh", - "${path.root}/scripts/installers/oras-cli.sh", - "${path.root}/scripts/installers/php.sh", - "${path.root}/scripts/installers/postgresql.sh", - "${path.root}/scripts/installers/pulumi.sh", - "${path.root}/scripts/installers/ruby.sh", - "${path.root}/scripts/installers/r.sh", - "${path.root}/scripts/installers/rust.sh", - "${path.root}/scripts/installers/julia.sh", - "${path.root}/scripts/installers/sbt.sh", - "${path.root}/scripts/installers/selenium.sh", - "${path.root}/scripts/installers/terraform.sh", - "${path.root}/scripts/installers/packer.sh", - "${path.root}/scripts/installers/vcpkg.sh", - "${path.root}/scripts/installers/dpkg-config.sh", - "${path.root}/scripts/installers/yq.sh", - "${path.root}/scripts/installers/android.sh", - "${path.root}/scripts/installers/pypy.sh", - "${path.root}/scripts/installers/python.sh", - "${path.root}/scripts/installers/zstd.sh" + "${path.root}/../scripts/build/action-archive-cache.sh", + "${path.root}/../scripts/build/runner-package.sh", + "${path.root}/../scripts/build/apt-common.sh", + "${path.root}/../scripts/build/azcopy.sh", + "${path.root}/../scripts/build/azure-cli.sh", + "${path.root}/../scripts/build/azure-devops-cli.sh", + "${path.root}/../scripts/build/bicep.sh", + "${path.root}/../scripts/build/aliyun-cli.sh", + "${path.root}/../scripts/build/apache.sh", + "${path.root}/../scripts/build/aws.sh", + "${path.root}/../scripts/build/clang.sh", + "${path.root}/../scripts/build/swift.sh", + "${path.root}/../scripts/build/cmake.sh", + "${path.root}/../scripts/build/codeql-bundle.sh", + "${path.root}/../scripts/build/containers.sh", + "${path.root}/../scripts/build/dotnetcore-sdk.sh", + "${path.root}/../scripts/build/firefox.sh", + "${path.root}/../scripts/build/microsoft-edge.sh", + "${path.root}/../scripts/build/gcc.sh", + "${path.root}/../scripts/build/gfortran.sh", + "${path.root}/../scripts/build/git.sh", + "${path.root}/../scripts/build/git-lfs.sh", + "${path.root}/../scripts/build/github-cli.sh", + "${path.root}/../scripts/build/google-chrome.sh", + "${path.root}/../scripts/build/google-cloud-cli.sh", + "${path.root}/../scripts/build/haskell.sh", + "${path.root}/../scripts/build/heroku.sh", + "${path.root}/../scripts/build/java-tools.sh", + "${path.root}/../scripts/build/kubernetes-tools.sh", + "${path.root}/../scripts/build/oc.sh", + "${path.root}/../scripts/build/leiningen.sh", + "${path.root}/../scripts/build/miniconda.sh", + "${path.root}/../scripts/build/mono.sh", + "${path.root}/../scripts/build/kotlin.sh", + "${path.root}/../scripts/build/mysql.sh", + "${path.root}/../scripts/build/mssql-cmd-tools.sh", + "${path.root}/../scripts/build/sqlpackage.sh", + "${path.root}/../scripts/build/nginx.sh", + "${path.root}/../scripts/build/nvm.sh", + "${path.root}/../scripts/build/nodejs.sh", + "${path.root}/../scripts/build/bazel.sh", + "${path.root}/../scripts/build/oras-cli.sh", + "${path.root}/../scripts/build/php.sh", + "${path.root}/../scripts/build/postgresql.sh", + "${path.root}/../scripts/build/pulumi.sh", + "${path.root}/../scripts/build/ruby.sh", + "${path.root}/../scripts/build/r.sh", + "${path.root}/../scripts/build/rust.sh", + "${path.root}/../scripts/build/julia.sh", + "${path.root}/../scripts/build/sbt.sh", + "${path.root}/../scripts/build/selenium.sh", + "${path.root}/../scripts/build/terraform.sh", + "${path.root}/../scripts/build/packer.sh", + "${path.root}/../scripts/build/vcpkg.sh", + "${path.root}/../scripts/build/dpkg-config.sh", + "${path.root}/../scripts/build/yq.sh", + "${path.root}/../scripts/build/android.sh", + "${path.root}/../scripts/build/pypy.sh", + "${path.root}/../scripts/build/python.sh", + "${path.root}/../scripts/build/zstd.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/installers/docker-compose.sh", "${path.root}/scripts/installers/docker.sh"] + scripts = ["${path.root}/../scripts/build/docker-compose.sh", "${path.root}/../scripts/instalbuildlers/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/installers/Install-Toolset.ps1", "${path.root}/scripts/installers/Configure-Toolset.ps1"] + 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/installers/pipx-packages.sh"] + scripts = ["${path.root}/../scripts/build/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/installers/homebrew.sh"] + scripts = ["${path.root}/../scripts/build/homebrew.sh"] } provisioner "shell" { execute_command = "sudo sh -c '{{ .Vars }} {{ .Path }}'" - script = "${path.root}/scripts/base/snap.sh" + script = "${path.root}/../scripts/build/snap.sh" } provisioner "shell" { execute_command = "/bin/sh -c '{{ .Vars }} {{ .Path }}'" expect_disconnect = true - scripts = ["${path.root}/scripts/base/reboot.sh"] + scripts = ["${path.root}/../scripts/build/reboot.sh"] } provisioner "shell" { execute_command = "sudo sh -c '{{ .Vars }} {{ .Path }}'" pause_before = "1m0s" - scripts = ["${path.root}/scripts/installers/cleanup.sh"] + scripts = ["${path.root}/../scripts/build/cleanup.sh"] start_retry_timeout = "10m" } provisioner "shell" { execute_command = "sudo sh -c '{{ .Vars }} {{ .Path }}'" - script = "${path.root}/scripts/base/apt-mock-remove.sh" + script = "${path.root}/../scripts/build/apt-mock-remove.sh" } provisioner "shell" { @@ -410,17 +416,17 @@ build { 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/installers/post-deployment.sh"] + scripts = ["${path.root}/../scripts/build/post-deployment.sh"] } provisioner "shell" { environment_vars = ["RUN_VALIDATION=${var.run_validation_diskspace}"] - scripts = ["${path.root}/scripts/installers/validate-disk-space.sh"] + scripts = ["${path.root}/../scripts/build/validate-disk-space.sh"] } provisioner "file" { destination = "/tmp/" - source = "${path.root}/config/ubuntu2204.conf" + source = "${path.root}/../assets/ubuntu2204.conf" } provisioner "shell" { diff --git a/images/ubuntu/templates/ubuntuminimal.pkr.hcl b/images/ubuntu/templates/ubuntuminimal.pkr.hcl index 373fc06f43e0..2ddce28f22f4 100644 --- a/images/ubuntu/templates/ubuntuminimal.pkr.hcl +++ b/images/ubuntu/templates/ubuntuminimal.pkr.hcl @@ -146,12 +146,12 @@ source "azure-arm" "build_image" { virtual_network_name = "${var.virtual_network_name}" virtual_network_subnet_name = "${var.virtual_network_subnet_name}" allowed_inbound_ip_addresses = "${var.allowed_inbound_ip_addresses}" - + // VM Configuration vm_size = "${var.vm_size}" os_disk_size_gb = "86" os_type = "Linux" - + dynamic "azure_tag" { for_each = var.azure_tags content { @@ -174,122 +174,123 @@ build { // Add apt wrapper to implement retries provisioner "shell" { execute_command = "sudo sh -c '{{ .Vars }} {{ .Path }}'" - script = "${path.root}/scripts/base/apt-mock.sh" - } - - // Install MS package repos - provisioner "shell" { - environment_vars = ["DEBIAN_FRONTEND=noninteractive"] - execute_command = "sudo sh -c '{{ .Vars }} {{ .Path }}'" - scripts = ["${path.root}/scripts/base/repos.sh"] + script = "${path.root}/../scripts/build/apt-mock.sh" } - // Configure apt + // Install MS package repos, Configure apt provisioner "shell" { environment_vars = ["DEBIAN_FRONTEND=noninteractive"] execute_command = "sudo sh -c '{{ .Vars }} {{ .Path }}'" - script = "${path.root}/scripts/base/apt.sh" + scripts = [ + "${path.root}/../scripts/build/repos.sh", + "${path.root}/../scripts/build/apt.sh" + ] } // Configure limits provisioner "shell" { execute_command = "sudo sh -c '{{ .Vars }} {{ .Path }}'" - script = "${path.root}/scripts/base/limits.sh" + script = "${path.root}/../scripts/build/limits.sh" } provisioner "file" { destination = "${local.helper_script_folder}" - source = "${path.root}/scripts/helpers" + source = "${path.root}/../scripts/helpers" } provisioner "file" { destination = "${local.installer_script_folder}" - source = "${path.root}/scripts/installers" + source = "${path.root}/../scripts/build" } provisioner "file" { destination = "${local.image_folder}" sources = [ - "${path.root}/post-generation", - "${path.root}/scripts/tests" + "${path.root}/../post-gen", + "${path.root}/../scripts/tests" ] } provisioner "file" { destination = "${local.installer_script_folder}/toolset.json" - source = "${path.root}/toolsets/${local.toolset_file_name}" + source = "${path.root}/../toolsets/${local.toolset_file_name}" + } + + provisioner "shell" { + execute_command = "sudo sh -c '{{ .Vars }} {{ .Path }}'" + inline = ["mv ${local.image_folder}/post-gen ${local.image_folder}/post-generation"] } // Generate image data file provisioner "shell" { environment_vars = ["IMAGE_VERSION=${var.image_version}", "IMAGEDATA_FILE=${local.imagedata_file}"] execute_command = "sudo sh -c '{{ .Vars }} {{ .Path }}'" - scripts = ["${path.root}/scripts/installers/preimagedata.sh"] + scripts = ["${path.root}/../scripts/build/preimagedata.sh"] } // Create /etc/environment, configure waagent etc. provisioner "shell" { environment_vars = ["IMAGE_VERSION=${var.image_version}", "IMAGE_OS=${local.image_os}", "HELPER_SCRIPTS=${local.helper_script_folder}"] execute_command = "sudo sh -c '{{ .Vars }} {{ .Path }}'" - scripts = ["${path.root}/scripts/installers/configure-environment.sh"] + scripts = ["${path.root}/../scripts/build/configure-environment.sh"] } provisioner "shell" { environment_vars = ["DEBIAN_FRONTEND=noninteractive", "HELPER_SCRIPTS=${local.helper_script_folder}", "INSTALLER_SCRIPT_FOLDER=${local.installer_script_folder}"] execute_command = "sudo sh -c '{{ .Vars }} {{ .Path }}'" - scripts = ["${path.root}/scripts/installers/apt-vital.sh"] + scripts = ["${path.root}/../scripts/build/apt-vital.sh"] } provisioner "shell" { environment_vars = ["DEBIAN_FRONTEND=noninteractive", "HELPER_SCRIPTS=${local.helper_script_folder}"] execute_command = "sudo sh -c '{{ .Vars }} {{ .Path }}'" - scripts = ["${path.root}/scripts/installers/powershellcore.sh"] + scripts = ["${path.root}/../scripts/build/powershellcore.sh"] } provisioner "shell" { environment_vars = ["HELPER_SCRIPTS=${local.helper_script_folder}", "INSTALLER_SCRIPT_FOLDER=${local.installer_script_folder}"] execute_command = "sudo sh -c '{{ .Vars }} pwsh -f {{ .Path }}'" - scripts = ["${path.root}/scripts/installers/Install-PowerShellModules.ps1"] + scripts = ["${path.root}/../scripts/build/Install-PowerShellModules.ps1"] } provisioner "shell" { environment_vars = ["DEBIAN_FRONTEND=noninteractive", "HELPER_SCRIPTS=${local.helper_script_folder}", "INSTALLER_SCRIPT_FOLDER=${local.installer_script_folder}"] execute_command = "sudo sh -c '{{ .Vars }} {{ .Path }}'" scripts = [ - "${path.root}/scripts/installers/git.sh", - "${path.root}/scripts/installers/git-lfs.sh", - "${path.root}/scripts/installers/github-cli.sh", - "${path.root}/scripts/installers/zstd.sh" + "${path.root}/../scripts/build/git.sh", + "${path.root}/../scripts/build/git-lfs.sh", + "${path.root}/../scripts/build/github-cli.sh", + "${path.root}/../scripts/build/zstd.sh" ] } provisioner "shell" { execute_command = "/bin/sh -c '{{ .Vars }} {{ .Path }}'" expect_disconnect = true - scripts = ["${path.root}/scripts/base/reboot.sh"] + scripts = ["${path.root}/../scripts/build/reboot.sh"] } provisioner "shell" { execute_command = "sudo sh -c '{{ .Vars }} {{ .Path }}'" pause_before = "1m0s" - scripts = ["${path.root}/scripts/installers/cleanup.sh"] + scripts = ["${path.root}/../scripts/build/cleanup.sh"] start_retry_timeout = "10m" } provisioner "shell" { execute_command = "sudo sh -c '{{ .Vars }} {{ .Path }}'" - script = "${path.root}/scripts/base/apt-mock-remove.sh" + script = "${path.root}/../scripts/build/apt-mock-remove.sh" } provisioner "shell" { environment_vars = ["HELPER_SCRIPT_FOLDER=${local.helper_script_folder}", "INSTALLER_SCRIPT_FOLDER=${local.installer_script_folder}", "IMAGE_FOLDER=${local.image_folder}"] execute_command = "sudo sh -c '{{ .Vars }} {{ .Path }}'" - scripts = ["${path.root}/scripts/installers/post-deployment.sh"] + scripts = ["${path.root}/../scripts/build/post-deployment.sh"] } provisioner "shell" { environment_vars = ["RUN_VALIDATION=${var.run_validation_diskspace}"] - scripts = ["${path.root}/scripts/installers/validate-disk-space.sh"] + scripts = ["${path.root}/../scripts/build/validate-disk-space.sh"] } provisioner "shell" { From bcb3f54b9df13dee3dd3c20b2faf703d41ee0496 Mon Sep 17 00:00:00 2001 From: Shamil Mubarakshin Date: Thu, 19 Oct 2023 17:54:01 +0200 Subject: [PATCH 3/8] Fix issues in ubuntu2204 template --- images/ubuntu/templates/ubuntu-22.04.pkr.hcl | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/images/ubuntu/templates/ubuntu-22.04.pkr.hcl b/images/ubuntu/templates/ubuntu-22.04.pkr.hcl index d61dbeaff79d..18984fa86246 100644 --- a/images/ubuntu/templates/ubuntu-22.04.pkr.hcl +++ b/images/ubuntu/templates/ubuntu-22.04.pkr.hcl @@ -185,27 +185,27 @@ build { provisioner "shell" { execute_command = "sudo sh -c '{{ .Vars }} {{ .Path }}'" - script = "${path.root}/../scripts/base/apt-mock.sh" + script = "${path.root}/../scripts/build/apt-mock.sh" } provisioner "shell" { environment_vars = ["DEBIAN_FRONTEND=noninteractive"] execute_command = "sudo sh -c '{{ .Vars }} {{ .Path }}'" scripts = [ - "${path.root}/../scripts/base/repos.sh", - "${path.root}/../scripts/base/apt-ubuntu-archive.sh", - "${path.root}/../scripts/base/apt.sh" + "${path.root}/../scripts/build/repos.sh", + "${path.root}/../scripts/build/apt-ubuntu-archive.sh", + "${path.root}/../scripts/build/apt.sh" ] } provisioner "shell" { execute_command = "sudo sh -c '{{ .Vars }} {{ .Path }}'" - script = "${path.root}/scripts/base/limits.sh" + script = "${path.root}/../scripts/build/limits.sh" } provisioner "file" { destination = "${var.helper_script_folder}" - sources = "${path.root}/../scripts/helpers" + source = "${path.root}/../scripts/helpers" } provisioner "file" { @@ -216,7 +216,7 @@ build { provisioner "file" { destination = "${var.image_folder}" sources = [ - "${path.root}/../post-gen", + "${path.root}/../assets/post-gen", "${path.root}/../scripts/tests", "${path.root}/../scripts/docs-gen" ] @@ -247,8 +247,8 @@ build { provisioner "shell" { execute_command = "sudo sh -c '{{ .Vars }} {{ .Path }}'" inline = [ - "mv ${local.image_folder}/docs-gen ${local.image_folder}/SoftwareReport", - "mv ${local.image_folder}/post-gen ${local.image_folder}/post-generation" + "mv ${var.image_folder}/docs-gen ${var.image_folder}/SoftwareReport", + "mv ${var.image_folder}/post-gen ${var.image_folder}/post-generation" ] } @@ -352,7 +352,7 @@ build { 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/docker-compose.sh", "${path.root}/../scripts/instalbuildlers/docker.sh"] + scripts = ["${path.root}/../scripts/build/docker-compose.sh", "${path.root}/../scripts/build/docker.sh"] } provisioner "shell" { From 2f07cdec25643722e6e22c22f6274d95ab527b5f Mon Sep 17 00:00:00 2001 From: Shamil Mubarakshin Date: Fri, 20 Oct 2023 11:40:15 +0200 Subject: [PATCH 4/8] Remove Debug steps --- images/ubuntu/templates/ubuntu-20.04.json | 12 ------------ images/ubuntu/templates/ubuntu-22.04.pkr.hcl | 12 ------------ 2 files changed, 24 deletions(-) diff --git a/images/ubuntu/templates/ubuntu-20.04.json b/images/ubuntu/templates/ubuntu-20.04.json index b7175fd2c44a..2b5eda994334 100644 --- a/images/ubuntu/templates/ubuntu-20.04.json +++ b/images/ubuntu/templates/ubuntu-20.04.json @@ -115,18 +115,6 @@ "source": "{{template_dir}}/../toolsets/toolset-2004.json", "destination": "{{user `installer_script_folder`}}/toolset.json" }, - { - "type": "shell", - "inline": [ - "echo '/imagegeneration' && ls -la /imagegeneration", - "echo '/imagegeneration/installers' && ls -la /imagegeneration/installers", - "echo '/imagegeneration/helpers' && ls -la /imagegeneration/helpers", - "echo '/imagegeneration/docs-gen' && ls -la /imagegeneration/docs-gen", - "echo '/imagegeneration/post-gen' && ls -la /imagegeneration/post-gen", - "echo '/imagegeneration/tests' && ls -la /imagegeneration/tests" - ], - "execute_command": "sudo sh -c '{{ .Vars }} {{ .Path }}'" - }, { "type": "shell", "inline": [ diff --git a/images/ubuntu/templates/ubuntu-22.04.pkr.hcl b/images/ubuntu/templates/ubuntu-22.04.pkr.hcl index 18984fa86246..7269557755f4 100644 --- a/images/ubuntu/templates/ubuntu-22.04.pkr.hcl +++ b/images/ubuntu/templates/ubuntu-22.04.pkr.hcl @@ -232,18 +232,6 @@ build { source = "${path.root}/../toolsets/toolset-2204.json" } - provisioner "shell" { - execute_command = "sudo sh -c '{{ .Vars }} {{ .Path }}'" - inline = [ - "echo '/imagegeneration' && ls -la /imagegeneration", - "echo '/imagegeneration/installers' && ls -la /imagegeneration/installers", - "echo '/imagegeneration/helpers' && ls -la /imagegeneration/helpers", - "echo '/imagegeneration/docs-gen' && ls -la /imagegeneration/docs-gen", - "echo '/imagegeneration/post-gen' && ls -la /imagegeneration/post-gen", - "echo '/imagegeneration/tests' && ls -la /imagegeneration/tests" - ] - } - provisioner "shell" { execute_command = "sudo sh -c '{{ .Vars }} {{ .Path }}'" inline = [ From 166103a761c93950d95c71f519262a8eb82a4eed Mon Sep 17 00:00:00 2001 From: Shamil Mubarakshin Date: Fri, 20 Oct 2023 12:00:44 +0200 Subject: [PATCH 5/8] Rename template, sync pipelines and adjust resource gen script --- helpers/GenerateResourcesAndImage.ps1 | 6 +++--- .../linux-and-win/azure-pipelines/image-generation.yml | 4 ++-- images.CI/linux-and-win/azure-pipelines/ubuntu2004.yml | 3 ++- images.CI/linux-and-win/azure-pipelines/ubuntu2204.yml | 3 ++- .../{ubuntuminimal.pkr.hcl => ubuntu-minimal.pkr.hcl} | 0 5 files changed, 9 insertions(+), 7 deletions(-) rename images/ubuntu/templates/{ubuntuminimal.pkr.hcl => ubuntu-minimal.pkr.hcl} (100%) diff --git a/helpers/GenerateResourcesAndImage.ps1 b/helpers/GenerateResourcesAndImage.ps1 index 36528ad1bf5c..4d6be9f72ef3 100644 --- a/helpers/GenerateResourcesAndImage.ps1 +++ b/helpers/GenerateResourcesAndImage.ps1 @@ -24,13 +24,13 @@ Function Get-PackerTemplatePath { $relativeTemplatePath = Join-Path "windows" "templates" "windows-2022.json" } ([ImageType]::Ubuntu2004) { - $relativeTemplatePath = Join-Path "linux" "ubuntu2004.json" + $relativeTemplatePath = Join-Path "ubuntu" "templates" "ubuntu-2004.json" } ([ImageType]::Ubuntu2204) { - $relativeTemplatePath = Join-Path "linux" "ubuntu2204.pkr.hcl" + $relativeTemplatePath = Join-Path "ubuntu" "templates" "ubuntu-2204.pkr.hcl" } ([ImageType]::UbuntuMinimal) { - $relativeTemplatePath = Join-Path "linux" "ubuntuminimal.pkr.hcl" + $relativeTemplatePath = Join-Path "ubuntu" "templates" "ubuntu-minimal.pkr.hcl" } default { throw "Unknown type of image" } } diff --git a/images.CI/linux-and-win/azure-pipelines/image-generation.yml b/images.CI/linux-and-win/azure-pipelines/image-generation.yml index 778ebb3cad44..c879b372b881 100644 --- a/images.CI/linux-and-win/azure-pipelines/image-generation.yml +++ b/images.CI/linux-and-win/azure-pipelines/image-generation.yml @@ -65,9 +65,9 @@ jobs: targetType: 'inline' script: | $ImageType = "${{ parameters.image_type }}" - $TemplateDirectoryName = if ($ImageType.StartsWith("ubuntu")) { "linux" } else { "windows/templates" } + $TemplateDirectoryName = if ($ImageType.StartsWith("ubuntu")) { "ubuntu/templates" } else { "windows/templates" } $TemplateDirectoryPath = Join-Path "images" $TemplateDirectoryName | Resolve-Path - + $TemplateFileName = "${{ parameters.image_template_name }}" if ($TemplateFileName) { $TemplatePath = Join-Path $TemplateDirectoryPath $TemplateFileName diff --git a/images.CI/linux-and-win/azure-pipelines/ubuntu2004.yml b/images.CI/linux-and-win/azure-pipelines/ubuntu2004.yml index 4bf78c183957..528e8d0dd341 100644 --- a/images.CI/linux-and-win/azure-pipelines/ubuntu2004.yml +++ b/images.CI/linux-and-win/azure-pipelines/ubuntu2004.yml @@ -17,4 +17,5 @@ jobs: - template: image-generation.yml parameters: image_type: ubuntu2004 - image_readme_name: Ubuntu2004-Readme.md \ No newline at end of file + image_readme_name: Ubuntu2004-Readme.md + image_template_name: ubuntu-20.04.json diff --git a/images.CI/linux-and-win/azure-pipelines/ubuntu2204.yml b/images.CI/linux-and-win/azure-pipelines/ubuntu2204.yml index 8fc4c7b69f79..b9e12815d5b8 100644 --- a/images.CI/linux-and-win/azure-pipelines/ubuntu2204.yml +++ b/images.CI/linux-and-win/azure-pipelines/ubuntu2204.yml @@ -17,4 +17,5 @@ jobs: - template: image-generation.yml parameters: image_type: ubuntu2204 - image_readme_name: Ubuntu2204-Readme.md \ No newline at end of file + image_readme_name: Ubuntu2204-Readme.md + image_template_name: ubuntu-22.04.pkr.hcl diff --git a/images/ubuntu/templates/ubuntuminimal.pkr.hcl b/images/ubuntu/templates/ubuntu-minimal.pkr.hcl similarity index 100% rename from images/ubuntu/templates/ubuntuminimal.pkr.hcl rename to images/ubuntu/templates/ubuntu-minimal.pkr.hcl From 4760df6d15fb6535065e43776adb683ec32c8ad3 Mon Sep 17 00:00:00 2001 From: Shamil Mubarakshin Date: Fri, 20 Oct 2023 15:34:53 +0200 Subject: [PATCH 6/8] fix post-gen path in ubuntu-minimal --- images/ubuntu/templates/ubuntu-minimal.pkr.hcl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/images/ubuntu/templates/ubuntu-minimal.pkr.hcl b/images/ubuntu/templates/ubuntu-minimal.pkr.hcl index 2ddce28f22f4..9ccc6202403d 100644 --- a/images/ubuntu/templates/ubuntu-minimal.pkr.hcl +++ b/images/ubuntu/templates/ubuntu-minimal.pkr.hcl @@ -206,7 +206,7 @@ build { provisioner "file" { destination = "${local.image_folder}" sources = [ - "${path.root}/../post-gen", + "${path.root}/../assets/post-gen", "${path.root}/../scripts/tests" ] } From 6bba136b72600c0aae4b6f42c904b23b453eba96 Mon Sep 17 00:00:00 2001 From: Shamil Mubarakshin Date: Mon, 23 Oct 2023 13:49:09 +0200 Subject: [PATCH 7/8] fix shebang linter, workflow paths and adjust readme --- .github/workflows/ubuntu2004.yml | 2 +- .github/workflows/ubuntu2204.yml | 2 +- CONTRIBUTING.md | 8 ++++---- README.md | 4 ++-- docs/create-image-and-azure-resources.md | 2 +- images.CI/shebang-linter.ps1 | 6 +++--- 6 files changed, 12 insertions(+), 12 deletions(-) diff --git a/.github/workflows/ubuntu2004.yml b/.github/workflows/ubuntu2004.yml index cfe71fd34105..c8368f3de639 100644 --- a/.github/workflows/ubuntu2004.yml +++ b/.github/workflows/ubuntu2004.yml @@ -5,7 +5,7 @@ on: pull_request_target: types: labeled paths: - - 'images/linux/**' + - 'images/ubuntu/**' defaults: run: diff --git a/.github/workflows/ubuntu2204.yml b/.github/workflows/ubuntu2204.yml index 634bb536986c..d116129d862f 100644 --- a/.github/workflows/ubuntu2204.yml +++ b/.github/workflows/ubuntu2204.yml @@ -5,7 +5,7 @@ on: pull_request_target: types: labeled paths: - - 'images/linux/**' + - 'images/ubuntu/**' defaults: run: diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 8c72b54dcc23..9e430481f96b 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -49,11 +49,11 @@ Add `Invoke-PesterTests -TestFile [-TestName ]` at ### Ubuntu -- Add script that will install and validate the tool and put the script in the `scripts/installers` folder. -Use existing scripts such as [github-cli.sh](images/linux/scripts/installers/github-cli.sh) as a starting point. - - Use [helpers](images/linux/scripts/helpers/install.sh) to simplify installation process. +- Add script that will install and validate the tool and put the script in the `scripts/build` folder. +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 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. [Ubuntu2004-Readme.md](images/linux/Ubuntu2004-README.md) and it uses [MarkdownPS](https://github.com/Sarafian/MarkdownPS). +- Add changes to the software report generator `images/ubuntu/scripts/docs-gen/SoftwareReport.Generator.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). ### macOS diff --git a/README.md b/README.md index cb4625b261a5..dc17ae557d41 100644 --- a/README.md +++ b/README.md @@ -34,8 +34,8 @@ To build a VM machine from this repo's source, see the [instructions](docs/creat - In general the `-latest` label is used for the latest OS image version that is GA - Before moving the`-latest` label to a new OS version we will announce the change and give sufficient lead time for users to update their workflows -[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-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-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 [macOS-11]: https://github.com/actions/runner-images/blob/main/images/macos/macos-11-Readme.md diff --git a/docs/create-image-and-azure-resources.md b/docs/create-image-and-azure-resources.md index 57993feb6c3d..4414fe8b4bc8 100644 --- a/docs/create-image-and-azure-resources.md +++ b/docs/create-image-and-azure-resources.md @@ -272,7 +272,7 @@ Generated tool versions and details can be found in related projects: The user, created during the image generation, does not exist in the result image hence some configuration files related to the user's home directory need to be changed as well as the file permissions for some directories. Scripts for that are located in the `post-gen` folder in the repository: - Windows: -- Linux: +- Linux: **Note:** The default user for Linux should have `sudo privileges`. diff --git a/images.CI/shebang-linter.ps1 b/images.CI/shebang-linter.ps1 index a3862f65895c..53c7d9817c67 100644 --- a/images.CI/shebang-linter.ps1 +++ b/images.CI/shebang-linter.ps1 @@ -22,7 +22,7 @@ function Validate-Scripts { return $ScriptWithoutShebangLine } -$PathUbuntu = "./images/linux/scripts" +$PathUbuntu = "./images/ubuntu/scripts" $PathMacOS = "./images/macos/provision" $PatternUbuntu = "#!/bin/bash -e" $PatternMacOS = "#!/bin/bash -e -o pipefail" @@ -34,10 +34,10 @@ if ($ScriptsWithBrokenShebang.Length -gt 0) { $ScriptsWithBrokenShebang | ForEach-Object { Write-Host "##[error] '$_'" } - Write-Host "`n`n##[error] Expected shebang for scripts in 'images/linux' folder is '$PatternUbuntu'" + Write-Host "`n`n##[error] Expected shebang for scripts in 'images/ubuntu' folder is '$PatternUbuntu'" Write-Host "##[error] Expected shebang for scripts in 'images/macos' folder is '$PatternMacOS'" exit 1 else { Write-Host "All scripts have correct shebang." } -} \ No newline at end of file +} From 1fd9f99663f1c9a5b2f0c8249ebc65fa4d4202fb Mon Sep 17 00:00:00 2001 From: Shamil Mubarakshin Date: Mon, 23 Oct 2023 13:55:30 +0200 Subject: [PATCH 8/8] update preimagedata --- images/ubuntu/scripts/build/preimagedata.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/images/ubuntu/scripts/build/preimagedata.sh b/images/ubuntu/scripts/build/preimagedata.sh index 62c6d3bed28e..cc932532b142 100644 --- a/images/ubuntu/scripts/build/preimagedata.sh +++ b/images/ubuntu/scripts/build/preimagedata.sh @@ -11,7 +11,7 @@ version_major=${os_version/.*/} version_wo_dot=${os_version/./} github_url="https://github.com/actions/runner-images/blob" -software_url="${github_url}/ubuntu${version_major}/${image_version_major}.${image_version_minor}/images/linux/Ubuntu${version_wo_dot}-Readme.md" +software_url="${github_url}/ubuntu${version_major}/${image_version_major}.${image_version_minor}/images/ubuntu/Ubuntu${version_wo_dot}-Readme.md" releaseUrl="https://github.com/actions/runner-images/releases/tag/ubuntu${version_major}%2F${image_version_major}.${image_version_minor}" cat < $imagedata_file