From 83d7926f0b29dd6ab18b86816cd897e333f72107 Mon Sep 17 00:00:00 2001 From: Olaf Alders Date: Sun, 1 Sep 2024 23:19:50 -0400 Subject: [PATCH] Use codecov orb for report upload --- .circleci/config.yml | 26 +++++++++++++------------- 1 file changed, 13 insertions(+), 13 deletions(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index b8f7955c1..4e90b1117 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -2,6 +2,8 @@ # Use the latest 2.1 version of CircleCI pipeline process engine. See: # https://circleci.com/docs/2.0/configuration-reference version: 2.1 +orbs: + codecov: codecov/codecov@4.1.0 # Orchestrate or schedule a set of jobs workflows: docker-compose: @@ -46,14 +48,9 @@ jobs: pushd metacpan-docker ./src/metacpan-api/wait-for-es.sh http://localhost:9200 elasticsearch_test -- name: wait for ES - # We are running coverage inside the container, but creating the report - # from outside of the container, so Devel::Cover is installed twice. We - # are relying on environment variables from the host to be available when + # We are relying on environment variables from the host to be available when # we publish the report, so we publish from the host rather than trying - # to propagate env variables to the container. There is a CircleCI orb - # that can publish the report for us, but it is hard to debug. I had to - # set up the following config in order to debug the orb, so we may as - # well keep it around for now. + # to propagate env variables to the container. - run: command: | pushd metacpan-docker @@ -64,16 +61,19 @@ jobs: pushd metacpan-docker docker-compose exec -T api_test env HARNESS_PERL_SWITCHES="-MDevel::Cover=+ignore,^t/|^test-data/|^etc/" prove -lr --jobs 4 t name: run tests with coverage - # The report ends up being owned by root. We need to chown it so that - # the cover command can make changes to it. - run: command: | pushd metacpan-docker/src/metacpan-api - sudo apt install cpanminus - sudo cpanm --notest Devel::Cover Devel::Cover::Report::Codecov + cover -report json + name: create coverage report + # The report ends up being owned by root, but we may not need to chown it. + - run: + command: | + pushd metacpan-docker/src/metacpan-api sudo chown -R circleci.circleci cover_db - cover -report codecov - name: upload coverage report + name: chown coverage report + - codecov/upload: + file: metacpan-docker/src/metacpan-api/cover_db/cover.json - run: command: | pushd metacpan-docker