Merge pull request #622 from vsoch/test/shorter-docker-builds

Building akin to azure-pipelines to shorten CircleCI builds
This commit is contained in:
Jonathan Turner 2019-09-09 08:58:43 +12:00 committed by GitHub
commit 4ce6a9c9f7
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 17 additions and 22 deletions

View File

@ -9,15 +9,6 @@ version: 2.1
commands:
check_token:
description: Check that QUAY_TOKEN is provided in environment
steps:
- run:
if [[ -z "${QUAY_TOKEN}" ]]; then
echo "QUAY_TOKEN is undefined. Add to CircleCI environment to continue."
exit 1;
fi
pull_cache:
description: Pulls Quay.io docker images usable for our cache
steps:
@ -46,7 +37,6 @@ workflows:
ignore:
- master
before_build:
- check_token
- pull_cache
after_build:
- run:
@ -76,7 +66,6 @@ workflows:
tags:
only: /^v.*/
before_build:
- check_token
- pull_cache
after_build:
- run:
@ -90,7 +79,6 @@ workflows:
echo "Version for Docker tag is ${DOCKER_TAG}"
docker tag quay.io/nushell/nu-base:latest quay.io/nushell/nu-base:${DOCKER_TAG}
docker tag quay.io/nushell/nu:latest quay.io/nushell/nu:${DOCKER_TAG}
docker login -u="nushell+circleci" -p="${QUAY_TOKEN}" quay.io
docker push quay.io/nushell/nu-base
docker push quay.io/nushell/nu
@ -105,9 +93,8 @@ workflows:
registry: quay.io
tag: devel
dockerfile: docker/Dockerfile.nu-base
extra_build_args: --cache-from=quay.io/nushell/nu-base:latest,quay.io/nushell/nu:latest
extra_build_args: --cache-from=quay.io/nushell/nu-base:latest,quay.io/nushell/nu:latest --build-arg RELEASE=true
before_build:
- check_token
- pull_cache
filters:
branches:
@ -120,6 +107,5 @@ workflows:
- run:
name: Publish Development Docker Tags
command: |
docker login -u="nushell+circleci" -p="${QUAY_TOKEN}" quay.io
docker push quay.io/nushell/nu-base:devel
docker push quay.io/nushell/nu:devel

View File

@ -3,3 +3,4 @@ FROM quay.io/nushell/nu-base:${FROMTAG} as base
FROM rust:1.37-slim
COPY --from=base /usr/local/bin/nu /usr/local/bin/nu
ENTRYPOINT ["nu"]
CMD ["-l", "info"]

View File

@ -1,4 +1,4 @@
FROM rust:1.37-slim
FROM ubuntu:16.04
# docker build -f docker/Dockerfile.nu-base -t nushell/nu-base .
# docker run -it nushell/nu-base
@ -7,12 +7,20 @@ ENV DEBIAN_FRONTEND noninteractive
RUN apt-get update && apt-get install -y libssl-dev \
libxcb-composite0-dev \
libx11-dev \
pkg-config
RUN USER=root cargo new --bin /code
pkg-config \
curl
ARG RELEASE=false
WORKDIR /code
ADD . /code
RUN cargo build --release && cargo run --release
RUN cp target/release/nu /usr/local/bin
COPY ./rust-toolchain ./rust-toolchain
RUN curl https://sh.rustup.rs -sSf | sh -s -- -y --no-modify-path --default-toolchain `cat rust-toolchain`
ENV PATH=/root/.cargo/bin:$PATH
COPY . /code
RUN echo "##vso[task.prependpath]/root/.cargo/bin" && \
rustc -Vv && \
if $RELEASE; then cargo build --release && cargo run --release; \
cp target/release/nu /usr/local/bin; \
else cargo build; \
cp target/debug/nu /usr/local/bin; fi;
ENTRYPOINT ["nu"]
CMD ["-l", "info"]