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. app.yaml
  3. AUTHORS
  4. cache.go
  5. client.go
  6. codereview.cfg
  7. CONTRIBUTING.md
  8. CONTRIBUTORS
  9. Dockerfile
  10. edit.go
  11. edit.html
  12. enable-fake-time.patch
  13. fake_fs.lst
  14. fmt.go
  15. LICENSE
  16. logger.go
  17. main.go
  18. Makefile
  19. PATENTS
  20. play.go
  21. play_test.go
  22. README.md
  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.