Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

SiteSpeed test exits with 1 with suppressExitCode in place #4062

Closed
2 tasks done
niskhakova-gitlab opened this issue Jan 16, 2024 · 5 comments
Closed
2 tasks done

SiteSpeed test exits with 1 with suppressExitCode in place #4062

niskhakova-gitlab opened this issue Jan 16, 2024 · 5 comments
Labels

Comments

@niskhakova-gitlab
Copy link

Have you read the documentation?

URL

https://staging.gitlab.com/explore

What are you trying to accomplish

When using SiteSpeed v31.1.x version, exit code is 1 with budget.suppressExitCode in place. When running the same command using v31.0.x - exit code is 0.

Might be related to the recent change in v31.1 - #4044 but needs to be confirmed. Thanks in advance!

What browser did you use?

Chrome

How to reproduce

## sha256:5f212ca4ae23de9888f00ab089471277b0f93d41a572a95658d6b60d71abaac8
export SITESPEED_IMAGE=sitespeedio/sitespeed.io:latest

# budget.json https://gitlab.com/gitlab-org/quality/performance-sitespeed/-/blob/main/budget.json?ref_type=heads, config.json https://gitlab.com/gitlab-org/quality/performance-sitespeed/-/blob/main/config.json?ref_type=heads
docker run --shm-size=1g --rm -v "$(pwd)":/sitespeed.io $SITESPEED_IMAGE --config config.json --budget.suppressExitCode --budget.configPath budget.json  https://staging.gitlab.com/explore -n 1

echo $?
1

# Using older image
export SITESPEED_IMAGE=sitespeedio/sitespeed.io:31.0.1

docker run --shm-size=1g --rm -v "$(pwd)":/sitespeed.io $SITESPEED_IMAGE --config config.json --budget.suppressExitCode --budget.configPath budget.json  https://staging.gitlab.com/explore -n 1

echo $?
0

Log output

https://staging.gitlab.com/explore -n 1
Google Chrome 120.0.6099.109
Mozilla Firefox 121.0
Microsoft Edge 120.0.2210.77
[2024-01-16 12:38:14] INFO: Versions OS: linux 6.2.0-1018-gcp nodejs: v20.9.0 sitespeed.io: 31.1.1 browsertime: 21.0.0 coach: 8.0.2
[2024-01-16 12:38:14] INFO: Running tests using Chrome - 1 iteration(s)
[2024-01-16 12:38:15] INFO: Use Chrome trace categories: -*,disabled-by-default-lighthouse,v8,v8.execute,blink.user_timing,devtools.timeline,disabled-by-default-devtools.timeline,disabled-by-default-devtools.timeline.stack
[2024-01-16 12:38:15] INFO: Testing url https://staging.gitlab.com/explore iteration 1
[2024-01-16 12:38:43] INFO: Take after page complete check screenshot
[2024-01-16 12:38:45] INFO: Take cumulative layout shift screenshot
[2024-01-16 12:38:46] INFO: Take largest contentful paint screenshot
[2024-01-16 12:38:50] INFO: Use the visual metrics portable script
[2024-01-16 12:38:50] INFO: Get visual metrics from the video
[2024-01-16 12:38:58] INFO: https://staging.gitlab.com/explore 29 requests, TTFB: 697ms, firstPaint: 1.30s, firstVisualChange: 1.27s, FCP: 1.30s, DOMContentLoaded: 1.83s, LCP: 1.30s, CLS: 0.1819, TBT: 449ms, CPUBenchmark: 64ms, Load: 1.90s, speedIndex: 1.30s, visualComplete85: 1.27s, lastVisualChange: 1.90s
[2024-01-16 12:38:59] INFO: Failing budget First Contentful Paint for https://staging.gitlab.com/explore with value 1.296 s max limit 1.000 s
[2024-01-16 12:38:59] INFO: Failing budget Total Blocking Time for https://staging.gitlab.com/explore with value 449 ms max limit 300 ms
[2024-01-16 12:38:59] INFO: Failing budget Cumulative Layout Shift for https://staging.gitlab.com/explore with value 0.182 max limit 0.1
[2024-01-16 12:38:59] INFO: Budget: 3 working, 3 failing tests and 0 errors
[2024-01-16 12:39:01] INFO: HTML stored in /sitespeed.io/sitespeed-result/staging.gitlab.com/2024-01-16-12-38-14
1 page analysed for https://staging.gitlab.com/exp... (1 run, Chrome/desktop/[object Object])
   Score / Metric                Median
   -------------                 ------
!  First Paint                   1.296 s
√  First Contentful Paint        1.296 s
   Fully Loaded                  2.305 s
   Page Load Time                1.902 s
√  Largest Contentful Paint      1.296 s
!  First Visual Change           1.266 s
   Last Visual Change            1.900 s
√  Speed Index                   1.305 s
!  Visual Readiness              634 ms
   TTFB                          697 ms
   Cumulative Layout Shift       0.182
✗  Total Duration of Long Tasks  664 ms
!  Number of Long Tasks          2
!  Total Blocking Time           449 ms
✗  Max Potential FID             499 ms
√  Coach Overall Score           92
√  Coach Best Practice Score     91
√  Coach Privacy Score           98
!  Coach Performance Score       89
√  Total Requests                29
   Image Requests                2
