playground: prevent caching memory-related compile time errors

It is important that nondeterministic errors are not cached. Otherwise,
playground users may encounter errors from a prevous run when the
current run may have otherwise succeeded.

The existing implementation prevents runtime OOM errors from being
cached. This change prevents compile time OOM errors from being cached
as well.

See related: https://golang.org/cl/130035

Fixes golang/go#28283

Change-Id: If734915935cc1013bcb9a87d0ae6ecd67505f231
Reviewed-on: https://go-review.googlesource.com/c/144297
Reviewed-by: Dmitri Shuralyov <dmitshur@golang.org>
2 files changed
tree: 8072c72b4995818ae549b5d80f6d5ef42492116b
  1. static/
  2. AUTHORS
  3. CONTRIBUTING.md
  4. CONTRIBUTORS
  5. Dockerfile
  6. LICENSE
  7. Makefile
  8. PATENTS
  9. README.md
  10. app.yaml
  11. cache.go
  12. client.go
  13. codereview.cfg
  14. edit.go
  15. edit.html
  16. enable-fake-time.patch
  17. fake_fs.lst
  18. fmt.go
  19. logger.go
  20. main.go
  21. play.go
  22. play_test.go
  23. sandbox.go
  24. server.go
  25. server_test.go
  26. share.go
  27. store.go
  28. vet.go
README.md

playground

This subrepository holds the source for the Go playground: https://play.golang.org/

Building

# build the image
docker build -t playground .

Running

docker run --name=play --rm -d -p 8080:8080 playground
# run some Go code
cat /path/to/code.go | go run client.go | curl -s --upload-file - localhost:8080/compile

Deployment

gcloud --project=golang-org --account=person@example.com app deploy app.yaml

Contributing

To submit changes to this repository, see https://golang.org/doc/contribute.html.