1
1
# Use the latest 2.1 version of CircleCI pipeline process engine. See: https://circleci.com/docs/2.0/configuration-reference
2
2
version : 2.1
3
3
# Use a package of configuration called an orb.
4
- orbs :
5
- # Declare a dependency on the welcome-orb
6
- welcome :
circleci/[email protected]
7
4
# Orchestrate or schedule a set of jobs
8
5
workflows :
9
- # Name the workflow "welcome"
10
- welcome :
6
+ docker-compose :
11
7
# Run the welcome/run job in its own container
12
8
jobs :
13
- - welcome/run
9
+ - build-and-test
10
+ jobs :
11
+ build-and-test :
12
+ machine : true
13
+ steps :
14
+ - run :
15
+ name : Install Docker Compose
16
+ command : |
17
+ set -x
18
+ curl -L https://github.com/docker/compose/releases/download/1.26.2/docker-compose-`uname -s`-`uname -m` > ~/docker-compose
19
+ sudo chmod +x ~/docker-compose
20
+ - run :
21
+ command : >
22
+ git clone https://github.com/metacpan/metacpan-docker.git &&
23
+ cd metacpan-docker &&
24
+ git checkout -b oalders/api-test origin/oalders/api-test
25
+ name : metacpan-docker checkout
26
+ - run :
27
+ command : >
28
+ pushd metacpan-docker &&
29
+ ./bin/metacpan-docker init
30
+ name : clone missing repositories
31
+ - run :
32
+ command : >
33
+ pushd metacpan-docker/src/metacpan-api &&
34
+ git checkout -b ${CIRCLE_BRANCH} origin/${CIRCLE_BRANCH}
35
+ name : metacpan-api checkout
36
+ - run :
37
+ command : >
38
+ pushd metacpan-docker &&
39
+ ~/docker-compose build --build-arg CPM_ARGS='--with-test' api_test
40
+ name : compose build
41
+ - run :
42
+ command : >
43
+ pushd metacpan-docker &&
44
+ ./bin/metacpan-docker init &&
45
+ ~/docker-compose --verbose up -d api_test
46
+ name : compose up
47
+ - run :
48
+ command : >
49
+ pushd metacpan-docker/src/metacpan-api &&
50
+ ./wait-for-es.sh http://localhost:9200
51
+ name : wait for ES
52
+ - run :
53
+ command : >
54
+ pushd metacpan-docker &&
55
+ ~/docker-compose exec -T api_test prove -lvr t
56
+ - run :
57
+ command : >
58
+ pushd metacpan-docker &&
59
+ ~/docker-compose logs &&
60
+ docker stats --no-stream &&
61
+ docker ps -a | head
62
+ name : docker-compose logs
63
+ when : on_fail
0 commit comments