a47751ebe8
* added cmake parameters for sccache * added sccache * removed stray debug output * starting sccache with VS environment * added container for Visual Studio 2019 * fixed comments * considering WIndows version * updated to vs2019 * using MS install method * snapshot of VS2019 experiments * using --installRecommended * cleanup of dockerfile * updated path * fixed dockerfile * dumped version number * exclude for virus scan * added testing option this does not start the agent * write results on failures * added timeouts for pipelines * moving master pipelines to python scripts * added flang to automatic project selection based on #159, this will enable flang for beta testers * added persistent workspace for testing containers * added secure delete function * added better log message * deleting read-only files * checking existence before setting flags * using unlink * deleting recursively * using pathlib for chmod * using custom workspace * fixed drive * separate handling of single files * simplified read-only handling again * removed vsdevcmd calls as it's already set in the docker Entrypoint * renamed container folders * windows version not needed any more * bumped version number * bumped version number * script cleanup * added cmake parameters for sccache * added sccache * starting sccache with VS environment * added container for Visual Studio 2019 * fixed comments * considering WIndows version * updated to vs2019 * using MS install method * snapshot of VS2019 experiments * using --installRecommended * cleanup of dockerfile * updated path * fixed dockerfile * dumped version number * removed vsdevcmd calls as it's already set in the docker Entrypoint * renamed container folders * windows version not needed any more * bumped version number * bumped version number * script cleanup * removed sccache from vs2017 * making windows image configurable * added versioning * created windows BETA pipeline * added Jenkins label for vs2019
61 lines
No EOL
1.9 KiB
PowerShell
61 lines
No EOL
1.9 KiB
PowerShell
# Copyright 2019 Google LLC
|
|
|
|
# Licensed under the the Apache License v2.0 with LLVM Exceptions (the "License");
|
|
# you may not use this file except in compliance with the License.
|
|
# You may obtain a copy of the License at
|
|
|
|
# https://llvm.org/LICENSE.txt
|
|
|
|
# Unless required by applicable law or agreed to in writing, software
|
|
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
# See the License for the specific language governing permissions and
|
|
# limitations under the License.
|
|
|
|
# define command line arguments
|
|
param(
|
|
[Parameter(Mandatory=$true)][string]$IMAGE_NAME
|
|
)
|
|
|
|
$ROOT_DIR=(Get-Item $PSScriptRoot).Parent.FullName
|
|
. ${ROOT_DIR}\scripts\common.ps1
|
|
$VERSION_FILE="VERSION"
|
|
|
|
# get config options
|
|
Get-Content "${ROOT_DIR}\k8s_config" | Foreach-Object{
|
|
if (! $_.StartsWith('#') ){
|
|
$var = $_.Split('=')
|
|
New-Variable -Name $var[0] -Value $var[1]
|
|
}
|
|
}
|
|
|
|
$QUALIFIED_NAME="${GCR_HOSTNAME}/${GCP_PROJECT}/${IMAGE_NAME}"
|
|
|
|
Push-Location "$PSScriptRoot\$IMAGE_NAME"
|
|
$container_version=[int](Get-Content $VERSION_FILE)
|
|
$container_version+=1
|
|
$agent_windows_version=Get-Content "../agent-windows-vs2019/$VERSION_FILE"
|
|
|
|
Write-Host "Building ${IMAGE_NAME}:${container_version}..."
|
|
Write-Host "Using windows-agent ${agent_windows_version}"
|
|
|
|
Invoke-Call -ScriptBlock {
|
|
docker build . `
|
|
-t ${IMAGE_NAME}:${container_version} `
|
|
-t ${IMAGE_NAME}:latest `
|
|
--build-arg agent_windows_version=$agent_windows_version
|
|
}
|
|
Invoke-Call -ScriptBlock {
|
|
docker tag ${IMAGE_NAME}:${container_version} ${QUALIFIED_NAME}:${container_version}
|
|
}
|
|
Invoke-Call -ScriptBlock {
|
|
docker tag ${IMAGE_NAME}:latest ${QUALIFIED_NAME}:latest
|
|
}
|
|
Invoke-Call -ScriptBlock {
|
|
docker push ${QUALIFIED_NAME}:$container_version
|
|
}
|
|
Invoke-Call -ScriptBlock {
|
|
docker push ${QUALIFIED_NAME}:latest
|
|
}
|
|
$container_version | Out-File $VERSION_FILE
|
|
Pop-Location |