Skip to content

Commit

Permalink
Send code coverage to SonarCloud
Browse files Browse the repository at this point in the history
  • Loading branch information
tonicospinelli committed Jul 3, 2023
1 parent 7f0db0d commit 551c1f4
Show file tree
Hide file tree
Showing 6 changed files with 78 additions and 25 deletions.
28 changes: 28 additions & 0 deletions .github/workflows/sonarcloud.yml
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
name: Sonarcloud
on:
pull_request:
push:
branches:
- main
Expand All @@ -12,6 +13,33 @@ jobs:
- uses: actions/checkout@v3
with:
fetch-depth: 0 # Shallow clones should be disabled for a better relevancy of analysis

- name: Checkout
uses: actions/checkout@v2
with:
fetch-depth: 0

- name: Setup PHP with Xdebug
uses: shivammathur/setup-php@v2
with:
php-version: '8.2'
coverage: xdebug

- name: Install Composer dependencies
run: composer install --prefer-dist --no-interaction --no-progress --no-scripts

- name: Copy environment file
run: cp .env.example .env

- name: Generate app key
run: php artisan key:generate

- name: "Run tests with coverage"
run: composer coverage

- name: Fix code coverage paths
run: sed -i 's@'$GITHUB_WORKSPACE'@/github/workspace/@g' coverage.xml

- name: SonarCloud Scan
uses: SonarSource/sonarcloud-github-action@master
env:
Expand Down
2 changes: 1 addition & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -7,4 +7,4 @@ npm-debug.log
yarn-error.log
.env
/.ci/php-cs-fixer/vendor
/.ci/coverage
coverage.xml
7 changes: 5 additions & 2 deletions composer.json
Original file line number Diff line number Diff line change
Expand Up @@ -170,10 +170,13 @@
"@php artisan firefly-iii:verify-security-alerts"
],
"unit-test": [
"@php vendor/bin/phpunit -c phpunit.xml --testsuite unit"
"@php vendor/bin/phpunit -c phpunit.xml --testsuite unit --no-coverage"
],
"integration-test": [
"@php vendor/bin/phpunit -c phpunit.xml --testsuite integration"
"@php vendor/bin/phpunit -c phpunit.xml --testsuite integration --no-coverage"
],
"coverage": [
"@php vendor/bin/phpunit -c phpunit.xml --testsuite unit"
]
},
"config": {
Expand Down
63 changes: 42 additions & 21 deletions phpunit.xml
Original file line number Diff line number Diff line change
Expand Up @@ -18,25 +18,46 @@
~ You should have received a copy of the GNU Affero General Public License
~ along with this program. If not, see <https://www.gnu.org/licenses/>.
-->
<phpunit xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" backupGlobals="false" bootstrap="vendor/autoload.php" colors="true" stopOnFailure="true" processIsolation="false" xsi:noNamespaceSchemaLocation="https://schema.phpunit.de/10.1/phpunit.xsd" cacheDirectory=".phpunit.cache" backupStaticProperties="false">
<coverage/>
<testsuites>
<testsuite name="unit">
<directory suffix="Test.php">./tests/unit</directory>
</testsuite>
<testsuite name="integration">
<directory suffix="Test.php">./tests/integration</directory>
</testsuite>
</testsuites>
<php>
<env name="APP_ENV" value="testing"/>
<env name="CACHE_DRIVER" value="array"/>
<env name="SESSION_DRIVER" value="array"/>
<env name="QUEUE_DRIVER" value="sync"/>
</php>
<source>
<include>
<directory suffix=".php">./app</directory>
</include>
</source>
<phpunit xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:noNamespaceSchemaLocation="https://schema.phpunit.de/10.2/phpunit.xsd"
backupGlobals="false"
backupStaticProperties="false"
beStrictAboutOutputDuringTests="true"
bootstrap="vendor/autoload.php"
cacheDirectory=".phpunit.cache"
colors="true"
executionOrder="depends,defects"
failOnRisky="true"
failOnWarning="true"
processIsolation="false"
stopOnFailure="true">
<php>
<env name="APP_ENV" value="testing"/>
<env name="CACHE_DRIVER" value="array"/>
<env name="SESSION_DRIVER" value="array"/>
<env name="QUEUE_DRIVER" value="sync"/>
<ini name="xdebug.mode" value="coverage"/>
</php>
<testsuites>
<testsuite name="all">
<directory suffix="Test.php">./tests</directory>
</testsuite>
<testsuite name="unit">
<directory suffix="Test.php">./tests/unit</directory>
</testsuite>
<testsuite name="integration">
<directory suffix="Test.php">./tests/integration</directory>
</testsuite>
</testsuites>
<source>
<include>
<directory suffix=".php">app</directory>
</include>
</source>
<coverage ignoreDeprecatedCodeUnits="true"
pathCoverage="true">
<report>
<clover outputFile="coverage.xml"/>
</report>
</coverage>
</phpunit>
1 change: 1 addition & 0 deletions sonar-project.properties
Original file line number Diff line number Diff line change
Expand Up @@ -15,3 +15,4 @@ sonar.organization=firefly-iii
sonar.projectVersion=6.0.11
sonar.sources=app,bootstrap,database,resources/assets,resources/views,routes,tests
sonar.sourceEncoding=UTF-8
sonar.php.coverage.reportPaths=coverage.xml
2 changes: 1 addition & 1 deletion tests/integration/CreatesApplication.php
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,7 @@ trait CreatesApplication
*/
public function createApplication()
{
$app = require __DIR__ . '/../bootstrap/app.php';
$app = require_once __DIR__ . '/../../bootstrap/app.php';

$app->make(Kernel::class)->bootstrap();

Expand Down

0 comments on commit 551c1f4

Please sign in to comment.