✗  Total Transfer Size           1.5 MB
   HTML Transfer Size            12.4 KB
   JavaScript Transfer Size      538.9 KB
✗  JavaScript Content Size       1.7 MB
   CSS Transfer Size             133.2 KB
   Image Transfer Size           6.1 KB
@soulgalore
Copy link
Member

That looks like something I broke, sorry. I didn't remember we had that suppress functionality. Let me fix that for the next release.

soulgalore added a commit that referenced this issue Jan 17, 2024
I introduced a bug when I added support for exit codes from
Browsertime/scripting. This fixed that bug and makes the code
simpler to read/understand.

#4062
soulgalore added a commit that referenced this issue Jan 17, 2024
* Simplify exit code logic.

I introduced a bug when I added support for exit codes from
Browsertime/scripting. This fixed that bug and makes the code
simpler to read/understand.

#4062
@soulgalore
Copy link
Member

I released 31.2.0 today, hopefully that will fix the problem, please let me know when you have tried it.

@niskhakova-gitlab
Copy link
Author

@soulgalore many thanks for the quick turnaround on this! I tried the latest version and unfortunately exit code is 1 with --budget.suppressExitCode in place. Please let me know if something's needed from my side.

docker run --shm-size=1g --rm -v "$(pwd)":/sitespeed.io sitespeedio/sitespeed.io:latest --config config.json --budget.suppressExitCode --budget.configPath budget.json  https://staging.gitlab.com/explore -n 1

Google Chrome 120.0.6099.109
Mozilla Firefox 121.0
Microsoft Edge 120.0.2210.77
[2024-01-18 10:22:13] INFO: Versions OS: linux 6.2.0-1018-gcp nodejs: v20.9.0 sitespeed.io: 31.2.0 browsertime: 21.0.0 coach: 8.0.2
[2024-01-18 10:22:13] INFO: Running tests using Chrome - 1 iteration(s)
[2024-01-18 10:22:14] INFO: Use Chrome trace categories: -*,disabled-by-default-lighthouse,v8,v8.execute,blink.user_timing,devtools.timeline,disabled-by-default-devtools.timeline,disabled-by-default-devtools.timeline.stack
[2024-01-18 10:22:14] INFO: Testing url https://staging.gitlab.com/explore iteration 1
[2024-01-18 10:22:42] INFO: Take after page complete check screenshot
[2024-01-18 10:22:44] INFO: Take cumulative layout shift screenshot
[2024-01-18 10:22:46] INFO: Take largest contentful paint screenshot
[2024-01-18 10:22:50] INFO: Use the visual metrics portable script
[2024-01-18 10:22:50] INFO: Get visual metrics from the video
[2024-01-18 10:23:00] INFO: https://staging.gitlab.com/explore 28 requests, TTFB: 769ms, firstPaint: 1.36s, firstVisualChange: 1.37s, FCP: 1.36s, DOMContentLoaded: 1.81s, LCP: 1.36s, CLS: 0.0063, TBT: 0ms, CPUBenchmark: 64ms, Load: 1.95s, speedIndex: 1.52s, visualComplete85: 2.03s, lastVisualChange: 2.03s
[2024-01-18 10:23:00] INFO: Failing budget First Contentful Paint for https://staging.gitlab.com/explore with value 1.363 s max limit 1.000 s
[2024-01-18 10:23:00] INFO: Budget: 4 working, 1 failing tests and 0 errors
[2024-01-18 10:23:03] INFO: HTML stored in /sitespeed.io/sitespeed-result/staging.gitlab.com/2024-01-18-10-22-13
1 page analysed for https://staging.gitlab.com/exp... (1 run, Chrome/desktop/[object Object])
   Score / Metric                Median
   -------------                 ------
!  First Paint                   1.363 s
√  First Contentful Paint        1.363 s
   Fully Loaded                  2.177 s
   Page Load Time                1.950 s
√  Largest Contentful Paint      1.363 s
!  First Visual Change           1.366 s
   Last Visual Change            2.033 s
√  Speed Index                   1.517 s
!  Visual Readiness              667 ms
   TTFB                          769 ms
   Cumulative Layout Shift       0.006
✗  Total Duration of Long Tasks  686 ms
✗  Number of Long Tasks          3
√  Total Blocking Time           0 ms
√  Max Potential FID             0 ms
√  Coach Overall Score           93
√  Coach Best Practice Score     99
√  Coach Privacy Score           98
!  Coach Performance Score       89
√  Total Requests                28
   JavaScript Requests           12
   CSS Requests                  5
✗  Total Transfer Size           1.5 MB
   HTML Transfer Size            12.4 KB
   JavaScript Transfer Size      539.3 KB
✗  JavaScript Content Size       1.7 MB
   CSS Transfer Size             133.5 KB
   Image Transfer Size           1.1 KB

 echo $?
1

@soulgalore
Copy link
Member

Sorry new try with 31.2.1. This time I could verify that it works for me.

@niskhakova-gitlab
Copy link
Author

@soulgalore thank you very much for the quick fix, truly appreciate the help on this! 🙇 Confirmed that it works 🎉

soulgalore added a commit that referenced this issue Feb 11, 2024
* Simplify exit code logic.

I introduced a bug when I added support for exit codes from
Browsertime/scripting. This fixed that bug and makes the code
simpler to read/understand.

#4062
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

2 participants