Revert "Provisioning: Add Windows 11 on ARM as non-blocking in CI"

This reverts commit 72f11e0952.

Reason for revert: WoA is not going be included in 6.7 and WoA target is blocking dd08ded0fc20f5fce10bf287d4d22ae026226717, -51 template will not work with the proxy enabled and -53 template brings error C2672 with its updated MSVC in 6.7 qtbase.

Task-number: QTQAINFRA-6111
Change-Id: I13fde01aba392b173db178bff6893b71c20ae98a
Reviewed-by: Jani Heikkinen <jani.heikkinen@qt.io>
This commit is contained in:
Elias Toivola 2024-09-05 17:27:18 +03:00
parent 3a1f14f866
commit 578a47e1b0
68 changed files with 69 additions and 745 deletions

View File

@ -84,17 +84,6 @@ Configurations:
'LLVM_INSTALL_DIR={{.Env.LLVM_INSTALL_DIR_msvc}}',
'Protobuf_ROOT={{.Env.Protobuf_ROOT_msvc}}',
]
-
Id: 'windows-11_22h2-arm64-msvc2022'
Template: 'qtci-windows-11_22H2-aarch64-51'
Compiler: 'MSVC2022'
Features: ['Packaging', 'DebugAndRelease', 'UseConfigure', 'InsignificantTests']
Configure arguments: '-debug-and-release -force-debug-info -headersclean -nomake examples -qt-zlib -c++std c++20 -no-sql-psql -no-opengl'
Environment variables: [
'CMAKE_ARGS=-DFEATURE_msvc_obj_debug_info=ON -DOPENSSL_ROOT_DIR={{.Env.OPENSSL_INCLUDE_arm64}}\..',
'NON_QTBASE_CMAKE_ARGS=-DFEATURE_native_grpc=OFF -DFEATURE_clangcpp=OFF -DFEATURE_qdoc=OFF',
'Protobuf_ROOT={{.Env.Protobuf_ROOT_msvc}}',
]
-
Id: 'windows-10_22h2-msvc2019-developer-build'
Template: 'qtci-windows-10_22H2-x86_64-52'

View File

@ -1,64 +0,0 @@
# Follow manual pre-setup from intra to install Windows 11 ARM and virtio drivers:
# "How to create a Windows 11 ARM tier1 image using Qemu"
# Configure Windows after pre-setup
* Enable Remote Desktop:
- Settings - System - Remote Desktop - On
* Resolution set to 1280x800
- Unfortunately not possible, only 1280x1024 is available
* Coin-setup:
- Installing Boostrap agent
- Disabling fast boot
- Disabling firewall
- Disabling UAC
- Enabling autologin
- Automatic login
- Disabling windows updates
* Turn off Windows defender:
- Microsoft Defender Antivirus turned off: Open 'gpedit.msc': 'Computer Configuration' - 'Administrative Templates' - 'Windows Components' - 'Microsoft Defender Antivirus'
- Edit 'Turn off Microsoft Defender Antivirus' > 'Enabled' > 'Apply'
- Reboot on Safe mode:
- Open msconfig - Boot tab - enable “Safe boot“ - apply - restart
- In Safe mode:
- Take Ownership of Defender:
- Open properties - Right click "C:\Program Files\Windows Defender\Platform" and select 'Properties'
- Open Security tab - Advanced - Owner: Change - Advanced - Find now - Select Administrators - Ok - Ok
- Remove all Permissions: Permissions tab - Select 'Disable inheritance' - Remove all entries -Select 'Replace all child object permi…' - Apply
- Disable Windows defender also from RegEdit:
- Open regedit - Navigate to 'HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services'
- Change the following folders the key Start to 4
- Sense (Windows defender advanced threat protection)
- WdBoot (Windows defender boot)
- WdFilter (Microsoft antimalware file system filter driver)
- WdNisDrv (Windows Defender Network Inspection Driver)
- WdNisSvc (Windows Defender Network Inspection Service)
- WinDefend (Windows Defender Antivirus Service)
- mpssvc (Windows Defender Firewall)
- NOTE! Without these step windows defender can't be disabled!
- Reboot back to normal mode
* Background defrag disabled: 'Defragment And Optimize Drives' - 'change settings' - unchecked "run on a schedule"
- Run in terminal: 'schtasks /Delete /TN "Microsoft\Windows\Defrag\ScheduledDefrag"'
* Time:
- Settings - System - Date & time - Time zone: 'Co-ordinated Universal Time'
- Settings - System - Date & time - "Set the time automatically: Off"
* Regional format:
- Settings - Time & language - Language and region - regional format - English (United States)
* Power saver:
- Settings - System - Power - Screen and sleep: set 'When plugged in, turn off my screen after' to 'never'
* Windows search disabled:
- 'C:\ProgramData\Microsoft\Windows\Start Menu\Programs\Administrative Tools\Services' - 'Windows search' - stop & disable
* Sysmain disabled:
- 'C:\ProgramData\Microsoft\Windows\Start Menu\Programs\Administrative Tools\Services' - 'SysMain' - stop & disable
* Windows update:
- Settings - Windows Update - run available updates (Windows update2023-09 Cumulative Update for Windows 11 Version 22H2 for arm64-based Systems (KB5030219))
- After reboot disable windows updates:
- 'C:\ProgramData\Microsoft\Windows\Start Menu\Programs\Administrative Tools\Services' - 'Windows updates' - stop & disable
* Turn windows features on or off -> Check the "SMB 1.0/CIFS File Sharing Support"
* (Restart Windows)
* Google Chrome installed for RTA
* Virus & threat protection settings:
* Check that there's no active antivirus providers
* Activate Windows
# Next
Proceed to install pre-provisioning scripts manually to Tier1 image

View File

