Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/kevincobain2000/action-coveritup
All in One Code Coverage, bundle size, and other reports tracking tool. Self hosted codecov solution.
https://github.com/kevincobain2000/action-coveritup
clover codecov codecoverage codequality coverage coverage-report coveralls trends
Last synced: 2 days ago
JSON representation
All in One Code Coverage, bundle size, and other reports tracking tool. Self hosted codecov solution.
- Host: GitHub
- URL: https://github.com/kevincobain2000/action-coveritup
- Owner: kevincobain2000
- License: apache-2.0
- Created: 2023-08-04T13:15:03.000Z (over 1 year ago)
- Default Branch: master
- Last Pushed: 2024-05-29T05:05:14.000Z (8 months ago)
- Last Synced: 2024-05-29T17:54:59.072Z (8 months ago)
- Topics: clover, codecov, codecoverage, codequality, coverage, coverage-report, coveralls, trends
- Language: Go
- Homepage: https://coveritup.app
- Size: 337 KB
- Stars: 2
- Watchers: 1
- Forks: 0
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
The Hassle-Free Code Coverage and Metrics Tracking Tool
A CodeCov and SonarQube alternative.
Action and Self Hosted app for uploading Code Metrics.---
Add Progress To your README
---
Add Badges To your README![npm-install-time](https://raw.githubusercontent.com/kevincobain2000/action-coveritup/refs/heads/master/samples/3.svg)
![coverage](https://raw.githubusercontent.com/kevincobain2000/action-coveritup/refs/heads/master/samples/4.svg)
---
Add Widgets To your README![npm-install-time](https://raw.githubusercontent.com/kevincobain2000/action-coveritup/refs/heads/master/samples/5.svg)
![go-test-run-time](https://raw.githubusercontent.com/kevincobain2000/action-coveritup/refs/heads/master/samples/6.svg)---
**Quick Setup:** Quickly set up code coverage or other useful metrics on your project.
**Self-Hosted:** Also available. Host your code coverage server.
**Multiple:** Not just code coverage. Track multiple types of reports, such as coverage, lint, bundle size, complexity, etc.
**Pull Request Comments:** Comment on pull requests with the summary report for diff.
**Shield:** Get shields for your `README.md`
**Charts:** Visualize your reports with charts. Report trends over time by branch and user.
**Read on Medium** - [Revolutionizing Code Tracking for Developers](https://kevincobain2000-x.medium.com/revolutionizing-code-tracking-for-developers-e8b7b42a5204), [Use Linters the Right way](https://kevincobain2000-x.medium.com/revolutionizing-code-tracking-for-developers-e8b7b42a5204), [Continuous Benchmarking](https://medium.com/web-developer/continuous-benchmarks-in-go-f703d4a5a3e0)
# Step 1) Using Action
Before using this action, enable Github Actions
![Github Settings](https://imgur.com/psKpD15.png)
- [x] Read and write permission
- [x] Allow Github Actions to create and approve pull requests# Step 2) Add to your workflow
## Scores `example code coverage`
```yaml
# Example: Clover
- run: curl -sLk https://raw.githubusercontent.com/kevincobain2000/cover-totalizer/master/install.sh | sh
- uses: kevincobain2000/action-coveritup@v2
with:
type: coverage
command: ./cover-totalizer coverage.xml# Finally comment on PR
- uses: kevincobain2000/action-coveritup@v2
with:
pr_comment: true
# optional
## report only these types on PR comment, empty means all
types: coverage,go-sec-issues,go-lint-errors
# optional
## report only these types after 1st comment
# 1st comment will have all types or types specified in `types`
# 2nd comment onwards will have only these types
diff_types: coverage
```## Time taken
```yaml
# Example: Go
- uses: kevincobain2000/action-coveritup@v2
with:
type: go-build-time
command: go build main.go
record: runtime# Example: NPM
- uses: kevincobain2000/action-coveritup@v2
with:
type: npm-build-time
command: npm run build
record: runtime# Finally comment on PR
- uses: kevincobain2000/action-coveritup@v2
with:
pr_comment: true
```## Bundle sizes
```yaml
# Example: Go
- uses: kevincobain2000/action-coveritup@v2
with:
type: go-binary-size
command: du -sk main | awk '{print $1}'# Example: NPM
- uses: kevincobain2000/action-coveritup@v2
with:
type: npm-modules-size
command: du -sm node_modules/ | awk '{print $1}'# Example: PHP
- uses: kevincobain2000/action-coveritup@v2
with:
type: php-vendor-size
command: du -sm vendor/ | awk '{print $1}'# Finally comment on PR
- uses: kevincobain2000/action-coveritup@v2
with:
pr_comment: true
```## Counts
```yaml
# Example: Go
- uses: kevincobain2000/action-coveritup@v2
with:
type: go-mod-dependencies
command: go list -m all|wc -l|awk '{$1=$1};1'# Example: PHP
- uses: kevincobain2000/action-coveritup@v2
with:
type: composer-dependencies
command: composer show -i --name-only 2>/dev/null | wc -l | awk '{print $NF}'# Finally comment on PR
- uses: kevincobain2000/action-coveritup@v2
with:
pr_comment: true
```# Step 3) Embedding badges and charts
Navigate to your repo and obtain embeding code for badges and charts.
`/readme?org=kevincobain2000&repo=action-coveritup&branch=master`---
# Compliance
**Delete just one type**
```yaml
- uses: kevincobain2000/action-coveritup@v2
with:
destroy: true
type: npm-modules-size
```**Delete everything**
```yaml
- uses: kevincobain2000/action-coveritup@v2
with:
destroy: true
```**How this action uses `github.token`**
`github.token` from your action is sent to the server as an Authorization header.
The expiration of `github.token` is until the workflow is running.
The token is used to verify if the request has originated from the correct org, repo and commit author.
It doesn't store the token.
You can see usage in `action.yml` file# Development notes
```sh
# for backend
cd app/
air # or go run main.go# for frontend
cd app/fronend
npm install
npm run dev
```# Self Hosting Options
## Just the Api
Download the binary from [releases](https://github.com/kevincobain2000/action-coveritup/releases)
## Build from source (with UI)
```sh
git clone https://github.com/kevincobain2000/action-coveritup
cd app
cp frontend/.env.example frontend/.env
./build.sh
./main
```# CHANGE LOG
- **v1.0** - Initial release with `self hosted` and `action`.
- **v2.0** - Better action that wraps the command.
- **v2.4** - Smoothed bar charts.