env/js-wasm: update NodeJS from v8.x to v12.x

Before:

$ docker run -ti gcr.io/symbolic-datum-552/js-wasm /usr/bin/nodejs --version
v8.11.1

After:

$ docker run -ti gcr.io/symbolic-datum-552/js-wasm /usr/bin/nodejs --version
v12.1.0

Also update the Makefile to permit building separately from pushing.

Updates golang/go#31282

Change-Id: I3b5fd47ab41abc7721ffa48bc3f577832db24bb2
Reviewed-on: https://go-review.googlesource.com/c/build/+/175098
Run-TryBot: Brad Fitzpatrick <bradfitz@golang.org>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Richard Musiol <neelance@gmail.com>
diff --git a/env/js-wasm/Dockerfile b/env/js-wasm/Dockerfile
index ccc676c..a62a628 100644
--- a/env/js-wasm/Dockerfile
+++ b/env/js-wasm/Dockerfile
@@ -7,10 +7,9 @@
 
 ENV DEBIAN_FRONTEND noninteractive
 
-# Add node.js to run the js/wasm tests.
-RUN apt-get update && apt-get install -y \
-	--no-install-recommends \
-	nodejs \
-	&& rm -rf /var/lib/apt/lists/*
+
+RUN (curl -sL https://deb.nodesource.com/setup_12.x | bash -) && \
+    apt-get install -y nodejs && \
+    rm -rf /var/lib/apt/lists/*
 
 CMD ["/usr/local/bin/stage0"]
diff --git a/env/js-wasm/Makefile b/env/js-wasm/Makefile
index 77bce7a..2927fe6 100644
--- a/env/js-wasm/Makefile
+++ b/env/js-wasm/Makefile
@@ -12,12 +12,16 @@
 staging: Dockerfile
 	sed 's|{{REPO}}|'"$(STAGING_REPO)"'|g' Dockerfile > Dockerfile.make
 	docker build -t $(STAGING_REPO)/$(IMAGE_NAME):latest -f Dockerfile.make .
+
+pushstaging: staging
 	docker push $(STAGING_REPO)/$(IMAGE_NAME):latest
 	rm Dockerfile.make
 
 prod: Dockerfile
 	sed 's|{{REPO}}|'"$(PROD_REPO)"'|g' Dockerfile > Dockerfile.make
 	docker build -t $(PROD_REPO)/$(IMAGE_NAME):latest -f Dockerfile.make .
+
+pushprod: prod
 	docker push $(PROD_REPO)/$(IMAGE_NAME):latest
 	rm Dockerfile.make