| include ../make/bazel.mk | |
| build: | |
| $(BAZEL) build --config=mayberemote //machine/... | |
| test: | |
| $(BAZEL) test --config=mayberemote //machine/... | |
| # Requires the CockroachDB emulator to be running. | |
| generate_sql_schema: | |
| go run ./go/machine/store/cdb/exportschema --out ./go/machine/store/cdb/expectedschema/schema.json | |
| generate: generate_sql_schema | |
| go generate ./go/... | |
| serve: | |
| @echo "Bazel doesn't have a serve-all option." | |
| @echo "For the module under development, try running something like:" | |
| @echo "bazel run modules/machine-server-sk:demo_page_server" | |
| testjs: | |
| $(BAZEL) test --config=mayberemote modules/... | |
| release: | |
| $(BAZEL) run --config=mayberemote //machine:push_machineserver | |
| push: | |
| $(BAZEL) run --config=mayberemote //machine:pushk_machineserver | |
| # Make our own firestore emulator image. | |
| # https://issuetracker.google.com/issues/153087269 | |
| release_firestore_emulator: | |
| ./images/firestore-emulator/release | |
| start_firestore_emulator: | |
| docker run -ti -p 8011:8011 gcr.io/skia-public/firestore-emulator:2020-04-06T16_43_02Z-jcgregorio-bb5fa1d-dirty gcloud beta emulators firestore start --project testtest --host-port 0.0.0.0:8011 | |
| start_pubsub_emulator: | |
| docker run -ti -p 8010:8010 google/cloud-sdk:latest gcloud beta emulators pubsub start \ | |
| --project test-project --host-port 0.0.0.0:8010 | |
| # Presumes you've already run: | |
| # | |
| # make build | |
| # | |
| # kubectl port-forward service/machineserver-cockroachdb 25001:26257 | |
| # | |
| # Run "bazel build //perf/..." after making any frontend changes to pick up the | |
| # change without restarting the golang server. | |
| run-local-instance: build | |
| ../_bazel_bin/machine/go/machineserver/machineserver_/machineserver --local --resources_dir ../_bazel_bin/machine/pages/development | |
| export VERSION:=$(shell ../bash/release_tag.sh) | |
| build_test_machine_monitor_for_all_archs: | |
| rm -rf ./build | |
| CGO_ENABLED=0 \ | |
| GOOS=linux \ | |
| GOARCH=arm64 \ | |
| go build \ | |
| -o ./build/Linux/aarch64/test_machine_monitor \ | |
| -ldflags="-X 'main.Version=${VERSION}'" \ | |
| ./go/test_machine_monitor | |
| CGO_ENABLED=0 \ | |
| GOOS=linux \ | |
| GOARCH=amd64 \ | |
| go build \ | |
| -o ./build/Linux/x86_64/test_machine_monitor \ | |
| -ldflags="-X 'main.Version=${VERSION}'" \ | |
| ./go/test_machine_monitor | |
| CGO_ENABLED=0 \ | |
| GOOS=darwin \ | |
| GOARCH=amd64 \ | |
| go build \ | |
| -o ./build/Darwin/x86_64/test_machine_monitor \ | |
| -ldflags="-X 'main.Version=${VERSION}'" \ | |
| ./go/test_machine_monitor | |
| CGO_ENABLED=0 \ | |
| GOOS=darwin \ | |
| GOARCH=arm64 \ | |
| go build \ | |
| -o ./build/Darwin/arm64/test_machine_monitor \ | |
| -ldflags="-X 'main.Version=${VERSION}'" \ | |
| ./go/test_machine_monitor | |
| CGO_ENABLED=0 \ | |
| GOOS=windows \ | |
| GOARCH=amd64 \ | |
| go build \ | |
| -o ./build/Win32NT/64-bit/test_machine_monitor \ | |
| -ldflags="-X 'main.Version=${VERSION}'" \ | |
| ./go/test_machine_monitor | |
| build_and_upload_test_machine_monitor: build_test_machine_monitor_for_all_archs | |
| cipd create -pkg-def=test_machine_monitor_cipd.yml --tag version:${VERSION} | |
| # | |
| # The instance can be retrieved using the version tag: | |
| # | |
| # cipd install --root=/tmp/sometempdir skia/internal/test_machine_monitor version:${VERSION} | |
| # After running this, you may want to deploy install the tmm executable. To do so, see | |
| # //skolo/ansible/switchboard/roles/install_test_machine_monitor/README.md | |
| release_test_machine_monitor: build_and_upload_test_machine_monitor | |
| ../bash/ansible-release.sh test_machine_monitor ${VERSION} | |
| build_command_wrapper_for_all_archs: | |
| rm -rf ./build | |
| CGO_ENABLED=0 \ | |
| GOOS=linux \ | |
| GOARCH=arm64 \ | |
| go build \ | |
| -o ./build/Linux/aarch64/command_wrapper \ | |
| -ldflags="-X 'main.Version=${VERSION}'" \ | |
| ../infra/bots/task_drivers/command_wrapper | |
| CGO_ENABLED=0 \ | |
| GOOS=linux \ | |
| GOARCH=amd64 \ | |
| go build \ | |
| -o ./build/Linux/x86_64/command_wrapper \ | |
| -ldflags="-X 'main.Version=${VERSION}'" \ | |
| ../infra/bots/task_drivers/command_wrapper | |
| CGO_ENABLED=0 \ | |
| GOOS=darwin \ | |
| GOARCH=amd64 \ | |
| go build \ | |
| -o ./build/Darwin/x86_64/command_wrapper \ | |
| -ldflags="-X 'main.Version=${VERSION}'" \ | |
| ../infra/bots/task_drivers/command_wrapper | |
| CGO_ENABLED=0 \ | |
| GOOS=darwin \ | |
| GOARCH=arm64 \ | |
| go build \ | |
| -o ./build/Darwin/arm64/command_wrapper \ | |
| -ldflags="-X 'main.Version=${VERSION}'" \ | |
| ../infra/bots/task_drivers/command_wrapper | |
| CGO_ENABLED=0 \ | |
| GOOS=windows \ | |
| GOARCH=amd64 \ | |
| go build \ | |
| -o ./build/Win32NT/64-bit/command_wrapper \ | |
| -ldflags="-X 'main.Version=${VERSION}'" \ | |
| ../infra/bots/task_drivers/command_wrapper | |
| build_and_upload_command_wrapper: build_command_wrapper_for_all_archs | |
| cipd create -pkg-def=command_wrapper_cipd.yml --tag version:${VERSION} | |
| # | |
| # The instance can be retrieved using the version tag: | |
| # | |
| # cipd install --root=/tmp/sometempdir skia/internal/command_wrapper version:${VERSION} | |
| # After running this, you may want to deploy install the tmm executable. To do so, see | |
| # //skolo/ansible/switchboard/roles/install_test_machine_monitor/README.md | |
| release_command_wrapper: build_and_upload_command_wrapper | |
| ../bash/ansible-release.sh command_wrapper ${VERSION} | |
| .PHONY: build generate serve testjs release push push_bazel \ | |
| release_firestore_emulator start_firestore_emulator start_pubsub_emulator \ | |
| build run-local-instance build \ | |
| build_test_machine_monitor_for_all_archs \ | |
| build_and_upload_test_machine_monitor \ | |
| build_test_machine_monitor_for_all_archs release_test_machine_monitor \ | |
| build_and_upload_test_machine_monitor |