| # Go build command to build static binaries suitable for lean Alpine containers. |
| KGO := CGO_ENABLED=0 GOOS=linux go build |
| |
| export VERSION:=$(shell ../bash/release_tag.sh) |
| |
| # This build must be launched from an Ansible playbook which will extract the |
| # service account keys and base64 encode them into the SERVICE_ACCOUNT_KEY and |
| # INTERNAL_SERVICE_ACCOUNT_KEY environment variables. |
| # |
| # The directory under ./build/Linux/x86_64/ is the name of the secret where the |
| # service key is stored under. |
| build_metadata_server_ansible: |
| rm -rf ./build |
| |
| test -n "${SERVICE_ACCOUNT_KEY}" || (echo "SERVICE_ACCOUNT_KEY must be set by Ansible playbook."; exit 1) |
| test -n "${INTERNAL_SERVICE_ACCOUNT_KEY}" || (echo "INTERNAL_SERVICE_ACCOUNT_KEY must be set by Ansible playbook."; exit 1) |
| |
| CGO_ENABLED=0 \ |
| GOOS=linux \ |
| GOARCH=amd64 \ |
| go build \ |
| -o ./build/Linux/x86_64/chromium-swarm-bots/metadata_server_ansible \ |
| -ldflags="-X 'main.Version=${VERSION}' -X 'main.Key=${SERVICE_ACCOUNT_KEY}' " \ |
| ./go/metadata_server_ansible |
| |
| CGO_ENABLED=0 \ |
| GOOS=linux \ |
| GOARCH=amd64 \ |
| go build \ |
| -o ./build/Linux/x86_64/chrome-swarming-bots/metadata_server_ansible \ |
| -ldflags="-X 'main.Version=${VERSION}' -X 'main.Key=${INTERNAL_SERVICE_ACCOUNT_KEY}' " \ |
| ./go/metadata_server_ansible |
| |
| build_and_upload_metadata_server_ansible: build_metadata_server_ansible |
| cipd create -pkg-def=metadata_server_ansible_cipd.yml --tag version:${VERSION} |
| |
| release_metadata_server_ansible: build_and_upload_metadata_server_ansible |
| ../bash/ansible-release.sh metadata_server_ansible ${VERSION} |
| |
| build_powercycle_server_ansible: |
| rm -rf ./build |
| CGO_ENABLED=0 \ |
| GOOS=linux \ |
| GOARCH=amd64 \ |
| go build \ |
| -o ./build/Linux/x86_64/powercycle_server_ansible \ |
| -ldflags="-X 'main.Version=${VERSION}' " \ |
| ./go/powercycle_server_ansible |
| |
| build_and_upload_powercycle_server_ansible: build_powercycle_server_ansible |
| cipd create -pkg-def=powercycle_server_ansible_cipd.yml --tag version:${VERSION} |
| |
| release_powercycle_server_ansible: build_and_upload_powercycle_server_ansible |
| ../bash/ansible-release.sh powercycle_server_ansible ${VERSION} |
| |
| build_environment_monitor_ansible: |
| rm -rf ./build |
| CGO_ENABLED=0 \ |
| GOOS=linux \ |
| GOARCH=amd64 \ |
| go build \ |
| -o ./build/Linux/x86_64/environment_monitor_ansible \ |
| -ldflags="-X 'main.Version=${VERSION}' " \ |
| ./go/environment_monitor_ansible |
| |
| build_and_upload_environment_monitor_ansible: build_environment_monitor_ansible |
| cipd create -pkg-def=environment_monitor_ansible_cipd.yml --tag version:${VERSION} |
| |
| release_environment_monitor_ansible: build_and_upload_environment_monitor_ansible |
| ../bash/ansible-release.sh environment_monitor_ansible ${VERSION} |
| |
| build_router_backup_ansible: |
| rm -rf ./build |
| CGO_ENABLED=0 \ |
| GOOS=linux \ |
| GOARCH=amd64 \ |
| go build \ |
| -o ./build/Linux/x86_64/router_backup_ansible \ |
| -ldflags="-X 'main.Version=${VERSION}' " \ |
| ./go/router_backup_ansible |
| |
| build_and_upload_router_backup_ansible: build_router_backup_ansible |
| cipd create -pkg-def=router_backup_ansible_cipd.yml --tag version:${VERSION} |
| |
| release_router_backup_ansible: build_and_upload_router_backup_ansible |
| ../bash/ansible-release.sh router_backup_ansible ${VERSION} |
| |
| # The POWERCYCLE_PASSWORD must be set in the environment for this to work correctly. |
| run-local-instance-powercycle_server_ansible: |
| go install ./go/powercycle_server_ansible |
| powercycle_server_ansible --local --powercycle_config=powercycle-rack4.json5 --config=prod.json |
| |
| run-local-instance-router_backup_ansible: |
| go install ./go/router_backup_ansible |
| router_backup_ansible --local \ |
| --gce_bucket skia-backups \ |
| --gce_folder router_config_test_backups \ |
| --remote_file_path "admin@router-rack1:/config/config.boot" |
| |
| # The PROMETHEUS_VERSION env variable must also be set. |
| download_prometheus_x86_64_Linux: |
| ifeq ("$(wildcard ./build/Linux/x86_64/prometheus-$(PROMETHEUS_VERSION).linux-amd64/prometheus)", "") |
| mkdir -p ./build/Linux/x86_64 |
| wget https://github.com/prometheus/prometheus/releases/download/v${PROMETHEUS_VERSION}/prometheus-${PROMETHEUS_VERSION}.linux-amd64.tar.gz -O - | tar -xz --directory=./build/Linux/x86_64 |
| endif |
| -echo Download complete. |
| |
| build_managed_prometheus_ansible: |
| rm -rf ./build |
| rm -rf ./prometheus |
| git clone https://github.com/GoogleCloudPlatform/prometheus |
| cd prometheus && git checkout v2.35.0-gmp.2 |
| cd prometheus && make build |
| mkdir -p ./build/Linux/x86_64/ |
| cp ./prometheus/prometheus ./build/Linux/x86_64/ |
| |
| build_and_upload_managed_prometheus_ansible: build_managed_prometheus_ansible |
| cipd create -pkg-def=managed_prometheus_ansible_cipd.yml --tag version:${VERSION} |
| |
| release_managed_prometheus_ansible: build_and_upload_managed_prometheus_ansible |
| ../bash/ansible-release.sh managed_prometheus_ansible ${VERSION} |