circleci: Break out a plain build and cache job
This commit is contained in:
committed by
Steve Chavez
parent
da573a1805
commit
e59c72cff3
+48
-5
@@ -52,6 +52,40 @@ build-distro-bin: &build-distro-bin
|
|||||||
key: v1-{{ .Environment.CIRCLE_JOB }}-dependencies-{{ checksum "postgrest.cabal" }}-{{ checksum "stack.yaml" }}
|
key: v1-{{ .Environment.CIRCLE_JOB }}-dependencies-{{ checksum "postgrest.cabal" }}-{{ checksum "stack.yaml" }}
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
|
build-cache:
|
||||||
|
docker:
|
||||||
|
- image: circleci/buildpack-deps:trusty
|
||||||
|
steps:
|
||||||
|
- checkout
|
||||||
|
- restore_cache:
|
||||||
|
keys:
|
||||||
|
- v1-stack-dependencies-{{ checksum "postgrest.cabal" }}-{{ checksum "stack.yaml" }}
|
||||||
|
- run:
|
||||||
|
name: install stack & dependencies
|
||||||
|
command: |
|
||||||
|
curl -L https://github.com/commercialhaskell/stack/releases/download/v2.1.3/stack-2.1.3-linux-x86_64.tar.gz | tar zx -C /tmp
|
||||||
|
sudo mv /tmp/stack-2.1.3-linux-x86_64/stack /usr/bin
|
||||||
|
sudo apt-get update
|
||||||
|
sudo apt-get install -y libgmp-dev
|
||||||
|
sudo apt-get install -y --only-upgrade binutils
|
||||||
|
sudo apt-get install -y postgresql-client
|
||||||
|
stack setup
|
||||||
|
- run:
|
||||||
|
name: build src and tests dependencies
|
||||||
|
command: |
|
||||||
|
stack build --fast -j1 --only-dependencies
|
||||||
|
stack build --fast --test --no-run-tests --only-dependencies
|
||||||
|
- save_cache:
|
||||||
|
paths:
|
||||||
|
- "~/.stack"
|
||||||
|
- ".stack-work"
|
||||||
|
key: v1-stack-dependencies-{{ checksum "postgrest.cabal" }}-{{ checksum "stack.yaml" }}
|
||||||
|
- run:
|
||||||
|
name: build src and tests
|
||||||
|
command: |
|
||||||
|
stack build --fast -j1
|
||||||
|
stack build --fast --test --no-run-tests
|
||||||
|
|
||||||
style:
|
style:
|
||||||
docker:
|
docker:
|
||||||
- image: circleci/buildpack-deps:trusty
|
- image: circleci/buildpack-deps:trusty
|
||||||
@@ -122,11 +156,6 @@ jobs:
|
|||||||
command: |
|
command: |
|
||||||
stack build --fast -j1 --only-dependencies
|
stack build --fast -j1 --only-dependencies
|
||||||
stack build --fast --test --no-run-tests --only-dependencies
|
stack build --fast --test --no-run-tests --only-dependencies
|
||||||
- save_cache:
|
|
||||||
paths:
|
|
||||||
- "~/.stack"
|
|
||||||
- ".stack-work"
|
|
||||||
key: v1-stack-dependencies-{{ checksum "postgrest.cabal" }}-{{ checksum "stack.yaml" }}
|
|
||||||
- run:
|
- run:
|
||||||
name: build src and tests
|
name: build src and tests
|
||||||
command: |
|
command: |
|
||||||
@@ -359,6 +388,10 @@ workflows:
|
|||||||
version: 2
|
version: 2
|
||||||
build-test-release:
|
build-test-release:
|
||||||
jobs:
|
jobs:
|
||||||
|
- build-cache:
|
||||||
|
filters:
|
||||||
|
tags:
|
||||||
|
only: /v[0-9]+(\.[0-9]+)*/
|
||||||
- style:
|
- style:
|
||||||
filters:
|
filters:
|
||||||
tags:
|
tags:
|
||||||
@@ -367,22 +400,32 @@ workflows:
|
|||||||
filters:
|
filters:
|
||||||
tags:
|
tags:
|
||||||
only: /v[0-9]+(\.[0-9]+)*/
|
only: /v[0-9]+(\.[0-9]+)*/
|
||||||
|
requires:
|
||||||
|
- build-cache
|
||||||
- build-test-9.6:
|
- build-test-9.6:
|
||||||
filters:
|
filters:
|
||||||
tags:
|
tags:
|
||||||
only: /v[0-9]+(\.[0-9]+)*/
|
only: /v[0-9]+(\.[0-9]+)*/
|
||||||
|
requires:
|
||||||
|
- build-cache
|
||||||
- build-test-10:
|
- build-test-10:
|
||||||
filters:
|
filters:
|
||||||
tags:
|
tags:
|
||||||
only: /v[0-9]+(\.[0-9]+)*/
|
only: /v[0-9]+(\.[0-9]+)*/
|
||||||
|
requires:
|
||||||
|
- build-cache
|
||||||
- build-test-11:
|
- build-test-11:
|
||||||
filters:
|
filters:
|
||||||
tags:
|
tags:
|
||||||
only: /v[0-9]+(\.[0-9]+)*/
|
only: /v[0-9]+(\.[0-9]+)*/
|
||||||
|
requires:
|
||||||
|
- build-cache
|
||||||
- build-test-12:
|
- build-test-12:
|
||||||
filters:
|
filters:
|
||||||
tags:
|
tags:
|
||||||
only: /v[0-9]+(\.[0-9]+)*/
|
only: /v[0-9]+(\.[0-9]+)*/
|
||||||
|
requires:
|
||||||
|
- build-cache
|
||||||
- build-prof-test:
|
- build-prof-test:
|
||||||
filters:
|
filters:
|
||||||
tags:
|
tags:
|
||||||
|
|||||||
Reference in New Issue
Block a user