windows builder for buildbot
This commit is contained in:
parent
9ee22a88c9
commit
97bd45070b
3 changed files with 21 additions and 20 deletions
|
@ -3,7 +3,7 @@
|
|||
# This experimental Windows container is meant to be used in Terraform deployment.
|
||||
|
||||
# Agent image for LLVM org cluster.
|
||||
# maybe mcr.microsoft.com/windows/servercore:ltsc2022?
|
||||
# .net 4.8 is required by chocolately package manager.
|
||||
FROM mcr.microsoft.com/dotnet/framework/sdk:4.8-windowsservercore-ltsc2019
|
||||
|
||||
# Restore the default Windows shell for correct batch processing.
|
||||
|
@ -12,6 +12,8 @@ SHELL ["cmd", "/S", "/C"]
|
|||
# Download the Build Tools bootstrapper.
|
||||
ADD https://aka.ms/vs/16/release/vs_buildtools.exe C:\TEMP\vs_buildtools.exe
|
||||
|
||||
RUN powershell -Command Set-ExecutionPolicy Bypass -Scope Process -Force; [System.Net.ServicePointManager]::SecurityProtocol = [System.Net.ServicePointManager]::SecurityProtocol -bor 3072; iex ((New-Object System.Net.WebClient).DownloadString('https://community.chocolatey.org/install.ps1'))
|
||||
|
||||
# Download channel for fixed install.
|
||||
ARG CHANNEL_URL=https://aka.ms/vs/16/release/channel
|
||||
ADD ${CHANNEL_URL} C:\TEMP\VisualStudio.chman
|
||||
|
@ -35,14 +37,10 @@ RUN C:\TEMP\vs_buildtools.exe --quiet --wait --norestart --nocache `
|
|||
# Register DIA dll (Debug Interface Access) so it can be used to symbolize
|
||||
# the stack traces. Register dll for 32 and 64 bit.
|
||||
# see https://developercommunity.visualstudio.com/content/problem/290674/msdia140dll-is-not-registered-on-vs2017-hosts.html
|
||||
|
||||
RUN regsvr32 /S "C:\BuildTools\DIA SDK\bin\amd64\msdia140.dll" & `
|
||||
regsvr32 /S "C:\BuildTools\DIA SDK\bin\msdia140.dll"
|
||||
|
||||
# install chocolately as package manager
|
||||
RUN powershell -NoProfile -InputFormat None -Command `
|
||||
iex ((new-object net.webclient).DownloadString('https://chocolatey.org/install.ps1')) ; `
|
||||
choco feature disable --name showDownloadProgress
|
||||
|
||||
# install tools as described in https://llvm.org/docs/GettingStartedVS.html
|
||||
# and a few more that were not documented...
|
||||
RUN choco install -y ninja git
|
||||
|
@ -112,9 +110,10 @@ RUN git config --system core.longpaths true & `
|
|||
# handle for debugging of files beeing locked by some processes.
|
||||
RUN choco install -y handle
|
||||
|
||||
RUN pip3 install buildbot-worker==2.8.4
|
||||
RUN pip3 install pywin32 buildbot-worker==2.8.4
|
||||
|
||||
# COPY start_agent.ps1 c:\scripts\
|
||||
COPY start.sh c:\scripts\
|
||||
ENTRYPOINT ["bash", "entrypoint.sh"]
|
||||
COPY entrypoint.sh c:\scripts\
|
||||
ENTRYPOINT ["bash", "c:\\scripts\\entrypoint.sh"]
|
||||
CMD ["bash", "C:\\scripts\\start.sh"]
|
|
@ -1,5 +1,17 @@
|
|||
echo "buildbot windows entrypoint"
|
||||
|
||||
: ${WORKDIR:=/c/ws}
|
||||
echo "WORKDIR $WORKDIR"
|
||||
mkdir -p "$WORKDIR"
|
||||
echo "starting sccache"
|
||||
export SCCACHE_DIR="$WORKDIR/sccache"
|
||||
export SCCACHE_IDLE_TIMEOUT="0"
|
||||
export SCCACHE_CACHE_SIZE=20G
|
||||
sccache --start-server
|
||||
sccache --show-stats
|
||||
|
||||
echo "configure buildbot"
|
||||
mkdir -p /c/ws/buildbbot
|
||||
buildbot-worker create-worker /c/ws/buildbot $BUILDBOT_ADDRESS $BUILDBOT_NAME $BUILDBOT_PASSWORD
|
||||
|
||||
$@
|
|
@ -1,15 +1,5 @@
|
|||
# Checkout path is set to a fixed short value (e.g. c:\ws\src) to keep paths
|
||||
# short as many tools break on Windows with paths longer than 250.
|
||||
|
||||
: ${WORKDIR:=/c/ws}
|
||||
echo "WORKDIR $WORKDIR"
|
||||
mkdir -p "$WORKDIR"
|
||||
|
||||
SCCACHE_DIR="$WORKDIR/sccache"
|
||||
SCCACHE_IDLE_TIMEOUT="0"
|
||||
SCCACHE_CACHE_SIZE=20G
|
||||
sccache --start-server
|
||||
|
||||
whoami
|
||||
env
|
||||
tail -f
|
||||
echo "start buildbot"
|
||||
CC=cl CXX=cl LD=link buildbot-worker start /c/ws/buildbot
|
Loading…
Reference in a new issue