diff third_party/emsdk/docker/Makefile @ 179:8d17f6e6e290

[ThirdParty] Added emsdk bazel rules that can be supported by bazel 9.0.0
author MrJuneJune <me@mrjunejune.com>
date Thu, 22 Jan 2026 21:23:17 -0800
parents
children
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/third_party/emsdk/docker/Makefile	Thu Jan 22 21:23:17 2026 -0800
@@ -0,0 +1,33 @@
+# A Makefile to build, test, tag and publish the Emscripten SDK Docker container.
+
+# Emscripten version to build: Should match the version that has been already released.
+# i.e.:  1.39.18
+version =
+tag =
+
+image_name ?= emscripten/emsdk
+
+.TEST:
+ifndef version
+	$(error argument 'version' is not set. Please call `make version=SOME_VERSION ...`)
+endif
+
+build: Dockerfile .TEST
+	cd .. && docker build --progress=plain --network host --build-arg=EMSCRIPTEN_VERSION=${version} -t ${image_name}:${version} -f docker/$< .
+
+test: test_dockerimage.sh .TEST
+	# test as non-root
+	# test fallback env variables by overriding the entrypoint
+	docker run --rm -u `id -u`:`id -g` -w /emsdk/docker --net=host --entrypoint /bin/bash ${image_name}:${version} $<
+
+push: .TEST
+ifdef tag
+	docker tag ${image_name}:${version} ${image_name}:${tag}
+	docker push ${image_name}:${tag}
+endif
+
+push-multiplatform: .TEST
+ifdef tag
+	docker manifest create ${image_name}:${tag} $(foreach platform,x64 arm64,--amend ${image_name}:${version}-$(platform))
+	docker manifest push ${image_name}:${tag}
+endif