mirror of
https://github.com/microsoft/vcpkg.git
synced 2024-12-06 02:16:01 +08:00
43 lines
1.6 KiB
PowerShell
43 lines
1.6 KiB
PowerShell
# Copyright (c) Microsoft Corporation.
|
|
# SPDX-License-Identifier: MIT
|
|
#
|
|
<#
|
|
.SYNOPSIS
|
|
Sets up the environment to run other vcpkg CI steps in an Azure Pipelines job.
|
|
|
|
.DESCRIPTION
|
|
This script maps network drives from infrastructure and cleans out anything that
|
|
might have been leftover from a previous run.
|
|
#>
|
|
|
|
if ([string]::IsNullOrWhiteSpace($env:StorageAccountName) -or [string]::IsNullOrWhiteSpace($env:StorageAccountKey)) {
|
|
Write-Host 'No storage account and/or key set, skipping mount of W:\'
|
|
} else {
|
|
$StorageAccountName = $env:StorageAccountName
|
|
$StorageAccountKey = $env:StorageAccountKey
|
|
|
|
Write-Host 'Setting up archives mount'
|
|
if (-Not (Test-Path W:)) {
|
|
net use W: "\\$StorageAccountName.file.core.windows.net\archives" /u:"AZURE\$StorageAccountName" $StorageAccountKey
|
|
}
|
|
}
|
|
|
|
Write-Host 'Creating downloads directory'
|
|
mkdir D:\downloads -ErrorAction SilentlyContinue
|
|
|
|
# Delete entries in the downloads folder, except:
|
|
# those in the 'tools' folder
|
|
# those last accessed in the last 30 days
|
|
Get-ChildItem -Path D:\downloads -Exclude "tools" `
|
|
| Where-Object{ $_.LastAccessTime -lt (get-Date).AddDays(-30) } `
|
|
| ForEach-Object{Remove-Item -Path $_ -Recurse -Force}
|
|
|
|
# Msys sometimes leaves a database lock file laying around, especially if there was a failed job
|
|
# which causes unrelated failures in jobs that run later on the machine.
|
|
# work around this by just removing the vcpkg installed msys2 if it exists
|
|
if( Test-Path D:\downloads\tools\msys2 )
|
|
{
|
|
Write-Host "removing previously installed msys2"
|
|
Remove-Item D:\downloads\tools\msys2 -Recurse -Force
|
|
}
|