@ -1,8 +0,0 @@
# This script will disable automatic disk cleanup
. "$PSScriptRoot\..\..\provisioning\common\windows\helpers.ps1"
Run-Executable "reg.exe" "ADD `"HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\StorageSense\Parameters\StoragePolicy`" /V 04 /T REG_dWORD /D 0 /F"
# Maintenance task used by the system to launch a silent auto disk cleanup when running low on free disk space.
DisableSchedulerTask "DiskCleanup\SilentCleanup"

View File

@ -1,42 +0,0 @@
# Copyright (C) 2019 The Qt Company Ltd.
# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
# Windows 7 does not have Get-ScheduledTask and Unregister-ScheduledTask
# thus needing its own version.
Write-Host "Disabling defragmentation"
$version = Get-CimInstance Win32_OperatingSystem | Select-Object -ExpandProperty Caption
if ($version -like '*Windows 7*'){
$pi = New-Object System.Diagnostics.ProcessStartInfo
$pi.FileName = "C:\Windows\System32\schtasks.exe"
$pi.RedirectStandardError = $true
$pi.UseShellExecute = $false
$pi.Arguments = "/Delete /TN `"\Microsoft\Windows\Defrag\ScheduledDefrag`" /F"
$prog = New-Object System.Diagnostics.Process
$prog.StartInfo = $pi
$prog.Start() | Out-Null
$err = $prog.StandardError.ReadToEnd()
$prog.WaitForExit()
if ($prog.ExitCode -eq 0){
Write-Host "Scheduled defragmentation removed"
} else {
if ($err -like '*cannot find the file*'){
Write-Host "No scheduled defragmentation task found"
exit 0
} else {
Write-Host "Error while deleting scheduled defragmentation task: $err"
}
}
}
else {
try {
$state = (Get-ScheduledTask -ErrorAction Stop -TaskName "ScheduledDefrag").State
Write-Host "Scheduled defragmentation task found in state: $state"
}
catch {
Write-Host "No scheduled defragmentation task found"
exit 0
}
Write-Host "Unregistering scheduled defragmentation task"
Unregister-ScheduledTask -ErrorAction Stop -Confirm:$false -TaskName ScheduledDefrag
Write-Host "Scheduled Defragmentation task was cancelled"
}

View File

@ -1,4 +0,0 @@
. "$PSScriptRoot\..\..\provisioning\common\windows\helpers.ps1"
# Disable the NTP from syncing
Run-Executable "w32tm.exe" "/config /syncfromflags:NO"

View File

@ -1,72 +0,0 @@
. "$PSScriptRoot\..\..\provisioning\common\windows\helpers.ps1"
# This script will remove unneeded Tasks from Task Scheduler
# Application Experience 'Microsoft Compatibility Appraiser' - "Collects program telemetry information if opted-in to the Microsoft Customer Experience Improvement Program."
DisableSchedulerTask "Application Experience\Microsoft Compatibility Appraiser"
# Application Experience 'ProgramDataUpdater' - "Collects program telemetry information if opted-in to the Microsoft Customer Experience Improvement Program"
DisableSchedulerTask "Application Experience\ProgramDataUpdater"
# Autochk 'Proxy' - "This task collects and uploads autochk SQM data if opted-in to the Microsoft Customer Experience Improvement Program."
DisableSchedulerTask "Autochk\Proxy"
# Chkdsk 'ProactiveScan' - "NTFS Volume Health Scan"
DisableSchedulerTask "Chkdsk\ProactiveScan"
# Chkdsk 'SyspartRepair'
DeleteSchedulerTask "Chkdsk\SyspartRepair"
# Customer Experience Improvement Program 'Consolidator' - "If the user has consented to participate in the Windows Customer Experience Improvement Program, this job collects and sends usage data to Microsoft."
DisableSchedulerTask "Customer Experience Improvement Program\Consolidator"
# Customer Experience Improvement Program 'sbCeip' - "The USB CEIP (Customer Experience Improvement Program) task collects Universal Serial Bus related statistics and information about your machine and sends it to the Windows Device Connectivity engineering group at Microsoft. The information received is used to help improve the reliability, stability, and overall functionality of USB in Windows. If the user has not consented to participate in Windows CEIP, this task does not do anything."
DisableSchedulerTask "Customer Experience Improvement Program\UsbCeip"
# Device Information 'Device'
DisableSchedulerTask "Device Information\Device"
# Diagnosis 'Scheduled' - "The Windows Scheduled Maintenance Task performs periodic maintenance of the computer system by fixing problems automatically or reporting them through Security and Maintenance."
DisableSchedulerTask "Diagnosis\Scheduled"
# DiskDiagnostic 'Microsoft-Windows-DiskDiagnosticDataCollector' - "The Windows Disk Diagnostic reports general disk and system information to Microsoft for users participating in the Customer Experience Program."
DisableSchedulerTask "DiskDiagnostic\Microsoft-Windows-DiskDiagnosticDataCollector"
# ExploitGuard 'ExploitGuard MDM policy Refresh' - "Task for applying changes to the machine's Exploit Protection settings."
DisableSchedulerTask "ExploitGuard\ExploitGuard MDM policy Refresh"
# Feedback/Siuf 'DmClient'
DisableSchedulerTask "Feedback\Siuf\DmClient"
# Feedback/Siuf 'DmClient'OnScenarioDownload'
DisableSchedulerTask "Feedback\Siuf\DmClientOnScenarioDownload"
# File Classification Infrastructure 'Property Definition Sync'
DisableSchedulerTask "File Classification Infrastructure\Property Definition Sync"
# InstallService 'ScanForUpdates'
DisableSchedulerTask "InstallService\ScanForUpdates"
# InstallService 'ScanForUpdatesAsUser'
DisableSchedulerTask "InstallService\ScanForUpdatesAsUser"
# LanguageComponentsInstaller 'Installation' - "Install language components that match the user's language list."
DisableSchedulerTask "LanguageComponentsInstaller\Installation"
# LanguageComponentsInstaller 'ReconcileLanguageResources' - "Install language components that match the user's language list."
DisableSchedulerTask "LanguageComponentsInstaller\ReconcileLanguageResources"
# PI 'Secure-Boot-Update' - "This task updates the Secure Boot variables."
DisableSchedulerTask "PI\Secure-Boot-Update"
# PI 'Sqm-Tasks' - "This task gathers information about the Trusted Platform Module (TPM), Secure Boot, and Measured Boot."
DisableSchedulerTask "PI\Sqm-Tasks"
# Power Efficiency Diagnotics 'AnalyzeSystem' - "This task analyzes the system looking for conditions that may cause high energy use."
DisableSchedulerTask "PushToInstall\Registration"
# Servicing 'StartComponentCleanup'
DisableSchedulerTask "Servicing\StartComponentCleanup"
# SoftwareProtectionPlatform 'SvcRestartTaskNetwork' - "This task restarts the Software Protection Platform service when a new network is detected"
DisableSchedulerTask "SoftwareProtectionPlatform\SvcRestartTaskNetwork"

