GithubHelp home page GithubHelp logo

coverallsapp / coverage-reporter Goto Github PK

View Code? Open in Web Editor NEW
45.0 45.0 14.0 894 KB

Self-contained, universal coverage uploader binary. Under development.

Home Page: https://coveralls.io

License: MIT License

Crystal 97.97% Makefile 0.73% Dockerfile 0.11% PowerShell 1.19%

coverage-reporter's People

Contributors

afinetooth avatar coveralls avatar iurev avatar jaredmoody avatar joroshiba avatar littleforest avatar mike-burns avatar mrexox avatar nebolsin avatar nickmerwin avatar snackattas avatar szepeviktor avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar

coverage-reporter's Issues

Coverall 0.6.11 stops parsing lcov files created by `bazel`

What was wrong?

We use bazel to generate coverage file with bazel coverage --combined_report=lcov //go/..., it was working with 0.6.10. As far as I can tell the format was fine there because we can see the report and also genhtml is fine with the file.

Logs

coveralls --format=lcov --debug -f /data/home/mpatou/.cache/bazel/_bazel_mpatou/aabbcc/execroot/rs_monorepo/bazel-out/k8-fastbuild/testlogs/go/svc/server/server_test/coverage.dat 

Got:

v0.6.11

✏️ Forced coverage format: lcov
📄 Using coverage file: /data/home/mpatou/.cache/bazel/_bazel_mpatou/aabbcc/execroot/rs_monorepo/bazel-out/k8-fastbuild/testlogs/go/svc/server/server_test/coverage.dat
⚠️ Coverage reporter does not yet know how to process this file: /data/home/mpatou/.cache/bazel/_bazel_mpatou/aabbcc/execroot/rs_monorepo/bazel-out/k8-fastbuild/testlogs/go/svc/server/server_test/coverage.dat
⏱️ Report parsing: 00:00:00.000032771
🚨 Nothing to report

Problems with paths

What was wrong?

When trying to upgrading to coverallsapp/github-action@v2 the paths on coveralls.io are not mapping to the source files.
Since v2 changed to this project I'm guessing that this is the right place to report, please let me know if I'm wrong about that.

Is this the problem described in #41?

From the logs shown below I'm guessing the paths might need to converted into POSIX paths when running on Windows?

Logs

v1.1.3
https://coveralls.io/builds/58262714/source?filename=Src%2FFluentAssertions%2FFluentActions.cs
image
output from node-coveralls
cat .\TestResults\reports\lcov.info | coveralls -v

