Files
runner-images-sangeeth/images/macos/templates/macOS-12.json
Alexey-Ayupov 5e82420a74 [macOS] Rename build scripts (#8887)
Co-authored-by: Alexey Ayupov <“alexey.ayupov@akvelon.com”>
2023-11-28 02:25:03 +01:00

269 lines
10 KiB
JSON

{
"variables": {
"vcenter_server": null,
"vcenter_username": null,
"vcenter_password": null,
"vcenter_datacenter": null,
"cluster_or_esxi_host": null,
"esxi_datastore": null,
"build_id": null,
"baseimage_name": null,
"output_folder": null,
"vm_username": null,
"vm_password": null,
"github_api_pat": null,
"xcode_install_storage_url": null,
"xcode_install_sas": null,
"image_os": "macos12"
},
"builders": [
{
"type": "vsphere-clone",
"vcenter_server": "{{user `vcenter_server`}}",
"username": "{{user `vcenter_username`}}",
"password": "{{user `vcenter_password`}}",
"insecure_connection": true,
"datacenter": "{{ user `vcenter_datacenter` }}",
"template": "{{ user `baseimage_name` }}",
"folder": "{{user `output_folder` }}",
"host": "{{user `cluster_or_esxi_host`}}",
"datastore": "{{user `esxi_datastore`}}",
"vm_name": "{{user `build_id`}}",
"ssh_username": "{{user `vm_username`}}",
"ssh_password": "{{user `vm_password`}}",
"CPUs": "5",
"cpu_cores": "5",
"RAM": "24576",
"NestedHV": "true",
"shutdown_timeout": "15m"
}
],
"provisioners": [
{
"type": "shell",
"inline": "mkdir ~/image-generation"
},
{
"type": "file",
"sources": [
"./assets/xamarin-selector",
"./scripts/tests",
"./scripts/docs-gen",
"./scripts/helpers"
],
"destination": "~/image-generation/"
},
{
"type": "file",
"source": "../../helpers/software-report-base",
"destination": "~/image-generation/docs-gen/"
},
{
"type": "file",
"source": "./assets/add-certificate.swift",
"destination": "~/image-generation/add-certificate.swift"
},
{
"type": "file",
"source": "./assets/bashrc",
"destination": "~/.bashrc"
},
{
"type": "file",
"source": "./assets/bashprofile",
"destination": "~/.bash_profile"
},
{
"type": "file",
"source": "./assets/bootstrap-provisioner",
"destination": "~/bootstrap"
},
{
"type": "file",
"source": "./toolsets/toolset-12.json",
"destination": "~/image-generation/toolset.json"
},
{
"type": "shell",
"inline": [
"mv ~/image-generation/docs-gen ~/image-generation/software-report",
"mv ~/image-generation/xamarin-selector ~/image-generation/assets",
"mkdir ~/utils",
"mv ~/image-generation/helpers/confirm-identified-developers.scpt ~/utils",
"mv ~/image-generation/helpers/invoke-tests.sh ~/utils",
"mv ~/image-generation/helpers/utils.sh ~/utils",
"mv ~/image-generation/helpers/xamarin-utils.sh ~/utils"
],
"execute_command": "sudo sh -c '{{ .Vars }} {{ .Path }}'"
},
{
"type": "shell",
"execute_command": "chmod +x {{ .Path }}; {{ .Vars }} {{ .Path }}",
"scripts": [
"./scripts/build/install-xcode-clt.sh",
"./scripts/build/install-homebrew.sh"
]
},
{
"type": "shell",
"execute_command": "chmod +x {{ .Path }}; sudo {{ .Vars }} {{ .Path }}",
"scripts": [
"./scripts/build/configure-network-interface-detection.sh",
"./scripts/build/configure-autologin.sh",
"./scripts/build/configure-auto-updates.sh",
"./scripts/build/configure-screensaver.sh",
"./scripts/build/configure-ntpconf.sh",
"./scripts/build/configure-max-files-limitation.sh",
"./scripts/build/configure-shell.sh"
],
"environment_vars": [
"PASSWORD={{user `vm_password`}}",
"USERNAME={{user `vm_username`}}"
]
},
{
"type": "shell",
"execute_command": "chmod +x {{ .Path }}; {{ .Vars }} {{ .Path }}",
"scripts": [
"./scripts/build/configure-preimagedata.sh",
"./scripts/build/configure-ssh.sh",
"./scripts/build/configure-machine.sh"
],
"environment_vars": [
"IMAGE_VERSION={{user `build_id`}}",
"IMAGE_OS={{user `image_os`}}",
"PASSWORD={{user `vm_password`}}"
]
},
{
"type": "shell",
"execute_command": "sudo {{ .Vars }} {{ .Path }}",
"inline": [
"echo 'Reboot VM'",
"shutdown -r now"
],
"expect_disconnect": true
},
{
"type": "shell",
"execute_command": "chmod +x {{ .Path }}; {{ .Vars }} {{ .Path }}",
"pause_before": "30s",
"scripts": [
"./scripts/build/configure-windows.sh",
"./scripts/build/install-powershell.sh",
"./scripts/build/install-dotnet.sh",
"./scripts/build/install-python.sh",
"./scripts/build/install-azcopy.sh",
"./scripts/build/install-openssl.sh",
"./scripts/build/install-ruby.sh",
"./scripts/build/install-rubygems.sh",
"./scripts/build/install-git.sh",
"./scripts/build/install-mongodb.sh",
"./scripts/build/install-node.sh",
"./scripts/build/install-common-utils.sh"
],
"environment_vars": [
"API_PAT={{user `github_api_pat`}}",
"USER_PASSWORD={{user `vm_password`}}"
]
},
{
"type": "shell",
"execute_command": "chmod +x {{ .Path }}; {{ .Vars }} pwsh -f {{ .Path }}",
"script": "./scripts/build/Install-Xcode.ps1",
"environment_vars": [
"XCODE_INSTALL_STORAGE_URL={{user `xcode_install_storage_url`}}",
"XCODE_INSTALL_SAS={{user `xcode_install_sas`}}"
]
},
{
"type": "shell",
"execute_command": "sudo {{ .Vars }} {{ .Path }}",
"inline": [
"echo 'Reboot VM'",
"shutdown -r now"
],
"expect_disconnect": true
},
{
"type": "shell",
"execute_command": "chmod +x {{ .Path }}; {{ .Vars }} {{ .Path }}",
"scripts": [
"./scripts/build/install-actions-cache.sh",
"./scripts/build/install-llvm.sh",
"./scripts/build/install-golang.sh",
"./scripts/build/install-swiftlint.sh",
"./scripts/build/install-openjdk.sh",
"./scripts/build/install-php.sh",
"./scripts/build/install-aws-tools.sh",
"./scripts/build/install-rust.sh",
"./scripts/build/install-gcc.sh",
"./scripts/build/install-haskell.sh",
"./scripts/build/install-cocoapods.sh",
"./scripts/build/install-android-sdk.sh",
"./scripts/build/install-xamarin.sh",
"./scripts/build/install-visualstudio.sh",
"./scripts/build/install-nvm.sh",
"./scripts/build/install-apache.sh",
"./scripts/build/install-nginx.sh",
"./scripts/build/install-postgresql.sh",
"./scripts/build/install-audiodevice.sh",
"./scripts/build/install-vcpkg.sh",
"./scripts/build/install-miniconda.sh",
"./scripts/build/install-safari.sh",
"./scripts/build/install-chrome.sh",
"./scripts/build/install-edge.sh",
"./scripts/build/install-firefox.sh",
"./scripts/build/install-pypy.sh",
"./scripts/build/install-pipx-packages.sh",
"./scripts/build/install-bicep.sh",
"./scripts/build/install-codeql-bundle.sh"
],
"environment_vars": [
"API_PAT={{user `github_api_pat`}}"
]
},
{
"type": "shell",
"execute_command": "chmod +x {{ .Path }}; {{ .Vars }} pwsh -f {{ .Path }}",
"scripts": [
"./scripts/build/Install-Toolset.ps1",
"./scripts/build/Configure-Toolset.ps1"
]
},
{
"type": "shell",
"execute_command": "ruby {{ .Path }}",
"scripts": [
"./scripts/build/configure-xcode-simulators.rb"
]
},
{
"type": "shell",
"execute_command": "chmod +x {{ .Path }}; {{ .Vars }} pwsh -f {{ .Path }}",
"script": "./scripts/build/Update-XcodeSimulators.ps1"
},
{
"type": "shell",
"inline": [
"pwsh -File \"$HOME/image-generation/software-report/Generate-SoftwareReport.ps1\" -OutputDirectory \"$HOME/image-generation/output/software-report\" -ImageName {{user `build_id`}}",
"pwsh -File \"$HOME/image-generation/tests/RunAll-Tests.ps1\""
]
},
{
"type": "file",
"direction": "download",
"source": "~/image-generation/output/*",
"destination": "../image-output/"
},
{
"type": "shell",
"execute_command": "chmod +x {{ .Path }}; {{ .Vars }} {{ .Path }}",
"scripts": [
"./scripts/build/configure-hostname.sh",
"./scripts/build/configure-system.sh"
]
}
]
}