View File

@ -1,13 +0,0 @@
# Disable UpdateOrchestrator
$name = "UpdateOrchestrator"
$path = "C:\Windows\System32\Tasks\Microsoft\Windows\$name"
takeown /F $path /A /R
icacls $path /grant Administrators:F /T
del "$path\Schedule Scan"
del "$path\Schedule Scan Static Task"
del "$path\USO_UxBroker"
# Disable Update orchestrator service
reg.exe ADD "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\UsoSvc" /V Start /T REG_dWORD /D 4 /F

View File

@ -1,21 +0,0 @@
# Copyright (C) 2020 The Qt Company Ltd.
# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
# Turning off win defender.
#
# If disabled manually, windows will automatically enable it after
# some period of time. Disabling it speeds up the builds.
# NOTE! Windows Defender Antivirus needs to be turned off!
# Open 'gpedit.msc': 'Computer Configuration' - 'Administrative Templates' - 'Windows Components' - 'Windows Defender Antivirus'
# Edit 'Turn off Windows Defender Antivirus' > 'Enabled' > 'Apply'
. "$PSScriptRoot\..\..\provisioning\common\windows\helpers.ps1"
Run-Executable "reg.exe" "ADD `"HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows Defender`" /V DisableAntiSpyware /T REG_dWORD /D 1 /F"
Run-Executable "reg.exe" "ADD `"HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows Defender`" /V DisableRoutinelyTakingAction /T REG_dWORD /D 1 /F"
# Disable 'QueueReporting' - "Windows Error Reporting task to process queued reports."
DisableSchedulerTask "Windows Error Reporting\QueueReporting"
# Disable WindowsUpdate from Task Scheduler
DisableSchedulerTask "WindowsUpdate\Scheduled Start"

View File

@ -1,4 +0,0 @@
# Disable Windows File Protection
# Windows File Protection feature in Microsoft Windows prevents programs from replacing critical Windows system files.
reg.exe ADD "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon" /V SFCDisable /T REG_dWORD /D 0xffffff9d /F

View File

@ -1,25 +0,0 @@
# Windows Update Medic Service (WaaSMedicSvc)'PerformRemediation' helps recover update-related services to the supported configuration.
# WaasMedicSvc keeps re-starting Windows Update, even if it disabled manually.
# Even Admin user don't have privileged to disable PerformRemediation from Task Scheduler which means that WaaSMedicSvc.dll need's to be removed from the system
$limit = (Get-Date).AddMinutes(20)
$path = "C:\Windows\System32\WaaSMedicSvc.dll"
DO {
takeown /F $path
icacls $path /grant Administrators:f
Write-host "Deleting $path"
Try {
del $path
}
Catch [System.UnauthorizedAccessException] {
Write-host "Access to the path '$path' is denied."
Continue
}
if ((Get-Date) -gt $limit) {
exit 1
}
}while (Test-Path -Path "$path")

View File

@ -1,24 +0,0 @@
# Copyright (C) 2017 The Qt Company Ltd.
# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
# This script disables the automatic Windows updates
$service = get-service wuauserv
if (-not $service) {
Write-Host "Windows Update service not found."
exit 0
}
if ($service.Status -eq "Stopped") {
Write-Host "Windows Update service already stopped."
} else {
Write-Host "Stopping Windows Update service."
Stop-Service -Name "wuauserv" -Force
}
$startup = Get-WmiObject Win32_Service | Where-Object {$_.Name -eq "wuauserv"} | Select -ExpandProperty "StartMode"
if ($startup -ne "Disabled") {
set-service wuauserv -startup disabled
} else {
Write-Host "Windows Update service startup already disabled."
}

View File

@ -1,74 +0,0 @@
### Visual Studio Professional 2022 Official release ###
Visual Studio Professional 2022 version 17.3.5 was installed manually using installer: http://ci-files01-hki.ci.qt.io/input/windows/vs_professional__msvc2022_1339502178.1525841376.exe
Visual Studio Professional 2022 was updated to 17.8.2 vith Visual Studio Installer
Installed MSVC-2022 Components:
.NET Framework 4.6.1 SDK
.NET Framework 4.6.1 targeting pack
.NET Framework 4.6.2 SDK
.NET Framework 4.6.2 targeting pack
.NET Framework 4.8 SDK
.NET Framework 4.8 targeting pack
.NET Native
.NET Portable Library targeting pack
CLR data typer for SQL Sever
Connectivity and publishing tools
Data sources for SQL Server support
SQL Server Command Linne Utilities
SQL Server Data Tools
SQL Server Express 2019 LocalDB
SQL Server ODBC Driver
ClickOnce Publishing
Developer Analytics tools
NuGet package manager
Text Template Transformation
C# and Visual Basic Roslyn compilers
C++ 2022 Redistributable Update
C++ Cmake tools for Windows
C++/CLI support for v143 build tools (14.30-17.0)
C++/CLI support for v143 build tools (Latest)
MSBuild
MSVC v143 - VS 2022 C++ ARM build tools (Latest)
MSVC v143 - VS 2022 C++ ARM build tools (v14.30-17.0)
MSVC v143 - VS 2022 C++ ARM64 build tools (Latest)
MSVC v143 - VS 2022 C++ ARM64 build tools (v14.30-17.0)
MSVC v143 - VS 2022 C++ ARM64/ARM64EC build tools (Latest)
.NET profiling tools
C++ profiling tools
JavaScript diagnostics
Just-In-Time debugger
C# and Visual Basic
C++ core features
JavaSript and TypeScript language support
Razor Language Services
Graphics debugger and GPU profiler for DirectX
Image and 3D model editors
C++ ATL for latest v143 build tools (ARM)
C++ ATL for latest v143 build tools (ARM64)
TypeScript 4.7 SDK
TypeScript Server
Windows 10 SDK (10.0.18362.0)
Windows 10 SDK (10.0.19041.0)
Windows 10 SDK (10.0.20348.0)
Windows 11 SDK (10.0.22000.0)
Windows 11 SDK (10.0.22621.0)
Windows Universal C Runtime
# NOTE! Work loads were added during installation!
############################################################
### Visual Studio 2022 build tools ###
Visual studio 2022 build tools version 17.3.5 was installed manually using installer: "http://ci-files01-hki.ci.qt.io/input/windows/vs_BuildTools_msvc2022.exe"
* Only default installation, no additional selections
Visual Studio 2022 build tools were updated to 17.6.4 vith Visual Studio Installer
* Some of the installed framework versions are out of support and do not get any security updates
############################################################
### Debugging tools ###
* Check that debugging tools are installed
* Modify 'Windows Software Development Kit - Windows 10.0.18362.1' from 'Add or remove programs'
- Add feature 'Debugging Tools for Windows'
############################################################

