Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Install and setup Buildbot

Buildbot can be installed in any location but it is preferable to install in C:\ to avoid hitting the maximum path limit on windows. Please run following commands to install buildbot-worker

Code Block
languagebash
:: Create Directory for buildbot installation
mkdir C:\Workspace
cd C:\Workspace

:: Create virtual venv
python -m venv venv

:: Activate venv
.\venv\Scripts\activate

:: Install buildbot-worker in virtual env
python -m pip install pypiwin32 buildbot-worker

Now create a worker using the following command

Code Block
languagebash
buildbot-worker create-worker buildarea buildbot.python.org:9020 linaro-win-arm64 <PASSWORD> 

Edit following files to add admin email address and host information

C:\Workspace\buildarea\info\admin

...

Code Block
Linaro Windows on Arm Support <woa-support@op-lists.linaro.org>

C:\Workspace\buildarea\info\host

...

Code Block
Microsoft Surface X Pro; RAM 16GB
 
OS: Windows 10 Pro (ARM64)

Now create a batch file to run as a service

C:\Workspace\buildbot.bat

...

Code Block
:: Initialise ARM64 environment

call "C:\Program Files (x86)\Microsoft Visual Studio\2019\BuildTools\VC\Auxiliary\Build\vcvarsx86_arm64.bat"

:: Add debug runtime DLL to path

set PATH=C:\Program Files (x86)\Windows Kits\10\bin\10.0.18362.0\arm64\ucrt\;%PATH%

set PATH=C:\Program Files (x86)\Microsoft Visual Studio\2019\BuildTools\VC\Redist\MSVC\14.29.30133\onecore\debug_nonredist\arm64\Microsoft.VC142.DebugCRT\;%PATH%

:: Activate virtual environment

call "C:\Workspace\buildarea\venv\Scripts\activate"

cd C:\Workspace

:: Start buildbot-worker

echo Starting buildbot-workder

buildbot-worker start buildarea

Script available at: https://gitlab.com/Linaro/windowsonarm/external-ci/python
You can automate service launch by following those instructions: Windows Service management . You need a user which can execute winget.exe (needed in a python test). Local SYSTEM account can’t.

...