2
2
# Use the latest 2.1 version of CircleCI pipeline process engine. See:
3
3
# https://circleci.com/docs/2.0/configuration-reference
4
4
version : 2.1
5
+ orbs :
6
+ codecov : codecov/codecov@4.1.0
5
7
# Orchestrate or schedule a set of jobs
6
8
workflows :
7
9
docker-compose :
46
48
pushd metacpan-docker
47
49
./src/metacpan-api/wait-for-es.sh http://localhost:9200 elasticsearch_test --
48
50
name : wait for ES
49
- # We are running coverage inside the container, but creating the report
50
- # from outside of the container, so Devel::Cover is installed twice. We
51
- # are relying on environment variables from the host to be available when
51
+ # We are relying on environment variables from the host to be available when
52
52
# we publish the report, so we publish from the host rather than trying
53
- # to propagate env variables to the container. There is a CircleCI orb
54
- # that can publish the report for us, but it is hard to debug. I had to
55
- # set up the following config in order to debug the orb, so we may as
56
- # well keep it around for now.
53
+ # to propagate env variables to the container.
57
54
- run :
58
55
command : |
59
56
pushd metacpan-docker
@@ -64,16 +61,19 @@ jobs:
64
61
pushd metacpan-docker
65
62
docker-compose exec -T api_test env HARNESS_PERL_SWITCHES="-MDevel::Cover=+ignore,^t/|^test-data/|^etc/" prove -lr --jobs 4 t
66
63
name : run tests with coverage
67
- # The report ends up being owned by root. We need to chown it so that
68
- # the cover command can make changes to it.
69
64
- run :
70
65
command : |
71
66
pushd metacpan-docker/src/metacpan-api
72
- sudo apt install cpanminus
73
- sudo cpanm --notest Devel::Cover Devel::Cover::Report::Codecov
67
+ cover -report json
68
+ name : create coverage report
69
+ # The report ends up being owned by root, but we may not need to chown it.
70
+ - run :
71
+ command : |
72
+ pushd metacpan-docker/src/metacpan-api
74
73
sudo chown -R circleci.circleci cover_db
75
- cover -report codecov
76
- name : upload coverage report
74
+ name : chown coverage report
75
+ - codecov/upload :
76
+ file : metacpan-docker/src/metacpan-api/cover_db/cover.json
77
77
- run :
78
78
command : |
79
79
pushd metacpan-docker
0 commit comments