UI: Viewport Navigate Gizmo Refactor
[blender.git] / build_files / buildbot / README.md
1 Blender Buildbot
2 ================
3
4 Code signing
5 ------------
6
7 Code signing is done as part of INSTALL target, which makes it possible to sign
8 files which are aimed into a bundle and coming from a non-signed source (such as
9 libraries SVN).
10
11 This is achieved by specifying `worker_codesign.cmake` as a post-install script
12 run by CMake. This CMake script simply involves an utility script written in
13 Python which takes care of an actual signing.
14
15 ### Configuration
16
17 Client configuration doesn't need anything special, other than variable
18 `SHARED_STORAGE_DIR` pointing to a location which is watched by a server.
19 This is done in `config_builder.py` file and is stored in Git (which makes it
20 possible to have almost zero-configuration buildbot machines).
21
22 Server configuration requires copying `config_server_template.py` under the
23 name of `config_server.py` and tweaking values, which are platform-specific.
24
25 #### Windows configuration
26
27 There are two things which are needed on Windows in order to have code signing
28 to work:
29
30 - `TIMESTAMP_AUTHORITY_URL` which is most likely set http://timestamp.digicert.com
31 - `CERTIFICATE_FILEPATH` which is a full file path to a PKCS #12 key (.pfx).
32
33 ## Tips
34
35 ### Self-signed certificate on Windows
36
37 It is easiest to test configuration using self-signed certificate.
38
39 The certificate manipulation utilities are coming with Windows SDK.
40 Unfortunately, they are not added to PATH. Here is an example of how to make
41 sure they are easily available:
42
43 ```
44 set PATH=C:\Program Files (x86)\Windows Kits\10\App Certification Kit;%PATH%
45 set PATH=C:\Program Files (x86)\Windows Kits\10\bin\10.0.18362.0\x64;%PATH%
46 ```
47
48 Generate CA:
49
50 ```
51 makecert -r -pe -n "CN=Blender Test CA" -ss CA -sr CurrentUser -a sha256 ^
52          -cy authority -sky signature -sv BlenderTestCA.pvk BlenderTestCA.cer
53 ```
54
55 Import the generated CA:
56
57 ```
58 certutil -user -addstore Root BlenderTestCA.cer
59 ```
60
61 Create self-signed certificate and pack it into PKCS #12:
62
63 ```
64 makecert -pe -n "CN=Blender Test SPC" -a sha256 -cy end ^
65          -sky signature ^
66          -ic BlenderTestCA.cer -iv BlenderTestCA.pvk ^
67          -sv BlenderTestSPC.pvk BlenderTestSPC.cer
68
69 pvk2pfx -pvk BlenderTestSPC.pvk -spc BlenderTestSPC.cer -pfx BlenderTestSPC.pfx
70 ```