vscode/test/sanity/scripts/run-docker.cmd
Dmitriy Vasyura 4d8241eeaa
Sanity tests updates (#291399)
* Sanity tests updates

* Revert qemu accidental change.
2026-01-28 13:58:56 -08:00

65 lines
1.3 KiB
Batchfile

@echo off
setlocal enabledelayedexpansion
set ROOT=%~dp0..
set CONTAINER=
set ARCH=amd64
set MIRROR=mcr.microsoft.com/mirror/docker/library/
set BASE_IMAGE=
set ARGS=
:parse_args
if "%~1"=="" goto :done_parsing
if "%~1"=="--container" (
set CONTAINER=%~2
shift & shift
goto :parse_args
)
if "%~1"=="--arch" (
set ARCH=%~2
shift & shift
goto :parse_args
)
if "%~1"=="--base-image" (
set BASE_IMAGE=%~2
shift & shift
goto :parse_args
)
set "ARGS=!ARGS! %~1"
shift
goto :parse_args
:done_parsing
if "%CONTAINER%"=="" (
echo Error: --container is required
exit /b 1
)
set HOST_ARCH=amd64
if "%PROCESSOR_ARCHITECTURE%"=="ARM64" set HOST_ARCH=arm64
if not "%ARCH%"=="%HOST_ARCH%" (
echo Setting up QEMU emulation for %ARCH% on %HOST_ARCH% host
docker run --privileged --rm tonistiigi/binfmt --install all >nul 2>&1
)
set BASE_IMAGE_ARG=
if not "%BASE_IMAGE%"=="" set BASE_IMAGE_ARG=--build-arg "BASE_IMAGE=%BASE_IMAGE%"
echo Building container image: %CONTAINER%
docker buildx build ^
--platform "linux/%ARCH%" ^
--build-arg "MIRROR=%MIRROR%" ^
%BASE_IMAGE_ARG% ^
--tag "%CONTAINER%" ^
--file "%ROOT%\containers\%CONTAINER%.dockerfile" ^
"%ROOT%\containers"
echo Running sanity tests in container
docker run ^
--rm ^
--platform "linux/%ARCH%" ^
--volume "%ROOT%:/root" ^
--entrypoint sh ^
"%CONTAINER%" ^
/root/containers/entrypoint.sh %ARGS%