diff --git a/.gitignore b/.gitignore index be867e15..2aaba77a 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,2 @@ .DS_Store -_ci/coverage.txt -gotenberg \ No newline at end of file +_ci/coverage.txt \ No newline at end of file diff --git a/Dockerfile b/Dockerfile index 29c6da6e..4f7ee30f 100644 --- a/Dockerfile +++ b/Dockerfile @@ -24,7 +24,7 @@ RUN echo "deb http://httpredir.debian.org/debian/ stretch main contrib non-free" # | All Gotenberg related stuff. # | -COPY gotenberg /usr/bin/gotenberg +COPY _build/gotenberg /usr/bin/gotenberg RUN ln -s /usr/bin/gotenberg /usr/local/bin/gotenberg WORKDIR /gotenberg diff --git a/Dockerfile.tests b/Dockerfile.ci similarity index 100% rename from Dockerfile.tests rename to Dockerfile.ci diff --git a/_blueprints/Dockerfile.blueprint b/_blueprints/Dockerfile.blueprint index 68764ca4..214c91de 100644 --- a/_blueprints/Dockerfile.blueprint +++ b/_blueprints/Dockerfile.blueprint @@ -1,4 +1,4 @@ -FROM {{ if eq "TESTS" .Orbit.Image }}golang:1.10-stretch{{ else }}debian:stretch-slim{{ end }} +FROM {{ if eq "CI" .Orbit.Image }}golang:1.10-stretch{{ else }}debian:stretch-slim{{ end }} LABEL authors="Julien Neuhart " @@ -24,7 +24,7 @@ RUN echo "deb http://httpredir.debian.org/debian/ stretch main contrib non-free" # | All Gotenberg related stuff. # | -{{- if eq "TESTS" .Orbit.Image }} +{{- if eq "CI" .Orbit.Image }} WORKDIR /go/src/github.com/thecodingmachine/gotenberg @@ -41,7 +41,7 @@ RUN go get -d -v ./... ENTRYPOINT ["_ci/docker-entrypoint.sh"] {{- else }} -COPY gotenberg /usr/bin/gotenberg +COPY _build/gotenberg /usr/bin/gotenberg RUN ln -s /usr/bin/gotenberg /usr/local/bin/gotenberg WORKDIR /gotenberg diff --git a/_build/gotenberg b/_build/gotenberg new file mode 100755 index 00000000..acd520dd Binary files /dev/null and b/_build/gotenberg differ diff --git a/_ci/docker-entrypoint.sh b/_ci/docker-entrypoint.sh index fb3bb0a0..869827b4 100755 --- a/_ci/docker-entrypoint.sh +++ b/_ci/docker-entrypoint.sh @@ -21,5 +21,8 @@ else done fi +# Builds the Linux binary. +env GOOS=linux GOARCH=amd64 CGO_ENABLED=0 go build -ldflags "-X main.version=${VERSION}" && mv gotenberg _build/; + # Bye! exit 0; \ No newline at end of file diff --git a/orbit.yml b/orbit.yml index 7c1485de..629a12cf 100644 --- a/orbit.yml +++ b/orbit.yml @@ -9,19 +9,18 @@ tasks: short: Generates all files from blueprints run: - BRANCH="$(git symbolic-ref --short HEAD)"; orbit generate -f _blueprints/README.blueprint.md -o README.md -p "Branch,${BRANCH}" - - orbit generate -f _blueprints/Dockerfile.blueprint -o Dockerfile.tests -p "Image,TESTS" - - orbit generate -f _blueprints/Dockerfile.blueprint -o Dockerfile -p "Image,BUILD" + - orbit generate -f _blueprints/Dockerfile.blueprint -o Dockerfile.ci -p "Image,CI" + - orbit generate -f _blueprints/Dockerfile.blueprint -o Dockerfile -p "Image,MAIN" - - use: tests - short: Runs tests inside a container + - use: ci + short: Runs CI process inside a container run: - - docker build -t gotenberg:tests -f Dockerfile.tests . - - docker run --rm -e "VERSION={{ .Orbit.Version }}" -v "$(pwd)/_ci:/go/src/github.com/thecodingmachine/gotenberg/_ci" gotenberg:tests + - docker build -t gotenberg:ci -f Dockerfile.ci . + - docker run --rm -e "VERSION={{ .Orbit.Version }}" -v "$(pwd)/_ci:/go/src/github.com/thecodingmachine/gotenberg/_ci" -v "$(pwd)/_build:/go/src/github.com/thecodingmachine/gotenberg/_build" gotenberg:ci - use: build - short: Builds a Linux binary and the Docker image + short: Builds the main Docker image run: - - env GOOS=linux GOARCH=amd64 CGO_ENABLED=0 go build -ldflags "-X main.version={{ .Orbit.Version }}" - docker build . -t gotenberg:{{ .Orbit.Version }} - use: up