Strange behavior in github workflow
- Version: 7.11.3
- Platform: ubuntu-20.04 (github actions)
Hi everyone! I encountered strange behavior in github workflow when I change package.json things, not related to c8. Here are coverage report of all files: https://github.com/ultram4rine/vscode-choosealicense/runs/7054000876?check_suite_focus=true#step:5:79
---------------|---------|----------|---------|---------|-------------------------------------------
File | % Stmts | % Branch | % Funcs | % Lines | Uncovered Line #s
---------------|---------|----------|---------|---------|-------------------------------------------
All files | 39.56 | 100 | 35.71 | 39.56 |
src | 100 | 100 | 100 | 100 |
extension.ts | 100 | 100 | 100 | 100 |
src/api | 100 | 100 | 100 | 100 |
index.ts | 100 | 100 | 100 | 100 |
src/commands | 31.44 | 100 | 0 | 31.44 |
index.ts | 31.44 | 100 | 0 | 31.44 | 22-61,67-80,86-106,135-179,182-194
src/config | 9.55 | 100 | 0 | 9.55 |
index.ts | 9.55 | 100 | 0 | 9.55 | ...0,23-73,76-100,103-115,118-127,130-157
src/utils | 100 | 100 | 100 | 100 |
index.ts | 100 | 100 | 100 | 100 |
---------------|---------|----------|---------|---------|-------------------------------------------
And here are the report of only files that actually tested: https://github.com/ultram4rine/vscode-choosealicense/runs/7054022246?check_suite_focus=true#step:5:75
-----------|---------|----------|---------|---------|-------------------
File | % Stmts | % Branch | % Funcs | % Lines | Uncovered Line #s
-----------|---------|----------|---------|---------|-------------------
All files | 100 | 100 | 100 | 100 |
api | 100 | 100 | 100 | 100 |
index.ts | 100 | 100 | 100 | 100 |
utils | 100 | 100 | 100 | 100 |
index.ts | 100 | 100 | 100 | 100 |
-----------|---------|----------|---------|---------|-------------------
And thats the commit. I changed activation events for vscode extension from onStartupFinished to onCommand.
Here you can see how coverage changes.
On my local machine coverage report works fine, I run it just like in workflow: /usr/bin/xvfb-run --auto-servernum yarn coverage
Can someone explain to me how that things related?
@ultram4rine what is the coverage output locally, vs., in the GitHub action?
@bcoe do you mean like lcov.info?
Local
TN:
SF:src/extension.ts
FN:14,activate
FNF:1
FNH:1
FNDA:1,activate
DA:1,1
DA:2,1
DA:3,1
DA:4,1
DA:5,1
DA:6,1
DA:7,1
DA:8,1
DA:9,1
DA:10,1
DA:11,1
DA:12,1
DA:13,1
DA:14,1
DA:15,1
DA:16,1
DA:17,1
DA:18,1
DA:19,1
DA:20,1
DA:21,1
DA:22,1
DA:23,1
DA:24,1
DA:25,1
LF:25
LH:25
BRDA:14,0,0,1
BRF:1
BRH:1
end_of_record
TN:
SF:src/api/index.ts
FN:10,getLicenses
FN:15,getLicense
FNF:2
FNH:2
FNDA:1,getLicenses
FNDA:14,getLicense
DA:1,1
DA:2,1
DA:3,1
DA:4,1
DA:5,1
DA:6,1
DA:7,1
DA:8,1
DA:9,1
DA:10,1
DA:11,1
DA:12,1
DA:13,1
DA:14,1
DA:15,1
DA:16,14
DA:17,14
DA:18,14
LF:18
LH:18
BRDA:10,0,0,1
BRDA:15,1,0,14
BRF:2
BRH:2
end_of_record
TN:
SF:src/commands/index.ts
FN:134,addLicense
FN:181,chooseFolder
FNF:2
FNH:2
FNDA:1,addLicense
FNDA:1,chooseFolder
DA:1,1
DA:2,1
DA:3,1
DA:4,1
DA:5,1
DA:6,1
DA:7,1
DA:8,1
DA:9,1
DA:10,1
DA:11,1
DA:12,1
DA:13,1
DA:14,1
DA:15,1
DA:16,1
DA:17,1
DA:18,1
DA:19,1
DA:20,1
DA:21,1
DA:22,0
DA:23,0
DA:24,0
DA:25,0
DA:26,0
DA:27,0
DA:28,0
DA:29,0
DA:30,0
DA:31,0
DA:32,0
DA:33,0
DA:34,0
DA:35,0
DA:36,0
DA:37,0
DA:38,0
DA:39,0
DA:40,0
DA:41,0
DA:42,0
DA:43,0
DA:44,0
DA:45,0
DA:46,0
DA:47,0
DA:48,0
DA:49,0
DA:50,0
DA:51,0
DA:52,0
DA:53,0
DA:54,0
DA:55,0
DA:56,0
DA:57,0
DA:58,0
DA:59,0
DA:60,0
DA:61,0
DA:62,1
DA:63,1
DA:64,1
DA:65,1
DA:66,1
DA:67,1
DA:68,1
DA:69,1
DA:70,1
DA:71,1
DA:72,1
DA:73,1
DA:74,1
DA:75,0
DA:76,0
DA:77,1
DA:78,0
DA:79,0
DA:80,1
DA:81,1
DA:82,1
DA:83,1
DA:84,1
DA:85,1
DA:86,0
DA:87,0
DA:88,0
DA:89,0
DA:90,0
DA:91,0
DA:92,0
DA:93,0
DA:94,0
DA:95,0
DA:96,0
DA:97,0
DA:98,0
DA:99,0
DA:100,0
DA:101,0
DA:102,0
DA:103,0
DA:104,0
DA:105,0
DA:106,0
DA:107,1
DA:108,1
DA:109,1
DA:110,1
DA:111,1
DA:112,1
DA:113,1
DA:114,1
DA:115,1
DA:116,1
DA:117,1
DA:118,1
DA:119,1
DA:120,1
DA:121,1
DA:122,1
DA:123,1
DA:124,1
DA:125,1
DA:126,1
DA:127,1
DA:128,1
DA:129,1
DA:130,1
DA:131,1
DA:132,1
DA:133,1
DA:134,1
DA:135,1
DA:136,1
DA:137,0
DA:138,0
DA:139,0
DA:140,0
DA:141,0
DA:142,0
DA:143,0
DA:144,0
DA:145,0
DA:146,0
DA:147,0
DA:148,0
DA:149,0
DA:150,0
DA:151,0
DA:152,0
DA:153,0
DA:154,0
DA:155,0
DA:156,0
DA:157,0
DA:158,0
DA:159,0
DA:160,0
DA:161,0
DA:162,0
DA:163,0
DA:164,0
DA:165,0
DA:166,0
DA:167,0
DA:168,0
DA:169,0
DA:170,0
DA:171,0
DA:172,0
DA:173,0
DA:174,0
DA:175,0
DA:176,1
DA:177,1
DA:178,1
DA:179,1
DA:180,1
DA:181,1
DA:182,1
DA:183,1
DA:184,0
DA:185,0
DA:186,0
DA:187,0
DA:188,0
DA:189,0
DA:190,0
DA:191,1
DA:192,1
DA:193,1
DA:194,1
LF:194
LH:83
BRDA:66,0,0,1
BRDA:69,1,0,0
BRDA:74,2,0,0
BRDA:77,3,0,0
BRDA:134,4,0,1
BRDA:136,5,0,0
BRDA:181,6,0,1
BRDA:183,7,0,0
BRF:8
BRH:3
end_of_record
TN:
SF:src/config/index.ts
FN:3,setDefaultLicenseProperty
FN:7,setAuthorProperty
FN:22,setYearProperty
FN:75,setExtensionProperty
FN:102,setFilenameProperty
FN:117,setTokenProperty
FN:129,setProp
FNF:7
FNH:2
FNDA:1,setDefaultLicenseProperty
FNDA:0,setAuthorProperty
FNDA:0,setYearProperty
FNDA:0,setExtensionProperty
FNDA:0,setFilenameProperty
FNDA:0,setTokenProperty
FNDA:1,setProp
DA:1,1
DA:2,1
DA:3,1
DA:4,1
DA:5,1
DA:6,1
DA:7,1
DA:8,0
DA:9,0
DA:10,0
DA:11,0
DA:12,0
DA:13,0
DA:14,0
DA:15,0
DA:16,0
DA:17,0
DA:18,0
DA:19,0
DA:20,0
DA:21,1
DA:22,1
DA:23,0
DA:24,0
DA:25,0
DA:26,0
DA:27,0
DA:28,0
DA:29,0
DA:30,0
DA:31,0
DA:32,0
DA:33,0
DA:34,0
DA:35,0
DA:36,0
DA:37,0
DA:38,0
DA:39,0
DA:40,0
DA:41,0
DA:42,0
DA:43,0
DA:44,0
DA:45,0
DA:46,0
DA:47,0
DA:48,0
DA:49,0
DA:50,0
DA:51,0
DA:52,0
DA:53,0
DA:54,0
DA:55,0
DA:56,0
DA:57,0
DA:58,0
DA:59,0
DA:60,0
DA:61,0
DA:62,0
DA:63,0
DA:64,0
DA:65,0
DA:66,0
DA:67,0
DA:68,0
DA:69,0
DA:70,0
DA:71,0
DA:72,0
DA:73,0
DA:74,1
DA:75,1
DA:76,0
DA:77,0
DA:78,0
DA:79,0
DA:80,0
DA:81,0
DA:82,0
DA:83,0
DA:84,0
DA:85,0
DA:86,0
DA:87,0
DA:88,0
DA:89,0
DA:90,0
DA:91,0
DA:92,0
DA:93,0
DA:94,0
DA:95,0
DA:96,0
DA:97,0
DA:98,0
DA:99,0
DA:100,0
DA:101,1
DA:102,1
DA:103,0
DA:104,0
DA:105,0
DA:106,0
DA:107,0
DA:108,0
DA:109,0
DA:110,0
DA:111,0
DA:112,0
DA:113,0
DA:114,0
DA:115,0
DA:116,1
DA:117,1
DA:118,0
DA:119,0
DA:120,0
DA:121,0
DA:122,0
DA:123,0
DA:124,0
DA:125,0
DA:126,0
DA:127,0
DA:128,1
DA:129,1
DA:130,1
DA:131,0
DA:132,0
DA:133,0
DA:134,0
DA:135,0
DA:136,0
DA:137,0
DA:138,0
DA:139,0
DA:140,0
DA:141,0
DA:142,0
DA:143,0
DA:144,0
DA:145,0
DA:146,0
DA:147,0
DA:148,0
DA:149,0
DA:150,0
DA:151,0
DA:152,1
DA:153,1
DA:154,1
DA:155,1
DA:156,1
DA:157,1
LF:157
LH:24
BRDA:3,0,0,1
BRDA:129,1,0,1
BRDA:130,2,0,0
BRF:3
BRH:2
end_of_record
TN:
SF:src/utils/index.ts
FN:1,replaceAuthor
FN:32,replaceYear
FNF:2
FNH:2
FNDA:13,replaceAuthor
FNDA:13,replaceYear
DA:1,1
DA:2,13
DA:3,13
DA:4,13
DA:5,13
DA:6,13
DA:7,4
DA:8,4
DA:9,13
DA:10,13
DA:11,1
DA:12,1
DA:13,13
DA:14,13
DA:15,13
DA:16,13
DA:17,3
DA:18,3
DA:19,13
DA:20,13
DA:21,13
DA:22,13
DA:23,13
DA:24,13
DA:25,13
DA:26,5
DA:27,13
DA:28,13
DA:29,13
DA:30,13
DA:31,1
DA:32,1
DA:33,13
DA:34,13
DA:35,13
DA:36,13
DA:37,13
DA:38,4
DA:39,4
DA:40,13
DA:41,13
DA:42,1
DA:43,1
DA:44,13
DA:45,13
DA:46,13
DA:47,13
DA:48,3
DA:49,3
DA:50,13
DA:51,13
DA:52,13
DA:53,13
DA:54,13
DA:55,13
DA:56,13
DA:57,5
DA:58,13
DA:59,13
DA:60,13
DA:61,13
LF:61
LH:61
BRDA:1,0,0,13
BRDA:3,1,0,1
BRDA:4,2,0,2
BRDA:5,3,0,3
BRDA:6,4,0,4
BRDA:10,5,0,1
BRDA:14,6,0,1
BRDA:15,7,0,2
BRDA:16,8,0,3
BRDA:20,9,0,1
BRDA:21,10,0,2
BRDA:22,11,0,3
BRDA:23,12,0,4
BRDA:24,13,0,5
BRDA:25,14,0,5
BRDA:32,15,0,13
BRDA:34,16,0,1
BRDA:35,17,0,2
BRDA:36,18,0,3
BRDA:37,19,0,4
BRDA:41,20,0,1
BRDA:45,21,0,1
BRDA:46,22,0,2
BRDA:47,23,0,3
BRDA:51,24,0,1
BRDA:52,25,0,2
BRDA:53,26,0,3
BRDA:54,27,0,4
BRDA:55,28,0,5
BRDA:56,29,0,5
BRF:30
BRH:30
end_of_record
GitHub actions
TN:
SF:src/api/index.ts
FN:10,getLicenses
FN:15,getLicense
FNF:2
FNH:2
FNDA:1,getLicenses
FNDA:13,getLicense
DA:1,1
DA:2,1
DA:3,1
DA:4,1
DA:5,1
DA:6,1
DA:7,1
DA:8,1
DA:9,1
DA:10,1
DA:11,1
DA:12,1
DA:13,1
DA:14,1
DA:15,1
DA:16,13
DA:17,13
DA:18,13
LF:18
LH:18
BRDA:10,0,0,1
BRDA:15,1,0,13
BRF:2
BRH:2
end_of_record
TN:
SF:src/utils/index.ts
FN:1,replaceAuthor
FN:32,replaceYear
FNF:2
FNH:2
FNDA:13,replaceAuthor
FNDA:13,replaceYear
DA:1,1
DA:2,13
DA:3,13
DA:4,13
DA:5,13
DA:6,13
DA:7,4
DA:8,4
DA:9,13
DA:10,13
DA:11,1
DA:12,1
DA:13,13
DA:14,13
DA:15,13
DA:16,13
DA:17,3
DA:18,3
DA:19,13
DA:20,13
DA:21,13
DA:22,13
DA:23,13
DA:24,13
DA:25,13
DA:26,5
DA:27,13
DA:28,13
DA:29,13
DA:30,13
DA:31,1
DA:32,1
DA:33,13
DA:34,13
DA:35,13
DA:36,13
DA:37,13
DA:38,4
DA:39,4
DA:40,13
DA:41,13
DA:42,1
DA:43,1
DA:44,13
DA:45,13
DA:46,13
DA:47,13
DA:48,3
DA:49,3
DA:50,13
DA:51,13
DA:52,13
DA:53,13
DA:54,13
DA:55,13
DA:56,13
DA:57,5
DA:58,13
DA:59,13
DA:60,13
DA:61,13
LF:61
LH:61
BRDA:1,0,0,13
BRDA:3,1,0,1
BRDA:4,2,0,2
BRDA:5,3,0,3
BRDA:6,4,0,4
BRDA:10,5,0,1
BRDA:14,6,0,1
BRDA:15,7,0,2
BRDA:16,8,0,3
BRDA:20,9,0,1
BRDA:21,10,0,2
BRDA:22,11,0,3
BRDA:23,12,0,4
BRDA:24,13,0,5
BRDA:25,14,0,5
BRDA:32,15,0,13
BRDA:34,16,0,1
BRDA:35,17,0,2
BRDA:36,18,0,3
BRDA:37,19,0,4
BRDA:41,20,0,1
BRDA:45,21,0,1
BRDA:46,22,0,2
BRDA:47,23,0,3
BRDA:51,24,0,1
BRDA:52,25,0,2
BRDA:53,26,0,3
BRDA:54,27,0,4
BRDA:55,28,0,5
BRDA:56,29,0,5
BRF:30
BRH:30
end_of_record
Here are full output with tmp folder:
coverage_local.zip
coverage_gh_action.zip
@ultram4rine would you be able to provide the visual output for GitHub actions, vs., local, of the form:
---------------|---------|----------|---------|---------|-------------------------------------------
File | % Stmts | % Branch | % Funcs | % Lines | Uncovered Line #s
---------------|---------|----------|---------|---------|-------------------------------------------
All files | 39.56 | 100 | 35.71 | 39.56 |
src | 100 | 100 | 100 | 100 |
extension.ts | 100 | 100 | 100 | 100 |
src/api | 100 | 100 | 100 | 100 |
index.ts | 100 | 100 | 100 | 100 |
src/commands | 31.44 | 100 | 0 | 31.44 |
index.ts | 31.44 | 100 | 0 | 31.44 | 22-61,67-80,86-106,135-179,182-194
src/config | 9.55 | 100 | 0 | 9.55 |
index.ts | 9.55 | 100 | 0 | 9.55 | ...0,23-73,76-100,103-115,118-127,130-157
src/utils | 100 | 100 | 100 | 100 |
index.ts | 100 | 100 | 100 | 100 |
---------------|---------|----------|---------|---------|-------------------------------------------
One major difference between a GitHub action, vs.., local tests, is the type of terminal it uses for output. For instance isTTY will be false, so certain types of output will behave differently.
@bcoe sorry, my mistake, local coverage results in the same result as gh workflow, so the problem is not related to github. Nonetheless, there are still problem with activationEvents. I'll repeat it again. With
"activationEvents": [
"onStartupFinished"
],
in package.json coverage output is:
---------------|---------|----------|---------|---------|-------------------------------------------
File | % Stmts | % Branch | % Funcs | % Lines | Uncovered Line #s
---------------|---------|----------|---------|---------|-------------------------------------------
All files | 39.56 | 100 | 35.71 | 39.56 |
src | 100 | 100 | 100 | 100 |
extension.ts | 100 | 100 | 100 | 100 |
src/api | 100 | 100 | 100 | 100 |
index.ts | 100 | 100 | 100 | 100 |
src/commands | 31.44 | 100 | 0 | 31.44 |
index.ts | 31.44 | 100 | 0 | 31.44 | 22-61,67-80,86-106,135-179,182-194
src/config | 9.55 | 100 | 0 | 9.55 |
index.ts | 9.55 | 100 | 0 | 9.55 | ...0,23-73,76-100,103-115,118-127,130-157
src/utils | 100 | 100 | 100 | 100 |
index.ts | 100 | 100 | 100 | 100 |
---------------|---------|----------|---------|---------|-------------------------------------------
And with
"activationEvents": [
"onCommand:license.chooseLicense",
"onCommand:license.addDefaultLicense",
"onCommand:license.setDefaultLicense",
"onCommand:license.setAuthor",
"onCommand:license.setYear",
"onCommand:license.setExtension",
"onCommand:license.setFilename",
"onCommand:license.setToken"
],
coverage is:
-----------|---------|----------|---------|---------|-------------------
File | % Stmts | % Branch | % Funcs | % Lines | Uncovered Line #s
-----------|---------|----------|---------|---------|-------------------
All files | 100 | 100 | 100 | 100 |
api | 100 | 100 | 100 | 100 |
index.ts | 100 | 100 | 100 | 100 |
utils | 100 | 100 | 100 | 100 |
index.ts | 100 | 100 | 100 | 100 |
-----------|---------|----------|---------|---------|-------------------
Note that api/index.ts and utils/index.ts are the only tested files.
@ultram4rine so that I understand better, it looks like the coverage is the same for both, but "onStartupFinished" includes additional files?
@bcoe yes, "onStartupFinished" includes untested files, but they covered at lines like imports or function declaration.