Luc Wollants Luc Wollants - 1 year ago 120
PHP Question

codecov.io gives error in combination with Bitbucket pipelines

I did set up a private repo on Bitbucket to host a PHP project. For this project I also use the pipelines integration.

This is the content of my pipelines yaml file:

image: php:7.1.4

pipelines:
default:
- step:
script:
- ./install_xdebug.sh
- ./install_mailhog.sh
- ./install_composer.sh
- composer install
- vendor/bin/phpunit --coverage-clover=coverage.xml
- if [ $? -eq 0 ]; then bash <(curl -s https://codecov.io/bash); fi


I'm able to generate a code coverage file with Xdebug:

Generating code coverage report in Clover XML format ... done


The next part is uploading this file to codecov.io but this part fails with an error

x> No CI provider detected.
Testing inside Docker? http://docs.codecov.io/docs/testing-with-docker
Testing with Tox? https://docs.codecov.io/docs/python#section-testing-with-tox
project root: .
/dev/fd/63: line 739: git: command not found
/dev/fd/63: line 739: hg: command not found
--> token set from env
Yaml not found, that's ok! Learn more at http://docs.codecov.io/docs/codecov-yaml
==> Running gcov in . (disable via -X gcov)
==> Searching for coverage reports in:
+ .
-> Found 1 reports
==> Detecting git/mercurial file structure
==> Reading reports
+ ./coverage.xml bytes=81581
==> Appending adjustments
http://docs.codecov.io/docs/fixing-reports
+ Found adjustments
==> Uploading reports
url: https://codecov.io
query: branch=&commit=&build=&build_url=&name=&tag=&slug=&yaml=&service=&flags=&pr=&job=
-> Pinging Codecov
HTTP 400
missing required properties: [&#39;commit&#39;]

Answer Source

The error message was a bit obscure. The real issue was a missing installation of git in the php 7.1.4 docker image. I solved this by adding an apt-get command in the pipelines config file.

apt-get install -y git

Recommended from our users: Dynamic Network Monitoring from WhatsUp Gold from IPSwitch. Free Download