From da605793c6abc9949eaaf4a554db8f3c18f3bc7d Mon Sep 17 00:00:00 2001 From: Radon Rosborough Date: Tue, 22 Dec 2020 20:19:22 -0800 Subject: [PATCH] Fill out Makefile --- .dockerignore | 7 ++ Makefile | 86 +++++++++++++++++-- .../Dockerfile} | 4 +- .../{scripts/build => packaging}/install.bash | 0 docker/{scripts/build => packaging}/pid1.bash | 0 5 files changed, 86 insertions(+), 11 deletions(-) create mode 100644 .dockerignore rename docker/{Dockerfile.build => packaging/Dockerfile} (53%) rename docker/{scripts/build => packaging}/install.bash (100%) rename docker/{scripts/build => packaging}/pid1.bash (100%) diff --git a/.dockerignore b/.dockerignore new file mode 100644 index 0000000..20d6bb3 --- /dev/null +++ b/.dockerignore @@ -0,0 +1,7 @@ +# This file is generated by 'make dockerignore', do not edit. +**/*.log +**/.env +**/.terraform +**/debs +**/node_modules +**/work diff --git a/Makefile b/Makefile index d3d7639..98c21e2 100644 --- a/Makefile +++ b/Makefile @@ -1,20 +1,40 @@ +SHELL := bash +.SHELLFLAGS := -o pipefail -euc + export PATH := bin:$(PATH) -.PHONY: debug -debug: - node builder/build.js python +include .env +export + +.PHONY: help +help: + @echo "usage:" + @echo + @cat Makefile | \ + grep -E '[.]PHONY|[#]##' | \ + sed -E 's/[.]PHONY: */ make /' | \ + sed -E 's/[#]## *(.+)/\n (\1)\n/' + +### Build things locally .PHONY: packaging-image packaging-image: - docker build . -f docker/packaging/Dockerfile -t riju:packaging + docker build . -f docker/packaging/Dockerfile -t riju-packaging --pull .PHONY: runtime-image runtime-image: - docker build . -f docker/runtime/Dockerfile -t riju:runtime + docker build . -f docker/runtime/Dockerfile -t riju-runtime --pull .PHONY: app-image app-image: - docker build . -f docker/app/Dockerfile -t riju:app + docker build . -f docker/app/Dockerfile -t riju-app --pull + +.PHONY: pkg +pkg: + @: $${L} + node src/packager/main.js --lang $(L) + +### Run things inside Docker .PHONY: packaging-shell packaging-shell: @@ -24,6 +44,54 @@ packaging-shell: runtime-shell: docker run -it --rm -v $(PWD):/src riju:runtime -.PHONY: pkg -pkg: - node src/packager/main.js --lang $(LANG) +### Fetch things from registries + +.PHONY: fetch-packaging-image +fetch-packaging-image: + docker pull $(DOCKER_REPO_BASE)-packaging + docker tag $(DOCKER_REPO_BASE)-packaging riju-packaging + +.PHONY: fetch-runtime-image +fetch-runtime-image: + docker pull $(DOCKER_REPO_BASE)-runtime + docker tag $(DOCKER_REPO_BASE)-runtime riju-runtime + +.PHONY: fetch-app-image +fetch-app-image: + docker pull $(DOCKER_REPO_BASE)-app + docker tag $(DOCKER_REPO_BASE)-app riju-app + +.PHONY: fetch-pkg +fetch-pkg: + @: $${L} + mkdir -p debs + aws s3 cp s3://$(S3_BUCKET_BASE)-debs/debs/$(L).deb debs/$(L).deb + +### Publish things to registries + +.PHONY: publish-packaging-image +publish-packaging-image: + docker tag riju-packaging $(DOCKER_REPO_BASE)-packaging + docker push $(DOCKER_REPO_BASE)-packaging + +.PHONY: publish-runtime-image +publish-runtime-image: + docker tag riju-runtime $(DOCKER_REPO_BASE)-runtime + docker push $(DOCKER_REPO_BASE)-runtime + +.PHONY: publish-app-image +publish-app-image: + docker tag riju-app $(DOCKER_REPO_BASE)-app + docker push $(DOCKER_REPO_BASE)-app + +.PHONY: publish-pkg +publish-pkg: + @: $${L} + aws s3 cp debs/$(L).deb s3://$(S3_BUCKET_BASE)-debs/debs/$(L).deb + +### Miscellaneous + +.PHONY: dockerignore +dockerignore: + echo "# This file is generated by 'make dockerignore', do not edit." > .dockerignore + cat .gitignore | sed 's#^#**/#' >> .dockerignore diff --git a/docker/Dockerfile.build b/docker/packaging/Dockerfile similarity index 53% rename from docker/Dockerfile.build rename to docker/packaging/Dockerfile index aa44537..6e97db7 100644 --- a/docker/Dockerfile.build +++ b/docker/packaging/Dockerfile @@ -1,9 +1,9 @@ FROM ubuntu:rolling -COPY docker/scripts/build/install.bash /tmp/ +COPY docker/packaging/install.bash /tmp/ RUN /tmp/install.bash WORKDIR /src -COPY docker/scripts/build/pid1.bash /usr/local/sbin/ +COPY docker/packaging/pid1.bash /usr/local/sbin/ ENTRYPOINT ["/usr/local/sbin/pid1.bash"] CMD ["bash"] diff --git a/docker/scripts/build/install.bash b/docker/packaging/install.bash similarity index 100% rename from docker/scripts/build/install.bash rename to docker/packaging/install.bash diff --git a/docker/scripts/build/pid1.bash b/docker/packaging/pid1.bash similarity index 100% rename from docker/scripts/build/pid1.bash rename to docker/packaging/pid1.bash