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