@@ -7,45 +7,160 @@ workflows:
77 jobs :
88 - build
99 - build-nightly
10+ - build-lts-11
11+ - build-lts-10
12+ - build-lts-9
1013
1114references :
1215
13- restore_backend_stack_cache : &restore_backend_stack_cache
16+ # Default branch / master
17+
18+ default_cache_key : &default_cache_key
19+ v2-stack-{{ checksum "stack.yaml" }}-{{ checksum "package.yaml" }}
20+
21+ restore_stack_default_cache : &restore_stack_default_cache
22+ restore_cache :
23+ keys :
24+ - *default_cache_key
25+ - v2-stack-{{ checksum "stack.yaml" }}-
26+ - v2-stack
27+
28+ save_stack_default_cache : &save_stack_default_cache
29+ save_cache :
30+ key : *default_cache_key
31+ paths :
32+ - ~/.stack
33+
34+ # nightly
35+
36+ nightly_cache_key : &nightly_cache_key
37+ v2-stack-nightly-{{ checksum "package.yaml" }}
38+
39+ restore_stack_nightly_cache : &restore_stack_nightly_cache
40+ restore_cache :
41+ keys :
42+ - *nightly_cache_key
43+ - v2-stack
44+
45+ save_stack_nightly_cache : &save_stack_nightly_cache
46+ save_cache :
47+ key : *nightly_cache_key
48+ paths :
49+ - ~/.stack
50+
51+ # lts-11
52+
53+ lts-11_cache_key : <s-11_cache_key
54+ v2-stack-lts-11-{{ checksum "package.yaml" }}
55+
56+ restore_stack_lts-11_cache : &restore_stack_lts-11_cache
57+ restore_cache :
58+ keys :
59+ - *lts-11_cache_key
60+ - v2-stack
61+
62+ save_stack_lts-11_cache : &save_stack_lts-11_cache
63+ save_cache :
64+ key : *lts-11_cache_key
65+ paths :
66+ - ~/.stack
67+
68+ # lts-10
69+
70+ lts-10_cache_key : <s-10_cache_key
71+ v2-stack-lts-10-{{ checksum "package.yaml" }}
72+
73+ restore_stack_lts-10_cache : &restore_stack_lts-10_cache
74+ restore_cache :
75+ keys :
76+ - *lts-10_cache_key
77+ - v2-stack
78+
79+ save_stack_lts-10_cache : &save_stack_lts-10_cache
80+ save_cache :
81+ key : *lts-10_cache_key
82+ paths :
83+ - ~/.stack
84+
85+ # lts-9
86+
87+ lts-9_cache_key : <s-9_cache_key
88+ v2-stack-lts-9-{{ checksum "package.yaml" }}
89+
90+ restore_stack_lts-9_cache : &restore_stack_lts-9_cache
1491 restore_cache :
1592 keys :
16- - v1-cache-stack-{{ .Branch }}-{{ checksum "package.yaml" }}
17- - v1-cache-stack-{{ .Branch }}
18- - v1-cache-stack
93+ - *lts-9_cache_key
94+ - v2-stack
1995
20- save_backend_stack_cache : &save_backend_stack_cache
96+ save_stack_lts-9_cache : &save_stack_lts-9_cache
2197 save_cache :
22- key : v1-cache-stack-{{ .Branch }}-{{ checksum "package.yaml" }}
98+ key : *lts-9_cache_key
2399 paths :
24100 - ~/.stack
25101
26102jobs :
27103 build :
28- working_directory : ~/react-ssr/react-ssr
29- parallelism : 1
30104 docker :
31105 - image : fpco/stack-build:lts-12.7
106+ environment :
107+ STACK_ARGS : " --resolver nightly --jobs 2"
32108 steps :
33109 - checkout
34- - *restore_backend_stack_cache
35- - run : stack setup --no-terminal
36- - run : stack install --no-terminal --only-dependencies --jobs 2
37- - *save_backend_stack_cache
38- - run : make test
110+ - *restore_stack_default_cache
111+ - run : stack setup $STACK_ARGS
112+ - run : stack install $STACK_ARGS --only-dependencies --test --no-run-tests
113+ - *save_stack_default_cache
114+ - run : stack test --no-terminal
39115
40116 build-nightly :
41- working_directory : ~/react-ssr/react-ssr
42- parallelism : 1
43117 docker :
44118 - image : fpco/stack-build:latest
119+ environment :
120+ STACK_ARGS : " --resolver nightly --no-terminal --jobs 2"
121+ steps :
122+ - checkout
123+ - *restore_stack_nightly_cache
124+ - run : stack setup $STACK_ARGS
125+ - run : stack install $STACK_ARGS --only-dependencies --test --no-run-tests
126+ - *save_stack_nightly_cache
127+ - run : stack test $STACK_ARGS
128+
129+ build-lts-11 :
130+ docker :
131+ - image : fpco/stack-build:lts-11
132+ environment :
133+ STACK_ARGS : " --resolver lts-11 --no-terminal --jobs 2"
134+ steps :
135+ - checkout
136+ - *restore_stack_lts-11_cache
137+ - run : stack setup $STACK_ARGS
138+ - run : stack install $STACK_ARGS --only-dependencies --test --no-run-tests
139+ - *save_stack_lts-11_cache
140+ - run : stack test $STACK_ARGS
141+
142+ build-lts-10 :
143+ docker :
144+ - image : fpco/stack-build:lts-10
145+ environment :
146+ STACK_ARGS : " --resolver lts-10 --no-terminal --jobs 2"
147+ steps :
148+ - checkout
149+ - *restore_stack_lts-10_cache
150+ - run : stack setup $STACK_ARGS
151+ - run : stack install $STACK_ARGS --only-dependencies --test --no-run-tests
152+ - *save_stack_lts-10_cache
153+ - run : stack test $STACK_ARGS
154+
155+ build-lts-9 :
156+ docker :
157+ - image : fpco/stack-build:lts-9
158+ environment :
159+ STACK_ARGS : " --resolver lts-9 --no-terminal --jobs 2"
45160 steps :
46161 - checkout
47- - *restore_backend_stack_cache
48- - run : stack setup --no-terminal --resolver nightly
49- - run : stack install --no-terminal --only-dependencies --jobs 2 --test --resolver nightly
50- - run : make react react-dom
51- - run : stack test --no-terminal --resolver nightly
162+ - *restore_stack_lts-9_cache
163+ - run : stack setup $STACK_ARGS
164+ - run : stack install $STACK_ARGS --only-dependencies --test --no-run-tests
165+ - *save_stack_lts-9_cache
166+ - run : stack test $STACK_ARGS
0 commit comments