-
Notifications
You must be signed in to change notification settings - Fork 4
/
circle.yml
59 lines (56 loc) · 2.11 KB
/
circle.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
machine:
services:
- docker
dependencies:
cache_directories:
- frontend/elm-stuff/build-artifacts
- frontend/test/elm-stuff/build-artifacts
- ~/sysconfcpus
- ~/closure-compiler
pre:
- |
if [ ! -d $HOME/closure-compiler ];
then
cd $HOME;
mkdir -p closure-compiler;
curl -L https://dl.google.com/closure-compiler/compiler-latest.zip > closure-compiler/compiler.zip;
apt-get install unzip;
cd closure-compiler;
unzip compiler.zip;
mv closure-compiler-*.jar compiler.jar;
fi
- | # epic build time improvement - see https://github.com/elm-lang/elm-compiler/issues/1473#issuecomment-245704142
if [ ! -d $HOME/sysconfcpus/bin ];
then
git clone https://github.com/obmarg/libsysconfcpus.git;
cd libsysconfcpus;
./configure --prefix=$HOME/sysconfcpus;
make && make install;
cd ..;
fi
- npm install -g elm@0.18.0
- npm install -g elm-test@0.18.2
- mv $(npm config get prefix)/bin/elm-make $(npm config get prefix)/bin/elm-make-old
- printf '%s\n\n' '#\!/bin/bash' 'echo "Running elm-make with sysconfcpus -n 2"' '$HOME/sysconfcpus/bin/sysconfcpus -n 2 elm-make-old "$@"' > $(npm config get prefix)/bin/elm-make
- chmod +x $(npm config get prefix)/bin/elm-make
- elm make --yes src/Main.elm --output ../backend/dist/elm.min.js:
pwd: frontend
- elm make --yes AllTests.elm --output /dev/null:
pwd: frontend/test
- docker build --rm=false -t registry.heroku.com/confs-info/web .:
pwd: backend
test:
override:
- elm-test AllTests.elm:
pwd: frontend/test
- docker-compose -f docker-compose.ci.yml run test:
pwd: backend
deployment:
production:
branch: master
commands:
- printf '%s\n' "machine api.heroku.com" " login $HEROKU_EMAIL" " password $HEROKU_API_TOKEN" > ~/.netrc
- chmod 0600 ~/.netrc
- heroku plugins:install heroku-container-registry
- docker login --email=_ --username=_ --password=$(heroku auth:token) registry.heroku.com
- docker push registry.heroku.com/confs-info/web