Add linux static build step

This commit is contained in:
Michiel Borkent 2020-02-23 22:05:00 +01:00
parent 761e7995f7
commit 2285c92e99

View file

@ -70,6 +70,74 @@ jobs:
GRAALVM_HOME: /home/circleci/graalvm-ce-java8-19.3.0
BABASHKA_PLATFORM: linux # used in release script
BABASHKA_TEST_ENV: native
steps:
- checkout
- run:
name: "Pull Submodules"
command: |
git submodule init
git submodule update
- restore_cache:
keys:
- linux-{{ checksum "project.clj" }}-{{ checksum ".circleci/config.yml" }}
- run:
name: Install Clojure
command: |
wget https://download.clojure.org/install/linux-install-1.10.1.447.sh
chmod +x linux-install-1.10.1.447.sh
sudo ./linux-install-1.10.1.447.sh
- run:
name: Install lsof
command: |
sudo apt-get install lsof
- run:
name: Install native dev tools
command: |
sudo apt-get update
sudo apt-get -y install gcc g++ zlib1g-dev
- run:
name: Download GraalVM
command: |
cd ~
if ! [ -d graalvm-ce-java8-19.3.0 ]; then
curl -O -sL https://github.com/graalvm/graalvm-ce-builds/releases/download/vm-19.3.0/graalvm-ce-java8-linux-amd64-19.3.0.tar.gz
tar xzf graalvm-ce-java8-linux-amd64-19.3.0.tar.gz
fi
- run:
name: Build binary
command: |
script/compile
no_output_timeout: 30m
- run:
name: Run tests
command: |
script/test
script/run_lib_tests
- run:
name: Release
command: |
.circleci/script/release
- save_cache:
paths:
- ~/.m2
- ~/graalvm-ce-java8-19.3.0
key: linux-{{ checksum "project.clj" }}-{{ checksum ".circleci/config.yml" }}
- store_artifacts:
path: /tmp/release
destination: release
- run:
name: Publish artifact link to Slack
command: |
./bb .circleci/script/publish_artifact.clj
linux-static:
docker:
- image: circleci/clojure:lein-2.8.1
working_directory: ~/repo
environment:
LEIN_ROOT: "true"
GRAALVM_HOME: /home/circleci/graalvm-ce-java8-19.3.0
BABASHKA_PLATFORM: linux-static # used in release script
BABASHKA_TEST_ENV: native
BABASHKA_STATIC: true
steps:
- checkout
@ -104,10 +172,6 @@ jobs:
curl -O -sL https://github.com/graalvm/graalvm-ce-builds/releases/download/vm-19.3.0/graalvm-ce-java8-linux-amd64-19.3.0.tar.gz
tar xzf graalvm-ce-java8-linux-amd64-19.3.0.tar.gz
fi
# - run:
# name: Install GraalVM SSL libs
# command: |
# .circleci/script/graalvm_ssl
- run:
name: Build binary
command: |
@ -118,10 +182,6 @@ jobs:
command: |
script/test
script/run_lib_tests
# - run:
# name: Performance report
# command: |
# .circleci/script/performance
- run:
name: Release
command: |
@ -172,10 +232,6 @@ jobs:
curl -O -sL https://github.com/graalvm/graalvm-ce-builds/releases/download/vm-19.3.0/graalvm-ce-java8-darwin-amd64-19.3.0.tar.gz
tar xzf graalvm-ce-java8-darwin-amd64-19.3.0.tar.gz
fi
# - run:
# name: Install GraalVM SSL libs
# command: |
# .circleci/script/graalvm_ssl
- run:
name: Build binary
command: |
@ -186,10 +242,6 @@ jobs:
command: |
script/test
script/run_lib_tests
# - run:
# name: Performance report
# command: |
# .circleci/script/performance
- run:
name: Release
command: |
@ -250,6 +302,7 @@ workflows:
jobs:
- jvm
- linux
- linux-static
- mac
- deploy:
filters:
@ -258,6 +311,7 @@ workflows:
requires:
- jvm
- linux
- linux-static
- mac
- docker:
filters:
@ -266,4 +320,5 @@ workflows:
requires:
- jvm
- linux
- linux-static
- mac