"source_files": [{
    "name": "Src/FluentAssertions/AggregateExceptionExtractor.cs",

v0.2.17
github-actions
uploaded lcov-file

https://coveralls.io/builds/58241348/source?filename=%5CSrc%5CFluentAssertions%5CFluentActions.cs
image
output from coverage-reporter
coveralls-windows.exe -r [token] --dry-run --debug .\lcov.info

"source_files": [
  {
    "name": "C:\\dev\\fluentassertions\\Src\\FluentAssertions\\AggregateExceptionExtractor.cs",

Unable to upload report using coverage-reporter v0.6.8

What was wrong?

I'm not able to upload the report using the 0.6.8 version that was just released.

Logs

Run coverallsapp/github-action@v2
Run mkdir -p ~/bin/
coveralls-linux.tar.gz: OK
Run coveralls report        
 
⠀⠀⠀⠀⠀⠀⣿
⠀⠀⠀⠀⠀⣼⣿⣧⠀⠀⠀⠀⠀⠀⠀ ⣠⣶⣾⣿⡇⢀⣴⣾⣿⣷⣆ ⣿⣿⠀⣰⣿⡟⢸⣿⣿⣿⡇ ⣿⣿⣿⣷⣦⠀⠀⢠⣿⣿⣿⠀⠀⣿⣿⠁⠀⣼⣿⡇⠀⢀⣴⣾⣿⡷
⠶⣶⣶⣶⣾⣿⣿⣿⣷⣶⣶⣶⠶  ⣸⣿⡟ ⠀⢠⣿⣿⠃⠈⣿⣿⠀⣿⣿⢠⣿⡿⠀⣿⣿⣧⣤⠀⢸⣿⡇⣠⣿⡿⠀⢠⣿⡟⣿⣿⠀⢸⣿⡿⠀⠀⣿⣿⠃⠀⢸⣿⣧⣄
⠀⠀⠙⢻⣿⣿⣿⣿⣿⡟⠋⠁⠀⠀ ⣿⣿⡇⠀ ⢸⣿⣿⠀⣸⣿⡟⠀⣿⣿⣾⡿⠁ ⣿⣿⠛⠛⠀⣿⣿⢿⣿⣏⠀⢀⣿⣿⣁⣿⣿⠀⣾⣿⡇⠀⢸⣿⡿⠀⠀⡀⠙⣿⣿⡆
⠀⠀⢠⣿⣿⣿⠿⣿⣿⣿⡄⠀⠀⠀ ⠙⢿⣿⣿⠇⠈⠿⣿⣿⡿⠋⠀⠀⢿⣿⡿⠁⠀⢸⣿⣿⣿⡇⢸⣿⣿⠀⣿⣿⣄⣾⣿⠛⠛⣿⣿⢠⣿⣿⣿ ⣼⣿⣿⣿ ⣿⣿⡿⠋⠀
⠀⢀⣾⠟⠋⠀⠀⠀⠙⠻⣷⡀⠀⠀
 
  v0.6.8

🔍 Detected coverage file: coverage.xml
🔍 Detected coverage file: .coverage
#<CoverageReporter::CoveragepyParser::ParserError:--: 1: coverage: not found
>

As we're still waiting for coverallsapp/github-action#170 I don't know if I have any options now using the github-action.

Please let me know if I need to provide any additional information around this, or if I can do something on my end to fix it.

Is there a way to lock in a specific version of coveralls on linux, when downloading

⚡ Summary

The linux install instructions are just do curl -L https://coveralls.io/coveralls-linux.tar.gz | tar -xz -C /usr/local/bin

But shouldn't there be a way to specify what version you want to pull down? what if coveralls accidentally introduces a breaking change, every docker build doing this curl, would bring in the new version, since they can't lock it in

Unable to install coveralls version 0.3.6 on Mac(M1) with brew install coveralls

What was wrong?

unable to install the latest coveralls universal binary on Mac M1 (Ventura 13.3.1)

Logs

 ✘  ~  brew install coveralls
==> Downloading https://formulae.brew.sh/api/formula.jws.json
#=#=#
==> Downloading https://formulae.brew.sh/api/cask.jws.json
#=#=#
==> Fetching dependencies for coverallsapp/coveralls/coveralls: crystal
==> Fetching crystal
==> Downloading https://raw.githubusercontent.com/Homebrew/homebrew-core/23532c7ba1e32e92f4e49fc07c3a39d9e41828e5/Formula/crystal.rb
Already downloaded: /Users/tonychia/Library/Caches/Homebrew/downloads/4e44fd7ac6e590532046cd0d9a9050b220d874aa446ac4ea2d273b79c1b53ef8--crystal.rb
==> Downloading https://github.com/crystal-lang/shards/archive/v0.17.3.tar.gz
Already downloaded: /Users/tonychia/Library/Caches/Homebrew/downloads/7522929bc724bbfe37f2d642b9ffd3951fe7a51aac4d5032a50add7d23c8ee4d--shards-0.17.3.tar.gz
==> Downloading https://github.com/crystal-lang/crystal/releases/download/1.5.1/crystal-1.5.1-1-darwin-universal.tar.gz
Already downloaded: /Users/tonychia/Library/Caches/Homebrew/downloads/d5661c4aac76b71fff06d3891eeaaf54b2fbf9cf1555dfd2a6581b35d62efc0e--crystal-1.5.1-1-darwin-universal.tar.gz
==> Downloading https://github.com/crystal-lang/crystal-molinillo/archive/refs/tags/v0.2.0.tar.gz
Already downloaded: /Users/tonychia/Library/Caches/Homebrew/downloads/cd1c699bd8532b2cced1932bdb5c5486f38822d01296ffe0e2043f215fa5c41a--crystal-molinillo-0.2.0.tar.gz
==> Downloading https://github.com/crystal-lang/crystal/archive/1.8.1.tar.gz
Already downloaded: /Users/tonychia/Library/Caches/Homebrew/downloads/a6e3b0aed5ae03b7d5ef5cce3329d2cc8bb8931561d5e35a48d909bba88bd702--crystal-1.8.1.tar.gz
==> Fetching coverallsapp/coveralls/coveralls
==> Downloading https://github.com/coverallsapp/coverage-reporter/archive/refs/tags/v0.3.6.tar.gz
Already downloaded: /Users/tonychia/Library/Caches/Homebrew/downloads/315aed6b27eb47fe160cdb0d4aa18b0686ad0959d6364a9740675e542dd88e3a--coverage-reporter-0.3.6.tar.gz
==> Installing coveralls from coverallsapp/coveralls
==> Installing dependencies for coverallsapp/coveralls/coveralls: crystal
==> Installing coverallsapp/coveralls/coveralls dependency: crystal
==> make deps
==> make crystal release=true FLAGS=--no-debug CRYSTAL_CONFIG_LIBRARY_PATH=\$$ORIGIN/../../../../lib CRYSTAL_CONFIG_PATH=\$$ORIGIN/../share/crystal/src interpreter=true
 ==> make bin/shards release=true FLAGS=--no-debug CRYSTAL=/private/tmp/crystal-20230422-54986-mglxfu/crystal-1.7.2/bin/crystal SHARDS=false
Error: Empty installation
 ✘  ~  which coveralls
coveralls not found

"Nothing to report" issue

What was wrong?

My project's report is correctly generated for the Cypress e2e test. But when I try to upload to the coveralls, the command line says "Nothing to report".

Logs

15:56 $ coveralls -r MFipgai6bXU1U4MLCcwZ46zaMNGfgso79 -n --debug
⭐️ Coveralls.io Coverage Reporter v0.2.10
🔍 Detected coverage file: apps/workstream-card-e2e/lcov.info
🚨 Nothing to report

Click here for file content of `lcov.info` .
TN:
SF:../workstream-card/src/common/__generated__/gql.generated.ts
FN:183,useCreateCardApplicationMutation
FN:236,useGetUserProfileQuery
FN:248,useGetUserProfileLazyQuery
FNF:3
FNH:1
FNDA:0,useCreateCardApplicationMutation
FNDA:2,useGetUserProfileQuery
FNDA:0,useGetUserProfileLazyQuery
DA:14,1
DA:148,1
DA:189,0
DA:190,0
DA:204,1
DA:242,2
DA:243,2
DA:254,0
DA:255,0
LF:9
LH:5
BRF:0
BRH:0
end_of_record
TN:
SF:../workstream-card/src/common/apollo/index.ts
FNF:0
FNH:0
DA:5,1
LF:1
LH:1
BRF:0
BRH:0
end_of_record
TN:
SF:../workstream-card/src/common/components/button/button.tsx
FN:6,(anonymous_0)
FNF:1
FNH:1
FNDA:1,(anonymous_0)
DA:6,1
DA:13,1
DA:15,1
DA:17,1
DA:21,1
LF:5
LH:5
BRDA:8,0,0,1
BRDA:9,1,0,0
BRDA:18,2,0,1
BRDA:18,2,1,0
BRF:4
BRH:2
end_of_record
TN:
SF:../workstream-card/src/common/components/button/index.tsx
FNF:0
FNH:0
LF:0
LH:0
BRF:0
BRH:0
end_of_record
TN:
SF:../workstream-card/src/common/components/form/form-phone-input.tsx
FN:6,(anonymous_0)
FN:20,(anonymous_1)
FN:26,(anonymous_2)
FNF:3
FNH:2
FNDA:1,(anonymous_0)
FNDA:0,(anonymous_1)
FNDA:1,(anonymous_2)
DA:6,1
DA:16,1
DA:21,0
DA:22,0
DA:23,0
DA:27,1
LF:6
LH:3
BRDA:21,0,0,0
BRDA:21,0,1,0
BRDA:22,1,0,0
BRDA:22,1,1,0
BRF:4
BRH:0
end_of_record
TN:
SF:../workstream-card/src/common/components/form/form-text-input.tsx
FN:3,(anonymous_0)
FNF:1
FNH:0
FNDA:0,(anonymous_0)
DA:3,1
DA:10,0
LF:2
LH:1
BRF:0
BRH:0
end_of_record
TN:
SF:../workstream-card/src/common/components/form/form.tsx
FN:3,(anonymous_0)
FN:15,(anonymous_1)
FN:25,(anonymous_2)
FN:39,(anonymous_3)
FNF:4
FNH:0
FNDA:0,(anonymous_0)
FNDA:0,(anonymous_1)
FNDA:0,(anonymous_2)
FNDA:0,(anonymous_3)
DA:3,1
DA:10,0
DA:15,1
DA:16,0
DA:17,0
DA:25,1
DA:31,0
DA:39,1
DA:40,0
LF:9
LH:4
BRDA:16,0,0,0
BRDA:16,0,1,0
BRF:2
BRH:0
end_of_record
TN:
SF:../workstream-card/src/common/components/form/index.tsx
FNF:0
FNH:0
LF:0
LH:0
BRF:0
BRH:0
end_of_record
TN:
SF:../workstream-card/src/common/components/guards/card-application-guard.tsx
FN:8,(anonymous_0)
FN:22,(anonymous_1)
FNF:2
FNH:0
FNDA:0,(anonymous_0)
FNDA:0,(anonymous_1)
DA:8,1
DA:13,0
DA:14,0
DA:15,0
DA:22,0
DA:23,0
DA:24,0
DA:25,0
DA:29,0
DA:30,0
DA:33,0
DA:34,0
DA:37,0
LF:13
LH:1
BRDA:23,0,0,0
BRDA:23,0,1,0
BRDA:23,1,0,0
BRDA:23,1,1,0
BRDA:29,2,0,0
BRDA:29,2,1,0
BRDA:33,3,0,0
BRDA:33,3,1,0
BRF:8
BRH:0
end_of_record
TN:
SF:../workstream-card/src/common/components/guards/logged-in-guard.tsx
FN:7,(anonymous_0)
FN:10,(anonymous_1)
FNF:2
FNH:2
FNDA:2,(anonymous_0)
FNDA:1,(anonymous_1)
DA:7,1
DA:8,2
DA:9,2
DA:10,2
DA:11,1
DA:12,1
DA:13,1
DA:16,2
DA:17,2
DA:19,0
LF:10
LH:9
BRDA:11,0,0,1
BRDA:11,0,1,0
BRDA:16,1,0,2
BRDA:16,1,1,0
BRF:4
BRH:2
end_of_record
TN:
SF:../workstream-card/src/common/components/loading/index.tsx
FNF:0
FNH:0
LF:0
LH:0
BRF:0
BRH:0
end_of_record
TN:
SF:../workstream-card/src/common/components/loading/loading.tsx
FN:3,(anonymous_0)
FNF:1
FNH:1
FNDA:2,(anonymous_0)
DA:3,1
DA:4,2
LF:2
LH:2
BRF:0
BRH:0
end_of_record
TN:
SF:../workstream-card/src/common/components/page-container/index.tsx
FN:1,(anonymous_0)
FNF:1
FNH:1
FNDA:1,(anonymous_0)
DA:1,1
DA:6,1
DA:7,1
DA:8,1
LF:4
LH:4
BRF:0
BRH:0
end_of_record
TN:
SF:../workstream-card/src/common/components/tabbar/index.tsx
FNF:0
FNH:0
LF:0
LH:0
BRF:0
BRH:0
end_of_record
TN:
SF:../workstream-card/src/common/components/tabbar/tabbar.tsx
FN:5,(anonymous_0)
FN:36,(anonymous_1)
FN:41,(anonymous_2)
FN:46,(anonymous_3)
FNF:4
FNH:3
FNDA:3,(anonymous_0)
FNDA:1,(anonymous_1)
FNDA:3,(anonymous_2)
FNDA:0,(anonymous_3)
DA:3,1
DA:5,1
DA:11,3
DA:15,3
DA:36,1
DA:37,1
DA:42,3
DA:46,0
LF:8
LH:7
BRDA:11,0,0,1
BRDA:11,0,1,2
BRF:2
BRH:2
end_of_record
TN:
SF:../workstream-card/src/common/components/text/body-text.tsx
FN:8,BodyText
FNF:1
FNH:0
FNDA:0,BodyText
DA:17,0
DA:19,0
DA:20,0
DA:21,0
DA:23,0
DA:24,0
DA:25,0
DA:27,0
DA:28,0
DA:29,0
DA:31,0
DA:32,0
DA:33,0
DA:35,0
DA:36,0
DA:39,0
DA:41,0
DA:42,0
DA:44,0
DA:45,0
DA:47,0
DA:48,0
DA:50,0
DA:53,0
LF:24
LH:0
BRDA:9,0,0,0
BRDA:10,1,0,0
BRDA:17,2,0,0
BRDA:17,2,1,0
BRDA:17,2,2,0
BRDA:17,2,3,0
BRDA:17,2,4,0
BRDA:39,3,0,0
BRDA:39,3,1,0
BRDA:39,3,2,0
BRDA:39,3,3,0
BRF:11
BRH:0
end_of_record
TN:
SF:../workstream-card/src/common/components/text/header.tsx
FN:19,(anonymous_0)
FNF:1
FNH:0
FNDA:0,(anonymous_0)
DA:10,1
DA:19,1
DA:20,0
DA:22,0
DA:24,0
DA:26,0
LF:6
LH:2
BRDA:19,0,0,0
BRF:1
BRH:0
end_of_record
TN:
SF:../workstream-card/src/common/components/text/index.tsx
FNF:0
FNH:0
LF:0
LH:0
BRF:0
BRH:0
end_of_record
TN:
SF:../workstream-card/src/common/queries/use-user-query.ts
FN:4,useUserQuery
FNF:1
FNH:1
FNDA:2,useUserQuery
DA:5,2
DA:6,2
DA:10,2
LF:3
LH:3
BRF:0
BRH:0
end_of_record
TN:
SF:../workstream-card/src/common/utils/PersistentStore.ts
FN:2,(anonymous_0)
FN:10,(anonymous_1)
FN:18,(anonymous_2)
FNF:3
FNH:1
FNDA:4,(anonymous_0)
FNDA:0,(anonymous_1)
FNDA:0,(anonymous_2)
DA:3,4
DA:4,0
DA:7,4
DA:11,0
DA:12,0
DA:15,0
DA:19,0
DA:20,0
DA:23,0
DA:27,1
LF:10
LH:3
BRDA:3,0,0,0
BRDA:3,0,1,4
BRDA:11,1,0,0
BRDA:11,1,1,0
BRDA:19,2,0,0
BRDA:19,2,1,0
BRF:6
BRH:1
end_of_record
TN:
SF:../workstream-card/src/environments/environment.ts
FNF:0
FNH:0
DA:1,1
LF:1
LH:1
BRF:0
BRH:0
end_of_record
TN:
SF:../workstream-card/src/modules/auth/auth0.config.ts
FNF:0
FNH:0
DA:2,1
DA:6,1
LF:2
LH:2
BRDA:2,0,0,1
BRDA:2,0,1,0
BRDA:2,1,0,1
BRDA:2,1,1,1
BRF:4
BRH:3
end_of_record
TN:
SF:../workstream-card/src/modules/auth/index.ts
FNF:0
FNH:0
DA:6,1
LF:1
LH:1
BRF:0
BRH:0
end_of_record
TN:
SF:../workstream-card/src/modules/components/app-tabbar/app-tabbar.tsx
FN:27,AppTabbar
FN:32,(anonymous_1)
FN:36,(anonymous_2)
FNF:3
FNH:2
FNDA:1,AppTabbar
FNDA:0,(anonymous_1)
FNDA:1,(anonymous_2)
DA:9,1
DA:28,1
DA:30,1
DA:32,1
DA:33,0
DA:36,1
DA:37,1
DA:39,1
DA:40,1
DA:42,0
DA:43,0
DA:45,0
DA:46,0
DA:52,1
LF:14
LH:9
BRDA:37,0,0,1
BRDA:37,0,1,0
BRDA:37,0,2,0
BRDA:37,0,3,0
BRF:4
BRH:1
end_of_record
TN:
SF:../workstream-card/src/modules/components/app-tabbar/index.tsx
FNF:0
FNH:0
LF:0
LH:0
BRF:0
BRH:0
end_of_record
TN:
SF:../workstream-card/src/pages/_app.tsx
FN:10,CustomApp
FN:14,(anonymous_1)
FNF:2
FNH:2
FNDA:3,CustomApp
FNDA:3,(anonymous_1)
DA:11,3
DA:12,3
DA:14,3
DA:15,3
DA:20,3
LF:5
LH:5
BRDA:42,0,0,2
BRDA:42,0,1,1
BRF:2
BRH:2
end_of_record
TN:
SF:../workstream-card/src/pages/index.tsx
FN:4,Index
FN:5,(anonymous_1)
FNF:2
FNH:2
FNDA:1,Index
FNDA:1,(anonymous_1)
DA:5,1
DA:6,1
DA:9,1
LF:3
LH:3
BRF:0
BRH:0
end_of_record
TN:
SF:../workstream-card/src/pages/card/index.tsx
FN:8,Index
FNF:1
FNH:1
FNDA:2,Index
DA:9,2
DA:11,2
LF:2
LH:2
BRF:0
BRH:0
end_of_record
TN:
SF:../workstream-card/src/pages/login/index.tsx
FN:21,Index
FN:33,(anonymous_1)
FN:47,(anonymous_2)
FN:57,(anonymous_3)
FN:83,(anonymous_4)
FN:93,(anonymous_5)
FN:138,(anonymous_6)
FNF:7
FNH:1
FNDA:1,Index
FNDA:0,(anonymous_1)
FNDA:0,(anonymous_2)
FNDA:0,(anonymous_3)
FNDA:0,(anonymous_4)
FNDA:0,(anonymous_5)
FNDA:0,(anonymous_6)
DA:22,1
DA:25,1
DA:27,1
DA:28,1
DA:29,1
DA:31,1
DA:33,1
DA:34,0
DA:36,0
DA:37,0
DA:38,0
DA:41,0
DA:48,0
DA:49,0
DA:50,0
DA:52,0
DA:57,1
DA:58,0
DA:59,0
DA:60,0
DA:61,0
DA:65,0
DA:66,0
DA:67,0
DA:68,0
DA:69,0
DA:72,0
DA:73,0
DA:76,0
DA:84,0
DA:85,0
DA:86,0
DA:88,0
DA:93,1
DA:94,0
DA:95,0
DA:104,1
DA:106,1
DA:138,0
LF:39
LH:11
BRDA:36,0,0,0
BRDA:36,0,1,0
BRDA:48,1,0,0
BRDA:48,1,1,0
BRDA:59,2,0,0
BRDA:59,2,1,0
BRDA:65,3,0,0
BRDA:65,3,1,0
BRDA:84,4,0,0
BRDA:84,4,1,0
BRDA:109,5,0,1
BRDA:109,5,1,1
BRDA:131,6,0,1
BRDA:131,6,1,0
BRDA:146,7,0,0
BRDA:146,7,1,0
BRDA:146,7,2,0
BRDA:146,7,3,0
BRDA:155,8,0,1
BRDA:155,8,1,1
BRDA:163,9,0,1
BRDA:163,9,1,0
BRF:22
BRH:6
end_of_record
TN:
SF:../workstream-card/src/pages/login/verification-section.tsx
FN:3,VerificationSection
FN:14,(anonymous_1)
FN:18,(anonymous_2)
FNF:3
FNH:0
FNDA:0,VerificationSection
FNDA:0,(anonymous_1)
FNDA:0,(anonymous_2)
DA:14,0
DA:15,0
DA:18,0
DA:19,0
DA:20,0
DA:21,0
DA:23,0
LF:7
LH:0
BRDA:6,0,0,0
BRDA:19,1,0,0
BRDA:19,1,1,0
BRDA:20,2,0,0
BRDA:20,2,1,0
BRF:5
BRH:0
end_of_record

Support Linux arm64 architecture

I am using GitHub actions with EC2 self hosted runners, but the downloaded binary https://coveralls.io/coveralls-linux.tar.gz only works for x86_64 architectures.

This leads to the following error while trying to use the coverage-reporter binary:

/home/ec2-user/bin/coveralls: cannot execute binary file: Exec format error

It would be awesome if this project also publishes an additional binary compiled for linux arm64 architectures.

Add way to specify coverage file format

⚡ Summary

It would be great if the coverage reporter had a way to specify the format of the coverage file, rather than relying on detection from the filename.

Background

After upgrading from coverallsapp/github-action@v1 to coverallsapp/github-action@v2 my .NET projects which use coverlet to produce coverage results in lcov format fail to upload the coverage to coveralls with an error similar to the following:

⚠️ Coverage reporter does not yet know how to process this file: NetCoreProject.UnitTests/TestResults/a4c52cc8-0a0c-4d2e-aacd-e6aa12cdeef6/coverage.info

Example with v1 and with v2.

This occurs because coverage.info does not match the filename patterns coverage-reporter expects. Unfortunately, it's not possible to change the name produced by coverlet (see coverlet-coverage/coverlet#1276 ) so an extra build step is currently required to rename coverage.info to lcov.info to satisfy coverage-reporter. It would be great if there were a way to avoid this hassle.

coveralls github action stopped working with pytest-cov

What was wrong?

coveralls reporter was working with pytest-cov out of the box, but seems to have stopped

I tried pinning coverage and pytest-cov to last working version, but it still fails.

Logs

https://github.com/altaurog/pgcopy/actions/runs/8981185693/job/24666223762#step:6:69

⠀⠀⠀⠀⠀⠀⣿
⠀⠀⠀⠀⠀⣼⣿⣧⠀⠀⠀⠀⠀⠀⠀ ⣠⣶⣾⣿⡇⢀⣴⣾⣿⣷⣆ ⣿⣿⠀⣰⣿⡟⢸⣿⣿⣿⡇ ⣿⣿⣿⣷⣦⠀⠀⢠⣿⣿⣿⠀⠀⣿⣿⠁⠀⣼⣿⡇⠀⢀⣴⣾⣿⡷
⠶⣶⣶⣶⣾⣿⣿⣿⣷⣶⣶⣶⠶  ⣸⣿⡟ ⠀⢠⣿⣿⠃⠈⣿⣿⠀⣿⣿⢠⣿⡿⠀⣿⣿⣧⣤⠀⢸⣿⡇⣠⣿⡿⠀⢠⣿⡟⣿⣿⠀⢸⣿⡿⠀⠀⣿⣿⠃⠀⢸⣿⣧⣄
⠀⠀⠙⢻⣿⣿⣿⣿⣿⡟⠋⠁⠀⠀ ⣿⣿⡇⠀ ⢸⣿⣿⠀⣸⣿⡟⠀⣿⣿⣾⡿⠁ ⣿⣿⠛⠛⠀⣿⣿⢿⣿⣏⠀⢀⣿⣿⣁⣿⣿⠀⣾⣿⡇⠀⢸⣿⡿⠀⠀⡀⠙⣿⣿⡆
⠀⠀⢠⣿⣿⣿⠿⣿⣿⣿⡄⠀⠀⠀ ⠙⢿⣿⣿⠇⠈⠿⣿⣿⡿⠋⠀⠀⢿⣿⡿⠁⠀⢸⣿⣿⣿⡇⢸⣿⣿⠀⣿⣿⣄⣾⣿⠛⠛⣿⣿⢠⣿⣿⣿ ⣼⣿⣿⣿ ⣿⣿⡿⠋⠀
⠀⢀⣾⠟⠋⠀⠀⠀⠙⠻⣷⡀⠀⠀
 
  v0.6.10

🔍 Detected coverage file: .coverage
⚠️ Coverage reporter does not yet know how to process this file: .coverage
🚨 Nothing to report
Error: Process completed with exit code 1.

It worked with v0.6.6 in this run:

https://github.com/altaurog/pgcopy/actions/runs/8602391600/job/23571855578#step:6:71

Does not work if TZ is not set

How to reproduce

Run the binary in a ubuntu:18.04 docker container

🚀 Posting coverage data to https://coveralls.io/api/v1/jobs
Unhandled exception:  (Time::Location::InvalidTZDataError)
  from /usr/share/crystal/src/time/location/loader.cr:81:5 in 'read_zoneinfo'
  from /usr/share/crystal/src/crystal/system/unix/time.cr:59:9 in 'local'
  from /usr/share/crystal/src/time/location.cr:460:5 in 'new'
  from /usr/share/crystal/src/compress/gzip/reader.cr:57:5 in 'initialize'
  from /usr/share/crystal/src/http/common.cr:54:11 in 'from_io?'
  from /usr/share/crystal/src/http/client.cr:600:5 in 'exec_internal_single'
  from /usr/share/crystal/src/http/client.cr:587:5 in 'exec'
  from /app/lib/crest/src/crest/request.cr:180:23 in 'execute'
  from /app/src/coverage_reporter.cr:27:3 in 'run'
  from /app/src/cli.cr:85:5 in '__crystal_main'
  from /usr/share/crystal/src/crystal/main.cr:110:5 in 'main'
  from src/env/__libc_start_main.c:94:2 in 'libc_start_main_stage2'
Caused by: Error reading file: Is a directory (IO::Error)
  from /usr/share/crystal/src/io/evented.cr:131:7 in 'unbuffered_read'
  from /usr/share/crystal/src/io/buffered.cr:240:5 in 'read'
  from /usr/share/crystal/src/io.cr:521:7 in 'read_fully'
  from /usr/share/crystal/src/io.cr:442:9 in 'read_zoneinfo'
  from /usr/share/crystal/src/crystal/system/unix/time.cr:59:9 in 'local'
  from /usr/share/crystal/src/time/location.cr:460:5 in 'new'
  from /usr/share/crystal/src/compress/gzip/reader.cr:57:5 in 'initialize'
  from /usr/share/crystal/src/http/common.cr:54:11 in 'from_io?'
  from /usr/share/crystal/src/http/client.cr:600:5 in 'exec_internal_single'
  from /usr/share/crystal/src/http/client.cr:587:5 in 'exec'
  from /app/lib/crest/src/crest/request.cr:180:23 in 'execute'
  from /app/src/coverage_reporter.cr:27:3 in 'run'
  from /app/src/cli.cr:85:5 in '__crystal_main'
  from /usr/share/crystal/src/crystal/main.cr:110:5 in 'main'
  from src/env/__libc_start_main.c:94:2 in 'libc_start_main_stage2'

Workaround

export TZ=UTC first

Related issue

crystal-lang/crystal#10651

ArgumentError: Invalid Int64: "18446744073709551615" when parsing lcov file

What was wrong?

I switched from the 1.0.6 version of the Coveralls CircleCI Orb to the latest 2.1.1 version and started getting the above in my CI jobs. The new orb uses this project instead of the old node-coveralls project.

It appears that because the parsing of the file uses an Int64 for something (not sure what tbh), it fails to parse some number.

Logs

coveralls-linux.tar.gz: OK
Parsing args
Dry run - 0
Reporting coverage
+ ./coveralls --file /root/repo/lcov-app.info --format lcov
 
⠀⠀⠀⠀⠀⠀⣿
⠀⠀⠀⠀⠀⣼⣿⣧⠀⠀⠀⠀⠀⠀⠀ ⣠⣶⣾⣿⡇⢀⣴⣾⣿⣷⣆ ⣿⣿⠀⣰⣿⡟⢸⣿⣿⣿⡇ ⣿⣿⣿⣷⣦⠀⠀⢠⣿⣿⣿⠀⠀⣿⣿⠁⠀⣼⣿⡇⠀⢀⣴⣾⣿⡷
⠶⣶⣶⣶⣾⣿⣿⣿⣷⣶⣶⣶⠶  ⣸⣿⡟ ⠀⢠⣿⣿⠃⠈⣿⣿⠀⣿⣿⢠⣿⡿⠀⣿⣿⣧⣤⠀⢸⣿⡇⣠⣿⡿⠀⢠⣿⡟⣿⣿⠀⢸⣿⡿⠀⠀⣿⣿⠃⠀⢸⣿⣧⣄
⠀⠀⠙⢻⣿⣿⣿⣿⣿⡟⠋⠁⠀⠀ ⣿⣿⡇⠀ ⢸⣿⣿⠀⣸⣿⡟⠀⣿⣿⣾⡿⠁ ⣿⣿⠛⠛⠀⣿⣿⢿⣿⣏⠀⢀⣿⣿⣁⣿⣿⠀⣾⣿⡇⠀⢸⣿⡿⠀⠀⡀⠙⣿⣿⡆
⠀⠀⢠⣿⣿⣿⠿⣿⣿⣿⡄⠀⠀⠀ ⠙⢿⣿⣿⠇⠈⠿⣿⣿⡿⠋⠀⠀⢿⣿⡿⠁⠀⢸⣿⣿⣿⡇⢸⣿⣿⠀⣿⣿⣄⣾⣿⠛⠛⣿⣿⢠⣿⣿⣿ ⣼⣿⣿⣿ ⣿⣿⡿⠋⠀
⠀⢀⣾⠟⠋⠀⠀⠀⠙⠻⣷⡀⠀⠀
 
  v0.3.9

✏️ Forced coverage format: lcov
📄 Using coverage file: /root/repo/lcov-app.info
Could not process tracefile: /root/repo/lcov-app.info
ArgumentError: Invalid Int64: "18446744073709551615"

DOC: bug in windows line `doc/examples/github-actions.yml`

What was wrong?

Following this example will result in the Windows reports failing

Run curl -sL https://github.com/coverallsapp/coverage-reporter/releases/latest/download/coveralls-windows.zip | zcat > ./coveralls.exe
InvalidOperation: D:\a\_temp\3862d081-6a06-42ea-a5e2-99028ad6949b.ps1:2
Line |
   2 |  … leases/latest/download/coveralls-windows.zip | zcat > ./coveralls.exe
     |                                                   ~~~~~~~~~~~~~~~~~~~~~~
     | Cannot run a document in the middle of a pipeline: C:\Program Files\Git\usr\bin\zcat.
Error: Process completed with exit code 1.

Potential fix

Using the bash command on the README works. Recommend updating the example yaml to include the line from the README.

‘#<Enumerable::EmptyError:Empty enumerable>’ for jacoco format

$ ./../../downloads/coveralls --base-path java/client/src/main/java --format jacoco --repo-token xxxx

⠀⠀⠀⠀⠀⠀⣿
⠀⠀⠀⠀⠀⣼⣿⣧⠀⠀⠀⠀⠀⠀⠀ ⣠⣶⣾⣿⡇⢀⣴⣾⣿⣷⣆ ⣿⣿⠀⣰⣿⡟⢸⣿⣿⣿⡇ ⣿⣿⣿⣷⣦⠀⠀⢠⣿⣿⣿⠀⠀⣿⣿⠁⠀⣼⣿⡇⠀⢀⣴⣾⣿⡷
⠶⣶⣶⣶⣾⣿⣿⣿⣷⣶⣶⣶⠶ ⣸⣿⡟ ⠀⢠⣿⣿⠃⠈⣿⣿⠀⣿⣿⢠⣿⡿⠀⣿⣿⣧⣤⠀⢸⣿⡇⣠⣿⡿⠀⢠⣿⡟⣿⣿⠀⢸⣿⡿⠀⠀⣿⣿⠃⠀⢸⣿⣧⣄
⠀⠀⠙⢻⣿⣿⣿⣿⣿⡟⠋⠁⠀⠀ ⣿⣿⡇⠀ ⢸⣿⣿⠀⣸⣿⡟⠀⣿⣿⣾⡿⠁ ⣿⣿⠛⠛⠀⣿⣿⢿⣿⣏⠀⢀⣿⣿⣁⣿⣿⠀⣾⣿⡇⠀⢸⣿⡿⠀⠀⡀⠙⣿⣿⡆
⠀⠀⢠⣿⣿⣿⠿⣿⣿⣿⡄⠀⠀⠀ ⠙⢿⣿⣿⠇⠈⠿⣿⣿⡿⠋⠀⠀⢿⣿⡿⠁⠀⢸⣿⣿⣿⡇⢸⣿⣿⠀⣿⣿⣄⣾⣿⠛⠛⣿⣿⢠⣿⣿⣿ ⣼⣿⣿⣿ ⣿⣿⡿⠋⠀
⠀⢀⣾⠟⠋⠀⠀⠀⠙⠻⣷⡀⠀⠀

v0.2.17

✏️ Forced coverage format: jacoco
🔍 Detected coverage file: java/client/target/site/jacoco/jacoco.xml
#<Enumerable::EmptyError:Empty enumerable>

jacoco version: 0.8.8. and the file is valid.

Invalid Int32

(Reporting for client.)

Issue

This command:

wget -cq https://coveralls.io/coveralls-linux.tar.gz -O - | tar -xz && ./coveralls --repo-token=<REMOVED> -flcov.info --debug

Results in this error:

Invalid Int32: 3028760000

invalid-int32_universal_reporter

Supporting info

v0.3.7 fails to upload lcov on Windows

What was wrong?

This morning coverallsapp/github-action fails to upload lcov coverage files on Windows for projects which were previously working. It produces errors such as the following:

I have only observed this issue on Windows. It appears to be due to the handling of backslashes in paths, which causes the variation in error messages.

Github action gateway timeout

What was wrong?

I'm using coveralls through a github action. There are probably about ~50k gcov files that our testing generates.

We get finish the file processing and then this happens:

🚀 Posting coverage data to https://coveralls.io/api/v1/jobs
HTTP error:
---
Error: Gateway Time-out (504)
Message: <!DOCTYPE html>

Logs

Coveralls version: v0.6.12

JSON::SerializableError on version 0.4.1

What was wrong?

We have started seeing a coveralls-related error consistently across all of our projects. No changes have been made from our end. The appearance of the errors started exactly at the time the new v0.4.1 was released.

We use the coveralls github action (https://github.com/coverallsapp/github-action) to report coverage to Coveralls from our Github workflows.

We upload parallel coverage reports with the following configuration:

      - name: Upload to Coveralls
        uses: coverallsapp/github-action@v2
        if: always()
        with:
          flag-name: run-${{ matrix.franchise }}
          parallel: true

and we finish our parallel coverage report with:

  coveralls_finish:
    needs: rspec
    runs-on: ubuntu-latest
    steps:
      - uses: coverallsapp/github-action@v2
        with:
          parallel-finished: true

This had been working well for us for a while. It has suddenly broken today exactly at the time v0.4.1 was released.

Logs

Here is the error we are seeing in our Github actions log:

🔍 Detected coverage file: coverage/lcov.info
🔍 Detected coverage file: coverage/.resultset.json
#<JSON::SerializableError:Couldn't parse (Array(Int64 | Nil) | CoverageReporter::SimplecovParser::ComplexCoverage) from {"lines":[null,null,1,1,null,1,1,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,179,null,1,98,null,null,1,0,null,null]} at line 4, column 63
  parsing CoverageReporter::SimplecovParser::Report#coverage at line 3, column 5>
Error: Process completed with exit code 1.

macOS binary depends on crystal dependencies

How to replicate

  1. Download the binary onto a fresh machine and run it
❯ coveralls -h
dyld: Library not loaded: /usr/local/opt/libyaml/lib/libyaml-0.2.dylib
  Referenced from: /usr/local/bin/coveralls
  Reason: image not found
  1. Run brew install crystal
  2. Issue disappears

Related issues

crystal-lang/crystal#5994

Proposed solution

Distribute the macOS binary with homebrew and include libyaml as a dependency

python coverage not supported with `--branch`

The SQL query below used to parse .coverage for Python projects returns 0 results if coverage was run with --branch on the CLI or with branch = True in .coveragerc.

QUERY = <<-SQL
SELECT file.path, line_bits.numbits
FROM line_bits
INNER JOIN file ON (line_bits.file_id = file.id)
SQL

With this argument/setting, coverage seems not to add any rows in the line_bits table, and coverage-reporter will therefore find that there is "nothing to report" using the above query; only the arc table is populated with --branch, and it isn't queried.

Omitting the --branch argument or removing/commenting out the branch = True configuration setting lets coverage-reporter find results in the .coverage file, with the obvious caveat that only statement coverage data is reported.

Note that without --branch, the arc table is now empty, and line_bits is populated.


I attempted to work around this by running coverage lcov prior to the coverallsapp/github-action@v2 step, and it appears to work, but doesn't seem ideal. With zero code changes, the project's coverage jumped by 0.6% and spot-checking a few places showed a lot of unexpected branch coverage annotations on Coveralls. For example, partially covered branches I checked are now shown as fully covered, and sometimes branch-coverage annotations appear in the Coveralls UI where there is no branch at all:

image

I'm unsure yet whether coverage outputs bad lcov format when branch tracking is enabled, or if coveralls-reporter isn't parsing it correctly. At this point I've only managed to figure out that something isn't working as expected. 😅

Crest::BadRequest using Coveralls > v0.3.5

What was wrong?

Hi there, we're using the universal coverage reporter to upload gcov coverage files to coveralls.io. We have some issues with newer versions. Any version above 0.3.5 gives me the <Crest::BadRequest:HTTP status code 400: Bad Request> error.

v0.3.5:

🚀 Posting coverage data to https://coveralls.io/api/v1/jobs
---
✅ API Response: {"message":"Job ##11.1","url":"https://coveralls.io/jobs/122307634"}
- 💛, Coveralls

v0.3.6:

🚀 Posting coverage data to https://coveralls.io/api/v1/jobs
#<Crest::BadRequest:HTTP status code 400: Bad Request>
Unhandled exception: HTTP status code 400: Bad Request (Crest::BadRequest)
  from ???
  from ???
  from ???
  from ???
  from ???
  from ???
  from ???
  from ???

I believe the problem is potentially caused by the request being too large, if I limit the number of gcov files that we're uploading it starts working again on v0.3.6.

Reporter does not detect build number on Semaphore

Here's my scenario that's not working:

  1. Ran Jest and uploaded successfully with --parallel
./coveralls --parallel
 
⠀⠀⠀⠀⠀⠀�[38;5;196m⣿�[0m
⠀⠀⠀⠀⠀�[38;5;196m⣼⣿⣧�[0m⠀⠀⠀⠀⠀⠀⠀ ⣠⣶⣾⣿⡇⢀⣴⣾⣿⣷⣆ ⣿⣿⠀⣰⣿⡟⢸⣿⣿⣿⡇ ⣿⣿⣿⣷⣦⠀⠀⢠⣿⣿⣿⠀⠀⣿⣿⠁⠀⣼⣿⡇⠀⢀⣴⣾⣿⡷
�[38;5;196m⠶⣶⣶⣶⣾⣿⣿⣿⣷⣶⣶⣶⠶�[0m  ⣸⣿⡟ ⠀⢠⣿⣿⠃⠈⣿⣿⠀⣿⣿⢠⣿⡿⠀⣿⣿⣧⣤⠀⢸⣿⡇⣠⣿⡿⠀⢠⣿⡟⣿⣿⠀⢸⣿⡿⠀⠀⣿⣿⠃⠀⢸⣿⣧⣄
⠀⠀�[38;5;196m⠙⢻⣿⣿⣿⣿⣿⡟⠋⠁�[0m⠀⠀ ⣿⣿⡇⠀ ⢸⣿⣿⠀⣸⣿⡟⠀⣿⣿⣾⡿⠁ ⣿⣿⠛⠛⠀⣿⣿⢿⣿⣏⠀⢀⣿⣿⣁⣿⣿⠀⣾⣿⡇⠀⢸⣿⡿⠀⠀⡀⠙⣿⣿⡆
⠀⠀�[38;5;196m⢠⣿⣿⣿⠿⣿⣿⣿⡄�[0m⠀⠀⠀ ⠙⢿⣿⣿⠇⠈⠿⣿⣿⡿⠋⠀⠀⢿⣿⡿⠁⠀⢸⣿⣿⣿⡇⢸⣿⣿⠀⣿⣿⣄⣾⣿⠛⠛⣿⣿⢠⣿⣿⣿ ⣼⣿⣿⣿ ⣿⣿⡿⠋⠀
⠀�[38;5;196m⢀⣾⠟⠋⠀⠀⠀⠙⠻⣷⡀�[0m⠀⠀
 
  v0.3.3

🔍 Detected coverage file: coverage/lcov.info
⭐️ Running in parallel mode. You must call the webhook after all jobs finish: `coveralls --done`
🚀 Posting coverage data to https://coveralls.io/api/v1/jobs
---
✅ API Response: {"message":"Job ##2198.1","url":"https://coveralls.io/jobs/118530597"}
- 💛, Coveralls
  1. Attempted to call the webhook to finish:
./coveralls --done
 
⠀⠀⠀⠀⠀⠀�[38;5;196m⣿�[0m
⠀⠀⠀⠀⠀�[38;5;196m⣼⣿⣧�[0m⠀⠀⠀⠀⠀⠀⠀ ⣠⣶⣾⣿⡇⢀⣴⣾⣿⣷⣆ ⣿⣿⠀⣰⣿⡟⢸⣿⣿⣿⡇ ⣿⣿⣿⣷⣦⠀⠀⢠⣿⣿⣿⠀⠀⣿⣿⠁⠀⣼⣿⡇⠀⢀⣴⣾⣿⡷
�[38;5;196m⠶⣶⣶⣶⣾⣿⣿⣿⣷⣶⣶⣶⠶�[0m  ⣸⣿⡟ ⠀⢠⣿⣿⠃⠈⣿⣿⠀⣿⣿⢠⣿⡿⠀⣿⣿⣧⣤⠀⢸⣿⡇⣠⣿⡿⠀⢠⣿⡟⣿⣿⠀⢸⣿⡿⠀⠀⣿⣿⠃⠀⢸⣿⣧⣄
⠀⠀�[38;5;196m⠙⢻⣿⣿⣿⣿⣿⡟⠋⠁�[0m⠀⠀ ⣿⣿⡇⠀ ⢸⣿⣿⠀⣸⣿⡟⠀⣿⣿⣾⡿⠁ ⣿⣿⠛⠛⠀⣿⣿⢿⣿⣏⠀⢀⣿⣿⣁⣿⣿⠀⣾⣿⡇⠀⢸⣿⡿⠀⠀⡀⠙⣿⣿⡆
⠀⠀�[38;5;196m⢠⣿⣿⣿⠿⣿⣿⣿⡄�[0m⠀⠀⠀ ⠙⢿⣿⣿⠇⠈⠿⣿⣿⡿⠋⠀⠀⢿⣿⡿⠁⠀⢸⣿⣿⣿⡇⢸⣿⣿⠀⣿⣿⣄⣾⣿⠛⠛⣿⣿⢠⣿⣿⣿ ⣼⣿⣿⣿ ⣿⣿⡿⠋⠀
⠀�[38;5;196m⢀⣾⠟⠋⠀⠀⠀⠙⠻⣷⡀�[0m⠀⠀
 
  v0.3.3

⭐️ Calling parallel done webhook: https://coveralls.io/webhook
---
✅ API Response: {"error":"No build matching CI build number  found"}
- 💛, Coveralls

I attempted to call the webhook directly with curl and received a similar message:

curl -k https://coveralls.io/webhook?repo_token=$COVERALLS_REPO_TOKEN -d "payload[build_num]=$SEMAPHORE_WORKFLOW_ID&payload[status]=done"
{"error":"No build matching CI build number d9334a96-6830-477f-92a2-867c7054a4c1 found"}

Next I changed my first parallel call to directly pass the job id, which did use the $SEMAPHORE_WORKFLOW_ID when reporting with --parallel, but then still did not on the --done step:

./coveralls --parallel --service-job-id=$SEMAPHORE_WORKFLOW_ID
 
⠀⠀⠀⠀⠀⠀�[38;5;196m⣿�[0m
⠀⠀⠀⠀⠀�[38;5;196m⣼⣿⣧�[0m⠀⠀⠀⠀⠀⠀⠀ ⣠⣶⣾⣿⡇⢀⣴⣾⣿⣷⣆ ⣿⣿⠀⣰⣿⡟⢸⣿⣿⣿⡇ ⣿⣿⣿⣷⣦⠀⠀⢠⣿⣿⣿⠀⠀⣿⣿⠁⠀⣼⣿⡇⠀⢀⣴⣾⣿⡷
�[38;5;196m⠶⣶⣶⣶⣾⣿⣿⣿⣷⣶⣶⣶⠶�[0m  ⣸⣿⡟ ⠀⢠⣿⣿⠃⠈⣿⣿⠀⣿⣿⢠⣿⡿⠀⣿⣿⣧⣤⠀⢸⣿⡇⣠⣿⡿⠀⢠⣿⡟⣿⣿⠀⢸⣿⡿⠀⠀⣿⣿⠃⠀⢸⣿⣧⣄
⠀⠀�[38;5;196m⠙⢻⣿⣿⣿⣿⣿⡟⠋⠁�[0m⠀⠀ ⣿⣿⡇⠀ ⢸⣿⣿⠀⣸⣿⡟⠀⣿⣿⣾⡿⠁ ⣿⣿⠛⠛⠀⣿⣿⢿⣿⣏⠀⢀⣿⣿⣁⣿⣿⠀⣾⣿⡇⠀⢸⣿⡿⠀⠀⡀⠙⣿⣿⡆
⠀⠀�[38;5;196m⢠⣿⣿⣿⠿⣿⣿⣿⡄�[0m⠀⠀⠀ ⠙⢿⣿⣿⠇⠈⠿⣿⣿⡿⠋⠀⠀⢿⣿⡿⠁⠀⢸⣿⣿⣿⡇⢸⣿⣿⠀⣿⣿⣄⣾⣿⠛⠛⣿⣿⢠⣿⣿⣿ ⣼⣿⣿⣿ ⣿⣿⡿⠋⠀
⠀�[38;5;196m⢀⣾⠟⠋⠀⠀⠀⠙⠻⣷⡀�[0m⠀⠀
 
  v0.3.3

🔍 Detected coverage file: coverage/lcov.info
⭐️ Running in parallel mode. You must call the webhook after all jobs finish: `coveralls --done`
🚀 Posting coverage data to https://coveralls.io/api/v1/jobs
---
✅ API Response: {"message":"Job #57072beb-0895-44e4-a7fe-ccc892a72d55.1","url":"https://coveralls.io/jobs/118531465"}
- 💛, Coveralls
./coveralls --done --service-job-id=$SEMAPHORE_WORKFLOW_ID
 
⠀⠀⠀⠀⠀⠀�[38;5;196m⣿�[0m
⠀⠀⠀⠀⠀�[38;5;196m⣼⣿⣧�[0m⠀⠀⠀⠀⠀⠀⠀ ⣠⣶⣾⣿⡇⢀⣴⣾⣿⣷⣆ ⣿⣿⠀⣰⣿⡟⢸⣿⣿⣿⡇ ⣿⣿⣿⣷⣦⠀⠀⢠⣿⣿⣿⠀⠀⣿⣿⠁⠀⣼⣿⡇⠀⢀⣴⣾⣿⡷
�[38;5;196m⠶⣶⣶⣶⣾⣿⣿⣿⣷⣶⣶⣶⠶�[0m  ⣸⣿⡟ ⠀⢠⣿⣿⠃⠈⣿⣿⠀⣿⣿⢠⣿⡿⠀⣿⣿⣧⣤⠀⢸⣿⡇⣠⣿⡿⠀⢠⣿⡟⣿⣿⠀⢸⣿⡿⠀⠀⣿⣿⠃⠀⢸⣿⣧⣄
⠀⠀�[38;5;196m⠙⢻⣿⣿⣿⣿⣿⡟⠋⠁�[0m⠀⠀ ⣿⣿⡇⠀ ⢸⣿⣿⠀⣸⣿⡟⠀⣿⣿⣾⡿⠁ ⣿⣿⠛⠛⠀⣿⣿⢿⣿⣏⠀⢀⣿⣿⣁⣿⣿⠀⣾⣿⡇⠀⢸⣿⡿⠀⠀⡀⠙⣿⣿⡆
⠀⠀�[38;5;196m⢠⣿⣿⣿⠿⣿⣿⣿⡄�[0m⠀⠀⠀ ⠙⢿⣿⣿⠇⠈⠿⣿⣿⡿⠋⠀⠀⢿⣿⡿⠁⠀⢸⣿⣿⣿⡇⢸⣿⣿⠀⣿⣿⣄⣾⣿⠛⠛⣿⣿⢠⣿⣿⣿ ⣼⣿⣿⣿ ⣿⣿⡿⠋⠀
⠀�[38;5;196m⢀⣾⠟⠋⠀⠀⠀⠙⠻⣷⡀�[0m⠀⠀
 
  v0.3.3

⭐️ Calling parallel done webhook: https://coveralls.io/webhook
---
✅ API Response: {"error":"No build matching CI build number  found"}
- 💛, Coveralls

Finally, what does work is calling coveralls --parallel --service-job-id=$SEMAPHORE_WORKFLOW_ID followed by manually calling the done webhook with curl.

Unable to upload report using coverage-reporter v0.6.10

What was wrong?

I'm not able to upload the report using the 0.6.10 version that was just released.

Logs

coveralls-linux.tar.gz: OK
Parsing args
Dry run - 0
Reporting coverage
+ ./coveralls report --debug
 
⠀⠀⠀⠀⠀⠀⣿
⠀⠀⠀⠀⠀⣼⣿⣧⠀⠀⠀⠀⠀⠀⠀ ⣠⣶⣾⣿⡇⢀⣴⣾⣿⣷⣆ ⣿⣿⠀⣰⣿⡟⢸⣿⣿⣿⡇ ⣿⣿⣿⣷⣦⠀⠀⢠⣿⣿⣿⠀⠀⣿⣿⠁⠀⣼⣿⡇⠀⢀⣴⣾⣿⡷
⠶⣶⣶⣶⣾⣿⣿⣿⣷⣶⣶⣶⠶  ⣸⣿⡟ ⠀⢠⣿⣿⠃⠈⣿⣿⠀⣿⣿⢠⣿⡿⠀⣿⣿⣧⣤⠀⢸⣿⡇⣠⣿⡿⠀⢠⣿⡟⣿⣿⠀⢸⣿⡿⠀⠀⣿⣿⠃⠀⢸⣿⣧⣄
⠀⠀⠙⢻⣿⣿⣿⣿⣿⡟⠋⠁⠀⠀ ⣿⣿⡇⠀ ⢸⣿⣿⠀⣸⣿⡟⠀⣿⣿⣾⡿⠁ ⣿⣿⠛⠛⠀⣿⣿⢿⣿⣏⠀⢀⣿⣿⣁⣿⣿⠀⣾⣿⡇⠀⢸⣿⡿⠀⠀⡀⠙⣿⣿⡆
⠀⠀⢠⣿⣿⣿⠿⣿⣿⣿⡄⠀⠀⠀ ⠙⢿⣿⣿⠇⠈⠿⣿⣿⡿⠋⠀⠀⢿⣿⡿⠁⠀⢸⣿⣿⣿⡇⢸⣿⣿⠀⣿⣿⣄⣾⣿⠛⠛⣿⣿⢠⣿⣿⣿ ⣼⣿⣿⣿ ⣿⣿⡿⠋⠀
⠀⢀⣾⠟⠋⠀⠀⠀⠙⠻⣷⡀⠀⠀
 
  v0.6.10

🔍 Detected coverage file: .coverage
⚠️  Detected coverage format: python, but error with coverage executable: --: 1: coverage: not found
⚠️ Coverage reporter does not yet know how to process this file: .coverage
⏱️ Report parsing: 00:00:00.052611493
🚨 Nothing to report

Exited with code exit status 1

Similar to #119, but with the new version. This started happening for us yesterday (April 18, 2024).

Should not consider .coverage to be a trace file if it is a directory

What was wrong?

Given a directory named .coverage
When coverage-reporter encounters it
Then it should not be considered a coverage file if it is a directory

Logs

🔍 Detected coverage file: tests/test_move_parameter_with_void_pointer/.coverage
Could not process tracefile: tests/test_move_parameter_with_void_pointer/.coverage
IO::Error: Error reading file: Is a directory

running coveralls --done causes SSL certificate error

env: amazon linux 2022

coveralls --done


⭐️ Calling parallel done webhook: https://coveralls.io/webhook
---
⛑ Debug Output:
{"repo_token":"xxxxxxxx","payload":{"build_num":"10","status":"done"}}
Unhandled exception: SSL_connect: error:1416F086:SSL routines:tls_process_server_certificate:certificate verify failed (OpenSSL::SSL::Error)
  from ???
  from ???
  from ???
  from ???
  from ???
  from ???
  from ???
  from ???
  from src/env/__libc_start_main.c:94:2 in 'libc_start_main_stage2'

Failures in Github Actions after v0.3.8 was released

What was wrong?

Yesterday our CI pipelines started to fail and it seems to have happened just after v0.3.8 was released.

Logs

This is from a private repo but let me know if you need any additional information. The coverage files comes from Python.

Run coverallsapp/[email protected]
Run curl -sL https://github.com/coverallsapp/coverage-reporter/releases/latest/download/coveralls-linux.tar.gz | tar xz -C /usr/local/bin
Run coveralls    
 
⠀⠀⠀⠀⠀⠀⣿
⠀⠀⠀⠀⠀⣼⣿⣧⠀⠀⠀⠀⠀⠀⠀ ⣠⣶⣾⣿⡇⢀⣴⣾⣿⣷⣆ ⣿⣿⠀⣰⣿⡟⢸⣿⣿⣿⡇ ⣿⣿⣿⣷⣦⠀⠀⢠⣿⣿⣿⠀⠀⣿⣿⠁⠀⣼⣿⡇⠀⢀⣴⣾⣿⡷
⠶⣶⣶⣶⣾⣿⣿⣿⣷⣶⣶⣶⠶  ⣸⣿⡟ ⠀⢠⣿⣿⠃⠈⣿⣿⠀⣿⣿⢠⣿⡿⠀⣿⣿⣧⣤⠀⢸⣿⡇⣠⣿⡿⠀⢠⣿⡟⣿⣿⠀⢸⣿⡿⠀⠀⣿⣿⠃⠀⢸⣿⣧⣄
⠀⠀⠙⢻⣿⣿⣿⣿⣿⡟⠋⠁⠀⠀ ⣿⣿⡇⠀ ⢸⣿⣿⠀⣸⣿⡟⠀⣿⣿⣾⡿⠁ ⣿⣿⠛⠛⠀⣿⣿⢿⣿⣏⠀⢀⣿⣿⣁⣿⣿⠀⣾⣿⡇⠀⢸⣿⡿⠀⠀⡀⠙⣿⣿⡆
⠀⠀⢠⣿⣿⣿⠿⣿⣿⣿⡄⠀⠀⠀ ⠙⢿⣿⣿⠇⠈⠿⣿⣿⡿⠋⠀⠀⢿⣿⡿⠁⠀⢸⣿⣿⣿⡇⢸⣿⣿⠀⣿⣿⣄⣾⣿⠛⠛⣿⣿⢠⣿⣿⣿ ⣼⣿⣿⣿ ⣿⣿⡿⠋⠀
⠀⢀⣾⠟⠋⠀⠀⠀⠙⠻⣷⡀⠀⠀
 
  v0.3.8

🔍 Detected coverage file: coverage.xml
🔍 Detected coverage file: .coverage
Oops! Regex match error: UTF-8 error: byte 2 top bits not 0x80
Coveralls Coverage Reporter v0.3.8
Error: Process completed with exit code 1.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.