Docker improvements (#571)
- Copy the current checkout to the Dockerfile. - Add .dockerignore to exclude files while copying. - Test tip-of-tree build within CI. - Run the test suite outside the Docker image. - Perform extra sanity tests. - Switch to make commands for CircleCI. - Improve Docker README.
This commit is contained in:
committed by
GitHub
parent
f6c9e453f8
commit
645d276b5c
@@ -1,21 +1,28 @@
|
||||
#!/usr/bin/env make
|
||||
# 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.38.45, 1.38.45-upstream
|
||||
# i.e.: 1.39.18
|
||||
version =
|
||||
alias =
|
||||
|
||||
image_name ?= emscripten/emsdk
|
||||
|
||||
.TEST:
|
||||
ifndef version
|
||||
$(error argument 'version' is not set. Please call `make version=SOME_VERSION ...`)
|
||||
endif
|
||||
|
||||
build: .TEST
|
||||
docker build --network host --build-arg=EMSCRIPTEN_VERSION=${version} --tag emscripten/emsdk:${version} .
|
||||
build: Dockerfile .TEST
|
||||
cd .. && docker build --network host --build-arg=EMSCRIPTEN_VERSION=${version} -t ${image_name}:${version} -f docker/$< .
|
||||
|
||||
test: test_dockerimage.sh .TEST
|
||||
# test as non-root
|
||||
docker run --rm -u `id -u`:`id -g` -w /emsdk/docker --net=host ${image_name}:${version} \
|
||||
bash $<
|
||||
|
||||
push: .TEST
|
||||
docker push emscripten/emsdk:${version}
|
||||
docker push ${image_name}:${version}
|
||||
ifdef alias
|
||||
docker tag emscripten/emsdk:${version} emscripten/emsdk:${alias}
|
||||
docker push emscripten/emsdk:${alias}
|
||||
docker tag ${image_name}:${version} ${image_name}:${alias}
|
||||
docker push ${image_name}:${alias}
|
||||
endif
|
||||
|
||||
Reference in New Issue
Block a user