my build machine for bromite development
Go to file
2022-10-28 07:15:01 -08:00
.github/workflows Update check_git_apply.yaml 2022-10-28 07:15:01 -08:00
images Update Dockerfile 2022-10-28 09:41:41 -02:00
.gitignore Add clangd server image 2021-12-08 16:46:40 +00:00
apply-all-patch.sh Update apply-all-patch.sh 2022-01-14 14:37:03 +01:00
apply-bromite-patches.sh fix version, upload script apply patch 2021-05-29 09:10:33 +00:00
apply-failed-patch.sh last version used 2021-04-28 13:02:53 +02:00
apply-single-patch.sh remove request 2022-02-02 20:45:37 +01:00
build-from-repos.sh last version used 2021-04-28 13:02:53 +02:00
buildbox-casd buildbox executables 2021-04-28 13:03:51 +02:00
buildbox-run-hosttools buildbox executables 2021-04-28 13:03:51 +02:00
buildbox-worker buildbox executables 2021-04-28 13:03:51 +02:00
casupload Initial dockerfiles 2021-06-19 09:46:24 +00:00
clone-src.sh add proxy support 2021-07-31 12:15:32 +00:00
create-from-patch.sh fix argument 2022-02-23 15:28:48 +01:00
depot_tools.diff added patch to depot tools 2021-05-27 14:53:00 +00:00
export-all-patch.sh changed method of creating new patch name 2022-09-07 11:43:26 +02:00
export-patch-list.sh Update export-patch-list.sh 2022-09-07 13:39:36 +02:00
export-single-patch.sh improved replacement 2022-09-07 11:11:24 +02:00
goma_auth.py add goma_auth.py 2021-05-29 17:43:49 +00:00
LICENSE Create LICENSE 2022-01-31 17:37:10 +01:00
ninja-one-target-for-compdb.patch add ninja patch 2021-12-08 12:36:01 +01:00
prepare-build.sh add mtool 2021-06-02 07:21:31 +00:00
README.md update instruction for windows cross building 2022-10-22 22:24:30 +07:00
setup-goma-client.sh move goma env to build 2021-05-31 13:17:32 +00:00
start_proxy.sh start goma from build 2021-05-31 12:06:40 +00:00
start-build.sh add mtool 2021-06-02 07:21:31 +00:00
start-goma-server.sh start goma from build 2021-05-31 12:06:40 +00:00

bromite-buildtools

this repo contains my build machine and some scripts I use for Bromite development. the ci uses a modified version of the gihub runner (avaiable here) and use sysbox to improve security. it also contains everything you need to use a self-hosted modified version of goma for a multi-machine build

Setting-up

  1. Prepare folders
cd ~ && mkdir gh-runner
cd gh-runner && mkdir docker-inner
SYSBOX_UID=$(cat /etc/subuid | grep sysbox | cut -d : -f 2)
sudo chown $SYSBOX_UID:$SYSBOX_UID docker-inner/

mkdir /storage
sudo chown $SYSBOX_UID:$SYSBOX_UID /storage
  1. Clone this repo
  2. Prepare .env
cd bromite-buildtools/images/github-runner/
cp .env.example .env
  1. Edit .env file
RUNNER_NAME=pd-gh-runner
GITHUB_PERSONAL_TOKEN=<git-token>
GITHUB_OWNER=uazo
GITHUB_REPOSITORY=bromite-buildtools
RUNNER_LABELS=dev
ALLOWEDAUTHORSLIST=uazo
  1. Prepare for windows cross build Follow the instructions to create the zip with the toolchain

example:

cd path\to\depot_tools\win_toolchain
D:\Downloads\depot_tools\win_toolchain> package_from_installed.py --allow_multiple_vs_installs -w 10.0.20348.0 2019

create the /casefold in the unix host with casefold attribute and unzip the contents into.

~$ ls /casefold/10.0.20348.0/ -la
total 36
drwxr-xr-x 8 root root 4096 Oct  5 13:20  .
drwxr-xr-x 5 root root 4096 Oct  5 13:17  ..
drwxr-xr-x 6 root root 4096 Oct  5 13:19 'DIA SDK'
drwxr-xr-x 2 root root 4096 Oct  5 13:20  sys32
drwxr-xr-x 2 root root 4096 Oct  5 13:20  sys64
drwxr-xr-x 2 root root 4096 Oct  5 13:20  sysarm64
drwxr-xr-x 5 root root 4096 Oct  5 13:20  VC
-rw-rw-rw- 1 root root    5 Sep 26 17:05  VS_VERSION
drwxr-xr-x 3 root root 4096 Oct  5 13:20 'Windows Kits'
  1. Start the runner
cd bromite-buildtools/images/github-runner/
./start-runner.sh