| LATEST_GO := $(shell go run ./cmd/latestgo) |
| |
| .PHONY: docker test update-cloudbuild-trigger |
| |
| docker: |
| docker build --build-arg GO_VERSION=$(LATEST_GO) -t golang/playground . |
| |
| runlocal: |
| docker network create sandnet || true |
| docker kill play_dev || true |
| docker run --name=play_dev --rm --network=sandnet -ti -p 127.0.0.1:8081:8080/tcp golang/playground --backend-url="http://sandbox_dev.sandnet/run" |
| |
| test_go: |
| # Run fast tests first: (and tests whether, say, things compile) |
| GO111MODULE=on go test -v ./... |
| |
| test_gvisor: docker |
| docker kill sandbox_front_test || true |
| docker run --rm --name=sandbox_front_test --network=sandnet -t golang/playground --runtests |
| |
| # Note: test_gvisor is not included in "test" yet, because it requires |
| # running a separate server first ("make runlocal" in the sandbox |
| # directory) |
| test: test_go |
| |
| define GOTIP_MESSAGE |
| Note: deploy/gotip_schedule.yaml must be manually managed with gcloud. |
| Example: |
| gcloud scheduler jobs update http \ |
| projects/golang-org/locations/us-central1/jobs/playground-deploy-gotip-playground-schedule \ |
| --schedule="0 10 * * *" --time-zone="America/New_York" |
| endef |
| export GOTIP_MESSAGE |
| |
| push-cloudbuild-triggers: |
| gcloud beta builds triggers import --project golang-org --source deploy/go_trigger.yaml |
| gcloud beta builds triggers import --project golang-org --source deploy/playground_trigger.yaml |
| gcloud alpha builds triggers import --project golang-org --source deploy/gotip_scheduled_trigger.yaml |
| @echo "$$GOTIP_MESSAGE" |
| |
| pull-cloudbuild-triggers: |
| gcloud beta builds triggers export --project golang-org playground-redeploy-go-release --destination deploy/go_trigger.yaml |
| gcloud beta builds triggers export --project golang-org playground-redeploy-playground --destination deploy/playground_trigger.yaml |
| gcloud alpha builds triggers export --project golang-org playground-deploy-gotip-playground --destination deploy/gotip_scheduled_trigger.yaml |
| gcloud scheduler --project=golang-org jobs describe --format=yaml playground-deploy-gotip-playground-schedule > deploy/gotip_schedule.yaml |