View File

@ -6,40 +6,18 @@
$majorminorversion = "3.27"
$version = "3.27.7"
$cpu_arch = Get-CpuArchitecture
Write-Host "Installing CMake for architecture $cpu_arch"
switch ($cpu_arch) {
arm64 {
$arch = "arm64"
$sha1 = "52ee08671dcb478c5ec6e862f41717f65047c598"
$majorminorversion = "3.29"
$version = "3.29.2"
Break
}
x64 {
$arch = "i386"
$sha1 = "b6147215a5f9cd1138b012265229fbf2224d02c6"
}
default {
throw "Unknown architecture $cpu_arch"
}
}
$filename = "cmake-" + $version + "-windows-" + $arch
$filename_zip = $filename + ".zip"
$zip = Get-DownloadLocation ($filename_zip)
$officialurl = "https://cmake.org/files/v" + $majorminorversion + "/" + $filename_zip
$cachedurl = "https://ci-files01-hki.ci.qt.io/input/cmake/" + $filename_zip
$zip = Get-DownloadLocation ("cmake-" + $version + "-windows-i386.zip")
$officialurl = "https://cmake.org/files/v" + $majorminorversion + "/cmake-" + $version + "-windows-i386.zip"
$cachedurl = "\\ci-files01-hki.ci.qt.io\provisioning\cmake\cmake-" + $version + "-windows-i386.zip"
Write-Host "Removing old cmake"
Remove "C:\CMake"
Download $officialurl $cachedurl $zip
Verify-Checksum $zip $sha1
Verify-Checksum $zip "b6147215a5f9cd1138b012265229fbf2224d02c6"
Extract-7Zip $zip C:
$defaultinstallfolder = "C:\" + $filename
$defaultinstallfolder = "C:\cmake-" + $version + "-windows-i386"
Rename-Item $defaultinstallfolder C:\CMake
Add-Path "C:\CMake\bin"

View File

@ -1,6 +1,4 @@
. "$PSScriptRoot\helpers.ps1"
# Disable Windows Module Installer (Trusted Installer).
# Trusted Installe enables installation, modification, and removal of Windows updates and optional components.
# If this service is disabled, install or uninstall of Windows updates might fail for this computer.
Run-Executable "sc.exe" "config TrustedInstaller start=disabled"
sc.exe config TrustedInstaller start=disabled

View File

