CircleCI config

This commit is contained in:
Michiel Borkent 2020-04-05 23:51:26 +02:00 committed by GitHub
parent 2272536026
commit 3499310944
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
3 changed files with 14 additions and 1 deletions

View file

@ -12,6 +12,7 @@ jobs:
environment: environment:
LEIN_ROOT: "true" LEIN_ROOT: "true"
BABASHKA_PLATFORM: linux # could be used in jar name BABASHKA_PLATFORM: linux # could be used in jar name
resource_class: large
steps: steps:
- checkout - checkout
- run: - run:
@ -70,6 +71,8 @@ jobs:
GRAALVM_HOME: /home/circleci/graalvm-ce-java8-19.3.1 GRAALVM_HOME: /home/circleci/graalvm-ce-java8-19.3.1
BABASHKA_PLATFORM: linux # used in release script BABASHKA_PLATFORM: linux # used in release script
BABASHKA_TEST_ENV: native BABASHKA_TEST_ENV: native
BABASHKA_XMX: "-J-Xmx7g"
resource_class: large
steps: steps:
- checkout - checkout
- run: - run:
@ -139,6 +142,8 @@ jobs:
BABASHKA_PLATFORM: linux-static # used in release script BABASHKA_PLATFORM: linux-static # used in release script
BABASHKA_TEST_ENV: native BABASHKA_TEST_ENV: native
BABASHKA_STATIC: true BABASHKA_STATIC: true
BABASHKA_XMX: "-J-Xmx7g"
resource_class: large
steps: steps:
- checkout - checkout
- run: - run:
@ -205,6 +210,8 @@ jobs:
GRAALVM_HOME: /Users/distiller/graalvm-ce-java8-19.3.1/Contents/Home GRAALVM_HOME: /Users/distiller/graalvm-ce-java8-19.3.1/Contents/Home
BABASHKA_PLATFORM: macos # used in release script BABASHKA_PLATFORM: macos # used in release script
BABASHKA_TEST_ENV: native BABASHKA_TEST_ENV: native
BABASHKA_XMX: "-J-Xmx7g"
resource_class: large
steps: steps:
- checkout - checkout
- run: - run:
@ -259,6 +266,7 @@ jobs:
command: | command: |
./bb .circleci/script/publish_artifact.clj ./bb .circleci/script/publish_artifact.clj
deploy: deploy:
resource_class: large
docker: docker:
- image: circleci/clojure:lein-2.8.1 - image: circleci/clojure:lein-2.8.1
working_directory: ~/repo working_directory: ~/repo
@ -282,6 +290,7 @@ jobs:
- ~/.m2 - ~/.m2
key: v1-dependencies-{{ checksum "project.clj" }} key: v1-dependencies-{{ checksum "project.clj" }}
docker: docker:
resource_class: large
docker: docker:
- image: circleci/buildpack-deps:stretch - image: circleci/buildpack-deps:stretch
steps: steps:

View file

@ -17,7 +17,7 @@ fi
if [ -z "$CIRCLE_PULL_REQUEST" ] && [ "$CIRCLE_BRANCH" = "master" ]; then if [ -z "$CIRCLE_PULL_REQUEST" ] && [ "$CIRCLE_BRANCH" = "master" ]; then
echo "Building Docker image $image_name:$image_tag" echo "Building Docker image $image_name:$image_tag"
echo "$DOCKERHUB_PASS" | docker login -u "$DOCKERHUB_USER" --password-stdin echo "$DOCKERHUB_PASS" | docker login -u "$DOCKERHUB_USER" --password-stdin
docker build -t "$image_name" . docker build -t "$image_name" --build-arg BABASHKA_XMX="-J-Xmx7g" .
docker tag "$image_name:$latest_tag" "$image_name:$image_tag" docker tag "$image_name:$latest_tag" "$image_name:$image_tag"
# we only update latest when it's not a SNAPSHOT version # we only update latest when it's not a SNAPSHOT version
if [ "false" = "$snapshot" ]; then if [ "false" = "$snapshot" ]; then

View file

@ -1,14 +1,18 @@
FROM clojure:lein-2.9.1 AS BASE FROM clojure:lein-2.9.1 AS BASE
ARG BABASHKA_XMX="-J-Xmx3g"
RUN apt update RUN apt update
RUN apt install --no-install-recommends -yy curl unzip build-essential zlib1g-dev RUN apt install --no-install-recommends -yy curl unzip build-essential zlib1g-dev
WORKDIR "/opt" WORKDIR "/opt"
RUN curl -sLO https://github.com/graalvm/graalvm-ce-builds/releases/download/vm-19.3.1/graalvm-ce-java8-linux-amd64-19.3.1.tar.gz RUN curl -sLO https://github.com/graalvm/graalvm-ce-builds/releases/download/vm-19.3.1/graalvm-ce-java8-linux-amd64-19.3.1.tar.gz
RUN tar -xzf graalvm-ce-java8-linux-amd64-19.3.1.tar.gz RUN tar -xzf graalvm-ce-java8-linux-amd64-19.3.1.tar.gz
ENV GRAALVM_HOME="/opt/graalvm-ce-java8-19.3.1" ENV GRAALVM_HOME="/opt/graalvm-ce-java8-19.3.1"
ENV JAVA_HOME="/opt/graalvm-ce-java8-19.3.1/bin" ENV JAVA_HOME="/opt/graalvm-ce-java8-19.3.1/bin"
ENV PATH="$PATH:$JAVA_HOME" ENV PATH="$PATH:$JAVA_HOME"
ENV BABASHKA_STATIC="true" ENV BABASHKA_STATIC="true"
ENV BABASHKA_XMX=$BABASHKA_XMX
COPY . . COPY . .
RUN ./script/compile RUN ./script/compile