tree: 4b9a146954be1be30f1f312d1269a8d7e3ee9e1a [path history] [tgz]
  1. makemac.go
  2. makemac.service
  3. makemac_test.go
  4. README.md
cmd/makemac/README.md

Go Reference

golang.org/x/build/cmd/makemac

The makemac command manages creating & destroying macOS VMs for the builders. See the README in x/build/env/darwin/macstadium for some more background.

Deploying makemac

* On Linux,
  $ go install golang.org/x/build/cmd/makemac
  $ scp -i ~/.ssh/id_ed25519_golang1 $GOPATH/bin/makemac gopher@macstadiumd.golang.org:makemac.new
  $ ssh -i ~/.ssh/id_ed25519_golang1 gopher@macstadiumd.golang.org 'cp makemac makemac.old; install makemac.new makemac'
  $ ssh -i ~/.ssh/id_ed25519_golang1 gopher@macstadiumd.golang.org

On that host,
  * sudo systemctl restart makemac
  $ sudo journalctl -f -u makemac     # watch it

Updating makemac.service

* On Linux,
  $ scp -i ~/.ssh/id_ed25519_golang1 cmd/makemac/makemac.service gopher@macstadiumd.golang.org:makemac.service

On that host,
  $ sudo mv makemac.service /etc/systemd/system/makemac.service
  $ sudo systemctl daemon-reload
  $ sudo systemctl restart makemac
  $ sudo journalctl -f -u makemac     # watch it

Checking that it's running:

$ curl -v http://macstadiumd.golang.org:8713

(Note that URL won't work in a browser due to HSTS requirements on *.golang.org)