@ -2,29 +2,8 @@
# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
. "$PSScriptRoot\helpers.ps1"
function ngen() {
Param (
[ValidateSet("Framework","Framework64","FrameworkArm64")][string]$framework
)
Start-Process -NoNewWindow -FilePath "C:\WINDOWS\Microsoft.NET\$framework\v4.0.30319\ngen.exe" -ArgumentList ExecuteQueuedItems -Wait
}
Start-Process -NoNewWindow -FilePath "C:\WINDOWS\Microsoft.NET\Framework\v4.0.30319\ngen.exe" -ArgumentList ExecuteQueuedItems -Wait
$cpu_arch = Get-CpuArchitecture
switch ($cpu_arch) {
arm64 {
ngen("FrameworkArm64")
Break
}
x64 {
ngen("Framework")
ngen("Framework64")
Break
}
x86 {
ngen("Framework")
Break
}
default {
throw "Unknown architecture $cpu_arch"
}
if( (is64bitWinHost) -eq 1 ) {
Start-Process -NoNewWindow -FilePath "C:\WINDOWS\Microsoft.NET\Framework64\v4.0.30319\ngen.exe" -ArgumentList ExecuteQueuedItems -Wait
}

View File

@ -25,6 +25,7 @@ Remove $download_location
$config = Get-Content "$PSScriptRoot\..\shared\ffmpeg_config_options.txt"
Write-Host "FFmpeg configuration $config"
function InstallFfmpeg {
Param (
[string]$buildSystem,

View File

@ -5,33 +5,16 @@
# This script will install Notepad++
$version = "8.6.5"
$cpu_arch = Get-CpuArchitecture
switch ($cpu_arch) {
arm64 {
$arch = ".arm64"
$sha1 = "eecb8a6b6ed3cb1e467d227b8b7751283c35434e"
Break
}
x64 {
$arch = ".x64"
$sha1 = "a0bf3fb15015bc1fbcb819d9a9c61f4762f4a10f"
Break
}
x86 {
$arch = ""
$sha1 = "ba940c6b526da1ce127f43b835b4d8c9d5c4b59c"
Break
}
default {
throw "Unknown architecture $cpu_arch"
}
$version = "7.3"
if (Is64BitWinHost) {
$arch = ".x64"
$sha1 = "E7306DF1D6E81801FB4BE0868610DB70E979B0AA"
} else {
$arch = ""
$sha1 = "d4c403675a21cc381f640b92e596bae3ef958dc6"
}
$filename_exe = "npp." + $version + ".Installer" + $arch + ".exe"
$url_cache = "https://ci-files01-hki.ci.qt.io/input/windows/" + $filename_exe
$url_official = "https://github.com/notepad-plus-plus/notepad-plus-plus/releases/download/v" + $version + "/" + $filename_exe
$url_cache = "\\ci-files01-hki.ci.qt.io\provisioning\windows\npp." + $version + ".Installer" + $arch + ".exe"
$url_official = "https://notepad-plus-plus.org/repository/7.x/" + $version + "/npp." + $version + ".Installer" + $arch + ".exe"
$nppPackage = "C:\Windows\Temp\npp-$version.exe"
Download $url_official $url_cache $nppPackage

View File

@ -7,31 +7,19 @@
$version = "v9.2.2.0p1-Beta"
$temp = "$env:tmp"
$cpu_arch = Get-CpuArchitecture
switch ($cpu_arch) {
arm64 {
$zipPackage = "OpenSSH-ARM64"
$sha1 = "ca3e8f44a550b7ae71c8e122acd4ed905d66feb0"
Break
}
x64 {
$zipPackage = "OpenSSH-Win64"
$sha1 = "1397d40d789ae0911b3cc818b9dcd9321fed529b"
Break
}
x86 {
$zipPackage = "OpenSSH-Win32"
$sha1 = "4642C62F72C108C411E27CE282A863791B63329B"
Break
}
default {
throw "Unknown architecture $cpu_arch"
}
if (Is64BitWinHost) {
$zipPackage = "OpenSSH-Win64"
$url_cache = "http://ci-files01-hki.ci.qt.io/input/windows/" + $zipPackage + ".zip"
$url_official = "https://github.com/PowerShell/Win32-OpenSSH/releases/download/" + $version + "/" + $zipPackage
$sha1 = "D3EA57408C0D3CF83167DF39639FED5397358B79"
} else {
$zipPackage = "OpenSSH-Win32"
$url_cache = "http://ci-files01-hki.ci.qt.io/input/windows/openssh/" + $version + "/" + $zipPackage + ".zip"
$url_official = "https://github.com/PowerShell/Win32-OpenSSH/releases/download/" + $version + "/" + $zipPackage
$sha1 = "4642C62F72C108C411E27CE282A863791B63329B"
}
Write-Host "Fetching $zipPackage $version..."
$url_cache = "http://ci-files01-hki.ci.qt.io/input/windows/openssh/" + $version + "/" + $zipPackage + ".zip"
$url_official = "https://github.com/PowerShell/Win32-OpenSSH/releases/download/" + $version + "/" + $zipPackage + ".zip"
Download $url_official $url_cache "$temp\$zipPackage"
Verify-Checksum "$temp\$zipPackage" $sha1

View File

@ -8,26 +8,12 @@
$version = "23.01"
$nonDottedVersion = "2301"
$cpu_arch = Get-CpuArchitecture
switch ($cpu_arch) {
arm64 {
$arch = "-arm64"
$sha1 = "be65c2ea6119c04945c66b13413892f2bb03d9a7"
Break
}
x64 {
$arch = "-x64"
$sha1 = "7DF28D340D7084647921CC25A8C2068BB192BDBB"
Break
}
x86 {
$arch = ""
$sha1 = "D5D00E6EA8B8E68CE7A704FD478DC950E543C25C"
Break
}
default {
throw "Unknown architecture $cpu_arch"
}
if (Is64BitWinHost) {
$arch = "-x64"
$sha1 = "7DF28D340D7084647921CC25A8C2068BB192BDBB"
} else {
$arch = ""
$sha1 = "D5D00E6EA8B8E68CE7A704FD478DC950E543C25C"
}
$url_cache = "https://ci-files01-hki.ci.qt.io/input/windows/7z" + $nonDottedVersion + $arch + ".exe"

View File

@ -7,53 +7,28 @@
# Install a specific version of Telegraf
# https://github.com/influxdata/telegraf/releases
$version = "1.12.6" # TODO: ARM is not supported in this version
$has_telegraf_ver = $false
$version = "1.12.6"
$cpu_arch = Get-CpuArchitecture
switch ($cpu_arch) {
arm64 {
$arch = "arm64"
$sha256 = "5925642aad9a35886b172050203287cf33078313f543021781885ed94d9cbcff"
$version = "1.29.4" # TODO: ARM needs this, update this to all
$has_telegraf_ver = $true
Break
}
x64 {
$arch = "amd64"
$sha256 = "5d025d85070e8c180c443580afa8a27421a7bbcf14b5044894e9f3298d0ce97a"
Break
}
x86 {
$arch = "i386"
$sha256 = "5178a0bdaab448c2ef965b0e36f835849cea731ccd87c4a4527f0f05fbbdf271"
Break
}
default {
throw "Unknown architecture $cpu_arch"
}
if (Is64BitWinHost) {
$arch = "amd64"
$sha256 = "5d025d85070e8c180c443580afa8a27421a7bbcf14b5044894e9f3298d0ce97a"
} else {
$arch = "i386"
$sha256 = "5178a0bdaab448c2ef965b0e36f835849cea731ccd87c4a4527f0f05fbbdf271"
}
$telegraf_ver = "telegraf-" + $version
$filename_zip = $telegraf_ver + "_windows_" + $arch + ".zip"
$filename = "telegraf-" + $version + "_windows_" + $arch + ".zip"
$url_cache = "http://ci-files01-hki.ci.qt.io/input/telegraf/" + $filename_zip
$url_official = "https://dl.influxdata.com/telegraf/releases/" + $filename_zip
$tempfile = "C:\Windows\Temp\" + $filename_zip
$url_cache = "http://ci-files01-hki.ci.qt.io/input/telegraf/" + $filename
$url_official = "https://dl.influxdata.com/telegraf/releases/" + $filename
$tempfile = "C:\Windows\Temp\" + $filename
Write-Host "Fetching Telegraf $version..."
Download $url_official $url_cache $tempfile
Verify-Checksum $tempfile $sha256 sha256
Write-Host "Installing telegraf.exe under C:\Utils\telegraf"
if ($has_telegraf_ver -eq $true) {
Extract-7Zip $tempfile C:\Utils
Rename-Item "C:\Utils\$telegraf_ver" "C:\Utils\telegraf"
} else {
Extract-7Zip $tempfile C:\Utils "telegraf"
}
Extract-7Zip $tempfile C:\Utils "telegraf"
Copy-Item "$PSScriptRoot\..\..\common\windows\telegraf-coin.conf" C:\telegraf-coin.conf
. "$PSScriptRoot\telegraf_password.ps1"

View File

@ -1,43 +1,17 @@
. "$PSScriptRoot\helpers.ps1"
$cpu_arch = Get-CpuArchitecture
switch ($cpu_arch) {
arm64 {
$arch = "arm64"
$version = "1.12.0"
$longPathFixed = $true # fixed https://github.com/ninja-build/ninja/pull/2225 in 1.12.0
$zip = Get-DownloadLocation "ninja-$version-win-$arch.zip"
$internalUrl = "https://ci-files01-hki.ci.qt.io/input/ninja/v$version/ninja-win$arch.zip"
$externalUrl = "https://github.com/ninja-build/ninja/releases/download/v$version/ninja-win$arch.zip"
$sha1 = "51bf1bac149ae1e3d1572fa9fa87d6431dbddc8b"
Break
}
x64 {
$arch = "amd64"
$version = "1.10.2"
$longPathFixed = $false
$zip = Get-DownloadLocation "ninja-$version-win-x86.zip"
# TODO: Fix this QTQAINFRA-6296
$internalUrl = "http://master.qt.io/development_releases/prebuilt/ninja/v$version/ninja-win-x86.zip"
$externalUrl = "\\ci-files01-hki.ci.qt.io\provisioning\ninja\ninja-$version-win-really-x86.zip"
$sha1 = "1a22ee9269df8ed69c4600d7ee4ccd8841bb99ca"
Break
}
default {
throw "Unknown architecture $cpu_arch"
}
}
$zip = Get-DownloadLocation "ninja-1.10.2-win-x86.zip"
Download http://master.qt.io/development_releases/prebuilt/ninja/v1.10.2/ninja-win-x86.zip \\ci-files01-hki.ci.qt.io\provisioning\ninja\ninja-1.10.2-win-really-x86.zip $zip
Verify-Checksum $zip "1a22ee9269df8ed69c4600d7ee4ccd8841bb99ca"
Download $internalUrl $externalUrl $zip
Verify-Checksum $zip $sha1
Extract-7Zip $zip C:\Utils\Ninja
Remove "$zip"
Add-Path "C:\Utils\Ninja"
Write-Output "Ninja ($arch) = $version" >> ~/versions.txt
Write-Output "Ninja = 1.10.2" >> ~/versions.txt
if ( -Not $longPathFixed ) {
$manifest = @"
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
@ -59,5 +33,3 @@ Invoke-MtCommand "C:\Program Files (x86)\Microsoft Visual Studio\2019\Profession
} else {
Invoke-MtCommand "C:\Program Files (x86)\Microsoft Visual Studio\2022\Professional\VC\Auxiliary\Build\vcvarsall.bat" amd64 $manifest "C:\Utils\Ninja\ninja.exe"
}
}

View File

@ -7,27 +7,12 @@
# Needed by QtWebengine
$version = "20.7.0"
$cpu_arch = Get-CpuArchitecture
switch ($cpu_arch) {
arm64 {
$arch = "arm64"
$sha256 = "ab4b990c2c1d4a55d565813e7a2f71669dc4d1005faa47185d30bde4416975ab"
$version = "20.12.2" # TODO: ARM starts with newer, LTS
Break
}
x64 {
$arch = "x64"
$sha256 = "b3e5cbf8e247c75f9ddd235d49cfe40f25dde65bdd0eec4cefbca2805d80376b"
Break
}
x86 {
$arch = "x86"
$sha256 = "d6a3c63a5ae71374c144a33c418ab96be497b08df0e9f51861a78127db03aeb5"
Break
}
default {
throw "Unknown architecture $cpu_arch"
}
if (Is64BitWinHost) {
$arch = "x64"
$sha256 = "b3e5cbf8e247c75f9ddd235d49cfe40f25dde65bdd0eec4cefbca2805d80376b"
} else {
$arch = "x86"
$sha256 = "d6a3c63a5ae71374c144a33c418ab96be497b08df0e9f51861a78127db03aeb5"
}
$package = "C:\Windows\temp\nodejs-$version.7z"

View File

@ -35,29 +35,10 @@ Verify-Checksum $zip_package $sha1
Extract-7Zip $zip_package C:\
Remove $zip_package
$cpu_arch = Get-CpuArchitecture
switch ($cpu_arch) {
arm64 {
# For native arm64
Set-EnvironmentVariable "OPENSSL_ROOT_DIR_arm64" "$installFolder"
Set-EnvironmentVariable "OPENSSL_CONF_arm64" "$installFolder\bin\openssl.cfg"
Set-EnvironmentVariable "OPENSSL_INCLUDE_arm64" "$installFolder\include"
Set-EnvironmentVariable "OPENSSL_LIB_arm64" "$installFolder\lib"
Break
}
x64 {
# For cross-compiling x64_arm64
Set-EnvironmentVariable "OPENSSL_ROOT_DIR_x64_arm64" "$installFolder"
Set-EnvironmentVariable "OPENSSL_CONF_x64_arm64" "$installFolder\bin\openssl.cfg"
Set-EnvironmentVariable "OPENSSL_INCLUDE_x64_arm64" "$installFolder\include"
Set-EnvironmentVariable "OPENSSL_LIB_x64_arm64" "$installFolder\lib"
}
default {
throw "Unknown architecture $cpu_arch"
}
}
Prepend-Path "$installFolder\bin"
Set-EnvironmentVariable "OPENSSL_ROOT_DIR_x64_arm64" "$installFolder"
Set-EnvironmentVariable "OPENSSL_CONF_x64_arm64" "$installFolder\bin\openssl.cfg"
Set-EnvironmentVariable "OPENSSL_INCLUDE_x64_arm64" "$installFolder\include"
Set-EnvironmentVariable "OPENSSL_LIB_x64_arm64" "$installFolder\lib"
# Store version information to ~/versions.txt, which is used to print version information to provision log.
Write-Output "OpenSSL ARM= $version" >> ~/versions.txt

View File

@ -16,26 +16,13 @@ param(
$package = "C:\Windows\temp\python-$version.exe"
# check bit version
$cpu_arch = Get-CpuArchitecture
Write-Host "Installing $cpu_arch Python"
switch ($cpu_arch) {
arm64 {
$externalUrl = "https://www.python.org/ftp/python/$version/python-$version-arm64.exe"
$internalUrl = "http://ci-files01-hki.ci.qt.io/input/windows/python-$version-arm64.exe"
Break
}
x64 {
if ($archVer -eq "64") {
$externalUrl = "https://www.python.org/ftp/python/$version/python-$version-amd64.exe"
$internalUrl = "http://ci-files01-hki.ci.qt.io/input/windows/python-$version-amd64.exe"
} else {
$externalUrl = "https://www.python.org/ftp/python/$version/python-$version.exe"
$internalUrl = "http://ci-files01-hki.ci.qt.io/input/windows/python-$version.exe"
}
}
default {
throw "Unknown architecture $cpu_arch"
}
if ( $archVer -eq 64 ) {
Write-Host "Installing 64 bit Python"
$externalUrl = "https://www.python.org/ftp/python/$version/python-$version-amd64.exe"
$internalUrl = "http://ci-files01-hki.ci.qt.io/input/windows/python-$version-amd64.exe"
} else {
$externalUrl = "https://www.python.org/ftp/python/$version/python-$version.exe"
$internalUrl = "http://ci-files01-hki.ci.qt.io/input/windows/python-$version.exe"
}
Write-Host "Fetching from URL..."

View File

@ -1 +0,0 @@
. "$PSScriptRoot\..\common\windows\disable-netadapterlso.ps1"

View File

@ -1 +0,0 @@
. "$PSScriptRoot\..\common\windows\install-sevenzip.ps1"

View File

@ -1 +0,0 @@
. "$PSScriptRoot\..\common\windows\allow-remote-desktop-access.ps1"

View File

@ -1,28 +0,0 @@
$x_value = "1280"
$y_value = "800"
Function ChangeResolution {
Param (
[string]$driver
)
$path = "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\GraphicsDrivers\Configuration"
reg.exe ADD "$path\$driver\00\" /V PrimSurfSize.cx /T REG_dWORD /D $x_value /F
reg.exe ADD "$path\$driver\00\" /V PrimSurfSize.cy /T REG_dWORD /D $y_value /F
reg.exe ADD "$path\$driver\00\00" /V DwmClipBox.bottom /T REG_dWORD /D $y_value /F
reg.exe ADD "$path\$driver\00\00" /V DwmClipBox.right /T REG_dWORD /D $x_value /F
reg.exe ADD "$path\$driver\00\00" /V PrimSurfSize.cx /T REG_dWORD /D $x_value /F
reg.exe ADD "$path\$driver\00\00" /V PrimSurfSize.cy /T REG_dWORD /D $y_value /F
reg.exe ADD "$path\$driver\00\00" /V ActiveSize.cy /T REG_dWORD /D $y_value /F
reg.exe ADD "$path\$driver\00\00" /V ActiveSize.cx /T REG_dWORD /D $x_value /F
}
Write-Host "Changing the resolution to ${x_value}x${y_value}"
ChangeResolution "MSBDD_NOEDID_1234_1111_00000000_00020000_0^E3701873EC28AFCFF631E725354CDC2D"
ChangeResolution "MSBDD_NOEDID_15AD_0405_00000000_000F0000_0^C13AE38966E73205F75BFACA84EB83A5"
ChangeResolution "MSBDD_RHT12340_2A_07DE_3A_1234_1111_00000000_00020000_0^EC6E4468E7627A114F1F86EA72F3C134"
ChangeResolution "MSBDD_RHT12340_2A_07DE_3D_1234_1111_00000000_00010000_0^4189234F4C5A30C0FE2E08AED7E5F516"
ChangeResolution "MSBDD_RHT12340_2A_07DE_3D_1234_1111_00000000_00020000_0^0E45B5CD7061674FC90A8064A6FE81F4"
ChangeResolution "MSNILNOEDID_1414_008D_FFFFFFFF_FFFFFFFF_0^030B4FCE00727AC1593E5B6FD18648D6"

View File

@ -1,9 +0,0 @@
# Windows 'Notifications & actions'
# Disable 'Get notifications from apps and other senders'
reg.exe ADD "HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\PushNotifications" /V ToastEnabled /T REG_dWORD /D 0 /F
# Disable 'Show me the Windows welcome experience after udpates and occasionally when I sign in to highlight what's new and suggested'
reg.exe ADD "HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\ContentDeliveryManager" /V SubscribedContent-310093Enabled /T REG_dWORD /D 0 /F
# Disable 'Get tips, tricks and suggestions as you use Windows'
reg.exe ADD "HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\ContentDeliveryManager" /V SubscribedContent-338389Enabled /T REG_dWORD /D 0 /F

View File

@ -1,4 +0,0 @@
# Disable RunTime Broker
# The RunTime Broker is a Windows system process, which helps to manage app permissions on your pc between Windows apps and ensures apps are behaving themselves.
# Coordinates execution of background work for WinRT application. If this service is stopped or disabled, then background work might not be triggered.
reg.exe ADD "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\TimeBrokerSvc" /V Start /T REG_dWORD /D 4 /F

View File

@ -1,7 +0,0 @@
# Disable Connected User Experiences and Telemetry service
# The Connected User Experiences and Telemetry service enables features that support in-application and connected user experiences.
# Additionally, this service manages the event driven collection and transmission of diagnostic and usage information
# (used to improve the experience and quality of the Windows Platform) when the diagnostics and usage privacy option settings are enabled under Feedback and Diagnostics.
reg.exe ADD "HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\Data Collection" /V AllowTelemetry /T REG_dWORD /D 0 /F
stop-service diagtrack
set-service diagtrack -startuptype disabled

View File

@ -1,2 +0,0 @@
# Allow SMB client guest logons to SMB server.
reg.exe ADD "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\LanmanWorkstation\Parameters" /V AllowInsecureGuestAuth /T REG_dWORD /D 1 /F

View File

@ -1 +0,0 @@
. "$PSScriptRoot\..\common\windows\install_telegraf.ps1"

View File

@ -1 +0,0 @@
. "$PSScriptRoot\..\common\windows\set-proxy.ps1"

View File

@ -1 +0,0 @@
. "$PSScriptRoot\..\common\windows\disable-autoreboot.ps1"

View File

@ -1 +0,0 @@
. "$PSScriptRoot\..\common\windows\disable-sleep.ps1"

View File

@ -1 +0,0 @@
. "$PSScriptRoot\..\common\windows\nodejs.ps1"

View File

@ -1 +0,0 @@
. "$PSScriptRoot\..\common\windows\win10-enable-devmode.ps1"

View File

@ -1 +0,0 @@
. "$PSScriptRoot\..\common\windows\wsearch-off.ps1"

View File

@ -1,2 +0,0 @@
. "$PSScriptRoot\..\common\windows\longpath.ps1"

View File

@ -1 +0,0 @@
. "$PSScriptRoot\..\common\windows\mesa_llvmpipe.ps1"

View File

@ -1 +0,0 @@
. "$PSScriptRoot\..\common\windows\ninja.ps1"

View File

@ -1 +0,0 @@
. "$PSScriptRoot\..\common\windows\install-git.ps1"

View File

@ -1,9 +0,0 @@
# Parameters:
# - Arch 32/64
# - installer sha1
# - install target dir
# - version
# - Optional true/false if set as default with PYTHON3/PIP3_PATH variables, default false
# Downloading https://www.python.org/ftp/python/3.12.3/python-3.12.3-arm64.exe
. "$PSScriptRoot\..\common\windows\python3.ps1" 64 "a7fe973fd406c0db2b982d83e9feb30f8fde704f" "C:\Python312_64" "3.12.3" $true

View File

@ -1 +0,0 @@
. "$PSScriptRoot\..\common\windows\install-openssh.ps1"

View File

@ -1 +0,0 @@
. "$PSScriptRoot\..\common\windows\install-sed.ps1"

View File

@ -1 +0,0 @@
. "$PSScriptRoot\..\common\windows\openssl-arm64.ps1"

View File

@ -1,4 +0,0 @@
# Windows ARM has own common script
# - "$PSScriptRoot\..\common\windows\openssl-arm64.ps1"
# - need to check should these be combined or excluded
#. "$PSScriptRoot\..\common\windows\openssl.ps1"

View File

@ -1 +0,0 @@
. "$PSScriptRoot\..\common\windows\set-network-test-server.ps1"

View File

@ -1 +0,0 @@
. "$PSScriptRoot\..\common\windows\vulkansdk.ps1"

View File

@ -1 +0,0 @@
. "$PSScriptRoot\..\common\windows\mqtt_broker.ps1"

View File

@ -1 +0,0 @@
. "$PSScriptRoot\..\common\windows\winrtrunner.ps1"

View File

@ -1,20 +0,0 @@
# Copyright (C) 2024 The Qt Company Ltd.
# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
. "$PSScriptRoot\..\common\windows\helpers.ps1"
# This script installs LLVM-Mingw by mstorsjo
# https://github.com/mstorsjo/llvm-mingw/releases/tag/20240320
$zip = Get-DownloadLocation "llvm-mingw-20240320-ucrt-aarch64.zip"
$url_cache = "http://ci-files01-hki.ci.qt.io/input/windows/llvm-mingw-20240320-ucrt-aarch64.zip"
$url_official = "https://github.com/mstorsjo/llvm-mingw/releases/download/20240320/llvm-mingw-20240320-ucrt-aarch64.zip"
Download $url_official $url_cache $zip
Verify-Checksum $zip "1ea4870551a6aaf0d51332be1ea10ce776ee3b42"
Extract-7Zip $zip C:\
Rename-Item C:\llvm-mingw-20240320-ucrt-aarch64 C:\llvm-mingw
Write-Output "llvm-mingw = 18.1.2" >> ~/versions.txt
Remove-Item -Path $zip

View File

@ -1,3 +0,0 @@
. "$PSScriptRoot\..\common\windows\libusb.ps1"

View File

@ -1 +0,0 @@
. "$PSScriptRoot\..\common\windows\install-breakpad.ps1"

View File

@ -1,2 +0,0 @@
. "$PSScriptRoot\..\common\windows\install-gnuwin32.ps1"

View File

@ -1 +0,0 @@
. "$PSScriptRoot\..\common\windows\jom.ps1"

View File

@ -1 +0,0 @@
. "$PSScriptRoot\..\common\windows\cmake.ps1"

View File

@ -1 +0,0 @@
. "$PSScriptRoot\..\common\windows\disable-quickedit.ps1"

View File

@ -1 +0,0 @@
. "$PSScriptRoot\..\common\windows\3dstudio_3rdparty.ps1"

View File

@ -1 +0,0 @@
. "$PSScriptRoot\..\common\windows\install-notepad++.ps1"

View File

@ -1 +0,0 @@
. "$PSScriptRoot\..\common\windows\install-stm32cubeprogrammer.ps1"

View File

@ -1 +0,0 @@
. "$PSScriptRoot\..\common\windows\libusb.ps1"

View File

@ -1,5 +0,0 @@
. "$PSScriptRoot\..\common\windows\helpers.ps1"
# Needed by packaging scripts
$scriptsPath = [System.Environment]::GetEnvironmentVariable('PIP3_PATH', [System.EnvironmentVariableTarget]::Machine)
Run-Executable "$scriptsPath\pip3.exe" "install bs4"

View File

@ -1 +0,0 @@
. "$PSScriptRoot\..\common\windows\disable-windows-module-installer.ps1"

View File

@ -1 +0,0 @@
. "$PSScriptRoot\..\common\windows\unset-proxy.ps1"

View File

@ -1 +0,0 @@
. "$PSScriptRoot\..\common\windows\share-test-folders.ps1"

View File

@ -1 +0,0 @@
. "$PSScriptRoot\..\common\windows\version.ps1"