Weave Code
Weaver
Helps Laravel developers discover, compare, and choose open-source packages. See popularity, security, maintainers, and scores at a glance to make better decisions.
Feedback
Share your thoughts, report bugs, or suggest improvements.
Subject
Message

Robo Coveralls Kit Laravel Package

cloak/robo-coveralls-kit

Coveralls integration kit for the Robo task runner. Generate and upload PHP code coverage reports to Coveralls from your build pipeline with minimal configuration.

View on GitHub
Deep Wiki
Context7

Getting Started

Read this first: the package is archived (last release 2015‑08‑23), has zero stars, zero dependents, and targets the PHP 5.x / Robo 0.x era. Before you write a single line of integration code, confirm it will even install against your Laravel app — it almost certainly will not on PHP 8+ without --ignore-platform-reqs and dependency pinning. Treat the steps below as an evaluation path, not a recommended install.

Minimal evaluation steps:

composer require --dev cloak/robo-coveralls-kit

If Composer resolves (unlikely on a modern Laravel skeleton), the first places to look are:

  1. vendor/cloak/robo-coveralls-kit/README.md — the only documentation that exists.
  2. vendor/cloak/robo-coveralls-kit/src/ — the task class itself; it is a thin wrapper, so read it rather than guess at its API.
  3. Your project's RoboFile.php — where the task gets registered and configured.
  4. vendor/cloak/coveralls-kit/ — the underlying uploader library that actually talks to the Coveralls API.

First use case: you already run vendor/bin/robo for build/deploy scripts, you generate a Clover coverage report with PHPUnit, and you want a robo coveralls command that pushes that report to Coveralls instead of invoking a separate binary. That is the entire value proposition — a task-runner entry point for a coverage upload.

For a Laravel developer today, the practical "getting started" answer is: don't. Use php-coveralls, a CI-native Coveralls action, or Codecov instead. Everything below assumes you are maintaining a legacy project that already depends on this.

Implementation Patterns

The only meaningful workflow this package supports is: PHPUnit → Clover XML → Robo task → Coveralls API.

1. Generate coverage first. The task does not run tests; it uploads a file. In phpunit.xml:

<coverage>
    <include>
        <directory suffix=".php">app</directory>
    </include>
    <report>
        <clover outputFile="build/logs/clover.xml"/>
    </report>
</coverage>

Then run vendor/bin/phpunit --coverage-clover build/logs/clover.xml.

2. Register the task in RoboFile.php. The wrapper is thin — expect to set the Clover path and the repo token via the underlying coveralls-kit config, roughly:

class RoboFile extends \Robo\Tasks
{
    public function coveralls()
    {
        // The precise method name depends on the wrapper version;
        // inspect src/ before wiring it in.
        return $this->taskCoveralls()
            ->clover('build/logs/clover.xml')
            ->run();
    }
}

3. Keep the token in the environment. COVERALLS_REPO_TOKEN should come from your CI secret store, never from RoboFile.php or .env committed to the repo.

4. Chain it after the test task. In Robo's collection model:

$this->taskPhpUnit()->configFile('phpunit.xml')->run();
$this->taskCoveralls()->clover('build/logs/clover.xml')->run();

5. CI integration tips.

  • Run it only on one job in a matrix, or parallel jobs will race and overwrite each other's coverage on Coveralls.
  • Run it only on the branch you care about (usually main and PRs), not every feature push.
  • Upload after the coverage file is written and before the CI workspace is torn down.

6. Integration boundary with Laravel. There is no Laravel service provider, facade, or config file here — it is a CLI build tool. Do not try to wire it into AppServiceProvider or an Artisan command; keep it purely in RoboFile.php and CI YAML so it never leaks into application runtime dependencies.

Gotchas and Tips

  • Archived and unmaintained. No security patches, no PHP 8 support, no response to issues. The "extension point" is forking it.
  • API drift. coveralls-kit targets the legacy Coveralls API. Coveralls has moved on; even if the package installs, uploads may be rejected or silently ignored. Verify with a real upload before trusting your coverage badges.
  • Dependency conflicts are the norm. The package pins old consolidation/robo and old Guzzle versions. On modern Laravel you will hit solver conflicts, and forcing them risks breaking other dev tooling. Prefer a separate tools/ Composer project or a PHAR if you must run old Robo.
  • The Clover file must exist. A missing or empty clover.xml usually produces a confusing upload error rather than a clean "file not found." Assert the file exists in CI (test -s build/logs/clover.xml) before invoking the task.
  • Silent failures. Old coveralls clients often exit 0 even when the upload failed. Pipe output and grep for the Coveralls response, or fail the CI step on any non-success body.
  • Token leakage. Debug/verbose mode can echo request payloads. Never enable verbose logging in CI where logs are public, and rotate any token you suspect was printed.
  • No Laravel-native config. There is nothing to publish, no config/coveralls.php. Any configuration goes through method calls on the task or the underlying library — read src/ to find the exact setters.
  • Debugging order. (1) Confirm phpunit wrote clover.xml with non-zero size. (2) Confirm the token env var is present. (3) Run the Robo task with -v. (4) Inspect the HTTP response from Coveralls. (5) Only then suspect the wrapper.
  • Migration path for new Laravel work. Use php-coveralls/php-coveralls with a .coveralls.yml, the official Coveralls GitHub Action, or Codecov — all actively maintained and PHP 8+ compatible. This package offers nothing those don't, and adds a Robo dependency to get there.
Weaver

How can I help you explore Laravel packages today?

Conversation history is not saved when not logged in.
Prompt
Add packages to context
No packages found.
shitoudev/permissionmanager
johannesclimacus/laravel-tui
hocvt/seotools
vitalybaev/sypexgeo
amphibee/themosis-ignition
gito-me/fast-excel
frankyso/laravel-ipaymu
geolize-studio/laravel-chile
boomerangui/chat
jinas/dhivatar
store-doc/laravel-storage-driver
plus-it/laravel-translation-manager
diephp/perhaps
diephp/telegraph
osmaviation/spreadsheet
microsoft/fluentui-system-icons
mmccook/php-json-canonicalization-scheme
middlewares/firewall
qubiqx/montapacking
nyoncode/laravel-package-console