diff --git a/.dockerignore b/.dockerignore index 8ce97589b..ab263f044 100644 --- a/.dockerignore +++ b/.dockerignore @@ -5,3 +5,4 @@ !LICENSE !npm-shrinkwrap.json !docker +!tools/postinstall.js diff --git a/.eslintignore b/.eslintignore deleted file mode 100644 index d7d2a400b..000000000 --- a/.eslintignore +++ /dev/null @@ -1,9 +0,0 @@ -docs/* -docker/* -assets/* -sitespeed-result/* -lib/plugins/yslow/scripts/* -lib/plugins/html/assets/js/* -bin/browsertimeWebPageReplay.js -test/data/* -test/prepostscripts/* diff --git a/.github/workflows/building-docker-release.yml b/.github/workflows/building-docker-release.yml index f1adc691c..66d0bd84d 100644 --- a/.github/workflows/building-docker-release.yml +++ b/.github/workflows/building-docker-release.yml @@ -22,12 +22,20 @@ jobs: with: username: ${{ secrets.DOCKERHUB_USERNAME }} password: ${{ secrets.DOCKERHUB_TOKEN }} - - - name: Get the tag - id: tag - uses: dawidd6/action-get-tag@v1 - with: - strip_v: true + - name: Extract version + id: extract_version + run: | + VERSION_TAG=${GITHUB_REF#refs/tags/} + echo "Git tag: $VERSION_TAG" + + VERSION=${VERSION_TAG#v} + echo "Full version without 'v': $VERSION" + + MAJOR_VERSION=${VERSION%%.*} + echo "Major version: $MAJOR_VERSION" + + echo "SITESPEED_VERSION=$VERSION" >> $GITHUB_OUTPUT + echo "SITESPEED_MAJOR_VERSION=$MAJOR_VERSION" >> $GITHUB_OUTPUT - name: Build and push sitespeed.io uses: docker/build-push-action@v5 @@ -36,7 +44,10 @@ jobs: platforms: linux/amd64,linux/arm64 push: true provenance: false - tags: sitespeedio/sitespeed.io:${{steps.tag.outputs.tag}},sitespeedio/sitespeed.io:latest + tags: | + sitespeedio/sitespeed.io:${{ steps.extract_version.outputs.SITESPEED_VERSION }} + sitespeedio/sitespeed.io:${{ steps.extract_version.outputs.SITESPEED_MAJOR_VERSION }} + sitespeedio/sitespeed.io:latest - name: Build and push sitespeed.io+1 uses: docker/build-push-action@v5 @@ -44,21 +55,12 @@ jobs: context: . platforms: linux/amd64,linux/arm64 file: ./docker/Dockerfile-plus1 - build-args: version=${{steps.tag.outputs.tag}} + build-args: version=${{ steps.extract_version.outputs.SITESPEED_VERSION }} push: true provenance: false - tags: sitespeedio/sitespeed.io:${{steps.tag.outputs.tag}}-plus1 - - - name: Build and push sitespeed.io+wpt - uses: docker/build-push-action@v5 - with: - context: . - platforms: linux/amd64,linux/arm64 - file: ./docker/Dockerfile-webpagetest - build-args: version=${{steps.tag.outputs.tag}} - push: true - provenance: false - tags: sitespeedio/sitespeed.io:${{steps.tag.outputs.tag}}-webpagetest + tags: | + sitespeedio/sitespeed.io:${{ steps.extract_version.outputs.SITESPEED_VERSION }}-plus1 + sitespeedio/sitespeed.io:${{ steps.extract_version.outputs.SITESPEED_MAJOR_VERSION }}-plus1 - name: Build and push sitespeed.io-slim uses: docker/build-push-action@v5 @@ -66,7 +68,9 @@ jobs: context: . platforms: linux/amd64,linux/arm64 file: ./Dockerfile-slim - build-args: version=${{steps.tag.outputs.tag}} + build-args: version=${{ steps.extract_version.outputs.SITESPEED_VERSION }} push: true provenance: false - tags: sitespeedio/sitespeed.io:${{steps.tag.outputs.tag}}-slim \ No newline at end of file + tags: | + sitespeedio/sitespeed.io:${{ steps.extract_version.outputs.SITESPEED_VERSION }}-slim + sitespeedio/sitespeed.io:${{ steps.extract_version.outputs.SITESPEED_MAJOR_VERSION }}-slim \ No newline at end of file diff --git a/.github/workflows/linux.yml b/.github/workflows/linux.yml index 3bb645666..217a68b0d 100644 --- a/.github/workflows/linux.yml +++ b/.github/workflows/linux.yml @@ -35,7 +35,7 @@ jobs: #with: # firefox-version: '94.0' - name: Setup environment - run: docker-compose -f test/docker-compose.yml up -d + run: docker compose -f test/docker-compose.yml up -d - name: Browser versions run: | google-chrome --version @@ -71,9 +71,9 @@ jobs: - name: Run test without a CLI run: xvfb-run node test/runWithoutCli.js - name: Run test with Influx 1.8 - run: bin/sitespeed.js http://127.0.0.1:3001/simple/ -n 1 --influxdb.host 127.0.0.1 --xvfb --logToFile + run: bin/sitespeed.js http://127.0.0.1:3001/simple/ -n 1 --influxdb.host 127.0.0.1 --xvfb --logToFile --resultBaseUrl https://result.sitespeed.io --influxdb.annotationScreenshot=true - name: Run test with Influx 2.6.1 - run: bin/sitespeed.js http://127.0.0.1:3001/simple/ -n 1 --influxdb.host 127.0.0.1 --influxdb.port 8087 --influxdb.version 2 --influxdb.organisation sitespeed --influxdb.token sitespeed --xvfb + run: bin/sitespeed.js http://127.0.0.1:3001/simple/ -n 1 --influxdb.host 127.0.0.1 --influxdb.port 8087 --influxdb.version 2 --influxdb.organisation sitespeed --influxdb.token sitespeed --xvfb --resultBaseUrl https://result.sitespeed.io --influxdb.annotationScreenshot=true - name: Run Chrome test with config run: node bin/sitespeed.js --config test/exampleConfig.json http://127.0.0.1:3001/simple/ --xvfb - name: Run Chrome test using compare plugin diff --git a/CHANGELOG.md b/CHANGELOG.md index 23c40b3c0..c57a4a234 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,374 @@ # CHANGELOG - sitespeed.io (we use [semantic versioning](https://semver.org)) +## 35.7.5 - 2024-12-23 +### Fixed +* Update to faststat 0.0.7 [#4347](https://github.com/sitespeedio/sitespeed.io/pull/4347). +* Update dev dependencies [#4345](https://github.com/sitespeedio/sitespeed.io/pull/4345). +* Let analysisstorer know about webpagereplay so that correct information is displayed [#4349](https://github.com/sitespeedio/sitespeed.io/pull/4349). +* Pass on webpagereplay flag to browsertime [#4350](https://github.com/sitespeedio/sitespeed.io/pull/4350). +* Update to Browsertime 23.5.0 [#4351](https://github.com/sitespeedio/sitespeed.io/pull/4351) + +## 35.7.4 - 2024-12-20 +### Fixed +* Updated to Browsertime 23.4.5 that have a fix for visual metrics running videos from mobile [#4343](https://github.com/sitespeedio/sitespeed.io/pull/4343). + +## 35.7.3 - 2024-12-18 +### Fixed +* Add validation for dataset lengths for the Wilcoxon test. Thank you [Pavel Bairov](https://github.com/Amerousful) for PR [4341](https://github.com/sitespeedio/sitespeed.io/pull/4341). +* Updated to Browsertime 23.4.4 that has a more robust check for gnirehtet configuration [#4342](https://github.com/sitespeedio/sitespeed.io/pull/4342). + +## 35.7.2 - 2024-12-14 +### Fixed +* Added extra logs if the compare plugin fails when using Python so we easily can see the input parameters. + +## 35.7.1 - 2024-12-11 +### Fixed +* Updated to Browsertime 23.4.3 [#4336](https://github.com/sitespeedio/sitespeed.io/pull/4336). +* Make sure Firefox displays power consumption in mWH [#4334](https://github.com/sitespeedio/sitespeed.io/pull/4334). + +## 35.7.0 - 2024-11-30 +### Added +* Firefox 133 in the Docker container [#4327](https://github.com/sitespeedio/sitespeed.io/pull/4327). + +### Fixed +* Axe Core 4.10.2 [#3328](https://github.com/sitespeedio/sitespeed.io/pull/4328) +* Fix security warnings in the Docker container. + +## 35.6.1 - 2024-11-23 +### Fixed +* Make sure the compare plugin can handle if your run Firefox with CPU options [#4324](https://github.com/sitespeedio/sitespeed.io/pull/4324). + +## 35.6.0 - 2024-11-23 +### Added +* Updated to Firefox 132 and Edge 131 in the Docketr container. The performance regression in Firefox 132 [#2211](https://github.com/sitespeedio/browsertime/issues/2211) has been fixed. +* Browsertime has been updated to [23.4.1](https://github.com/sitespeedio/browsertime/blob/main/CHANGELOG.md#2341----2024-11-23). There's a couple of notable additions: + * If you use `--enableProfileRun` for Firefox the trace will include HTTP requests + * If you collect the Chrome timeline, we will automatically add some more timings and a custom timeline to devtools,inspired by [ +Andy Davies](https://github.com/andydavies) and the cool [https://github.com/andydavies/perf-timeline-to-devtools-profile](https://github.com/andydavies/perf-timeline-to-devtools-profile). + + +## 35.5.0 - 2024-11-08 +### Added +* Upgraded Chrome/Chromedriver to 131 (with a [new Browsertime](https://github.com/sitespeedio/browsertime/blob/main/CHANGELOG.md#2330---2024-11-12)) [#4316](https://github.com/sitespeedio/sitespeed.io/pull/4316). + +## 35.4.1 - 2024-11-08 +### Fixed +* It seems to be a [problem](https://bugzilla.mozilla.org/show_bug.cgi?id=1930110) with Firefox 132 inside of Docker. Lets return to 131 for some time [#4313](https://github.com/sitespeedio/sitespeed.io/pull/4313). + +## 35.4.0 - 2024-11-08 +### Added +* Firefox 132 [#4309](https://github.com/sitespeedio/sitespeed.io/pull/4309). + +## 35.3.1 - 2024-11-04 +### Fixed +* Fix compare plugin when you run visual metrics contentful and perceptual metrics [#4308](https://github.com/sitespeedio/sitespeed.io/pull/4308). + +## 35.3.0 - 2024-10-20 +### Added +* Update to Chrome 130 in the Docker container [#4299](https://github.com/sitespeedio/sitespeed.io/pull/4299). +* Updated to Browsertime [23.2.0](https://github.com/sitespeedio/browsertime/blob/main/CHANGELOG.md#2320---2024-10-20) that has a fix for installting Geckodriver on ARM containers [#4303](https://github.com/sitespeedio/sitespeed.io/pull/4303). +* Updated Chromium from 107 to 130 in the ARM Docker container. This was possible by using the Chromium built by Microsoft (M$) in Playwright [#4304](https://github.com/sitespeedio/sitespeed.io/pull/4304). + +## 35.2.0 - 2024-10-14 +### Added +From this release we release a new Docker container with the major version tag! This means that there will be a 35.2.0 and a 35 tag from this release. We follow [semantic versioning](https://semver.org) so you can safely stay and update the major version tag. + +## 35.1.4 - 2024-10-13 +### Fixed +* Changed `--help` message for `--firefox.includeResponseBodies`. Include response bodies for Firefox stopped to work when we updated how we get the HAR (changed to bidi HAR). See [#4295](https://github.com/sitespeedio/sitespeed.io/issues/4295). + +## 35.1.3 - 2024-10-11 +### Fixed +* Updated to Browsertim 23.1.2 [#4294](https://github.com/sitespeedio/sitespeed.io/pull/4294) that includes an update Chrome-HAR that swallows if an timing is broken from the Chrome trace. + +## 35.1.2 - 2024-10-09 +### Fixed +* Make sure crux setup messages are skipt for analysisstorer [4291](https://github.com/sitespeedio/sitespeed.io/pull/4291). + +## 35.1.1 - 2024-10-08 +### Fixed +* Updated to [Browsertime 23.1.1](https://github.com/sitespeedio/browsertime/blob/main/CHANGELOG.md#2311---2024-10-08) that fixes the Firefox HAR timing problem [#4289](https://github.com/sitespeedio/sitespeed.io/pull/4289). + + +## 35.1.0 - 2024-10-08 +### Added +* Browsertime [23.1.0](https://github.com/sitespeedio/browsertime/blob/main/CHANGELOG.md#2310---2024-10-08) [#4287](https://github.com/sitespeedio/sitespeed.io/pull/4287). +* Firefox 131 and Edge 129 in the Docker container [#4284](https://github.com/sitespeedio/sitespeed.io/pull/4284). + +## 35.0.0 - 2024-09-24 +### Breaking +* Disable camel case configuration that comes automatically with yargs [#4251](https://github.com/sitespeedio/sitespeed.io/pull/4251). This is a breaking change ONLY if you didn't follow our doecumentation/help and used internal YARGS configuration names for our CLI configuration. + +### Fixed +* Updated to [Browsertime 23.0.0](https://github.com/sitespeedio/browsertime/blob/main/CHANGELOG.md#2300---2024-09-23). +* Fixes the internal configuration object for android. The old solution created an array with objects instead of just keys on the object.[#4282](https://github.com/sitespeedio/sitespeed.io/pull/4282). + +## 34.14.0 - 2024-09-19 +### Added +* Chrome 129 in the Docker container [#4281](https://github.com/sitespeedio/sitespeed.io/pull/4281). + +## 34.13.0 - 2024-09-18 +### Added +* Add support for `--ignoreExtends` that remove extends from your configuration file. This is useful when you want to test configuration locally on your machine and your test server extends configurations like uploading data to a data storage [#4280](https://github.com/sitespeedio/sitespeed.io/pull/4280). + +### Fixed +* Fixed support gnirehtet when using `--preWarmServer` [#4277](https://github.com/sitespeedio/sitespeed.io/pull/4277). +* Fix broken log message when using the compare plugin, comparing tests with different amount of runs. Thank you [Roel Vreuls](https://github.com/roelvv) for PR [#4279](https://github.com/sitespeedio/sitespeed.io/pull/4279). + +## 34.12.1 - 2024-09-13 +### Fixed +* Updated to [Browsertime 22.10.2](https://github.com/sitespeedio/browsertime/blob/main/CHANGELOG.md#22102---2024-09-13) that fixes a bug in the wait.byIdAndVisible command. + +## 34.12.0 - 2024-09-11 +### Added +* Firefox 130 [#4266](https://github.com/sitespeedio/sitespeed.io/pull/4266) and Edge 128 [#4267](https://github.com/sitespeedio/sitespeed.io/pull/4267) in the Docker container. + +### Fixed +* Removed First input delay (FID) from Crux since Crux already stopped using FID [#4273](https://github.com/sitespeedio/sitespeed.io/pull/4273). +* Visual change graph is in ms [#4271](https://github.com/sitespeedio/sitespeed.io/pull/4271) +* Fix x-axis label collision on visual change graph, thank you [Anshuman Tripathi](https://github.com/4nshuman) for PR [#4269](https://github.com/sitespeedio/sitespeed.io/pull/4269). + +## 34.11.1 - 2024-09-04 +### Fixed +* Updated to Browsertime 22.10.1 that fixes generating HARs for Firefox 130 [#4265](https://github.com/sitespeedio/sitespeed.io/pull/4265). + + +## 34.11.0 - 2024-08-27 +### Added +* Updated the Docker container to use Chrome 128 [#4261](https://github.com/sitespeedio/sitespeed.io/pull/4261). + +## 34.10.0 - 2024-08-27 +### Added +* Updated Docker container to use Firefox 129 and Edge 127 [#4254](https://github.com/sitespeedio/sitespeed.io/pull/4254). +* Browsertime [22.9.0](https://github.com/sitespeedio/browsertime/blob/main/CHANGELOG.md#2290---2024-08-26) [#4260](https://github.com/sitespeedio/sitespeed.io/pull/4260). + +### Fixed +* Make sure requestheaders and cookies are sent when you use prewarm the server [#4259](https://github.com/sitespeedio/sitespeed.io/pull/4259). + +## 34.9.0 - 2024-07-30 +### Added +* Browsertime 22.8.0 that disables the choose search engine screen on Chrome 127 and updated Edgedriver to 126 [#4244](https://github.com/sitespeedio/sitespeed.io/pull/4244). + +### Fixed +* Added extra guard when you disables screenshots [#4245](https://github.com/sitespeedio/sitespeed.io/pull/4245). +* Axe core 4.10.0 [#4246](https://github.com/sitespeedio/sitespeed.io/pull/4246). + +## 34.8.2 - 2024-07-29 +### Fixed +* WebPageReplay: Fix for reading configuration. Reading a saved configuration didn't handle camel case correctly, creating arrays for single values [#4242](https://github.com/sitespeedio/sitespeed.io/pull/4242). + +## 34.8.1 - 2024-07-27 +### Fixed +* Add missing slug for influxdb, thank you [pavel bairov](https://github.com/Amerousful) for PR [#4240](https://github.com/sitespeedio/sitespeed.io/pull/4240). + +## 34.8.0 - 2024-07-26 +### Added +* Chrome 127, Chromedriver 127 and Browsertime 22.7.0 [#4239](https://github.com/sitespeedio/sitespeed.io/pull/4239). + +### Fixed +* InfluxDB 2.x, Annotations. Send tags for filtering, thank you [pavel bairov](https://github.com/Amerousful) for PR [#4197](https://github.com/sitespeedio/sitespeed.io/pull/4197). + +## 34.7.1 - 2024-07-20 +### Fixed +* Fix so the link to the geckoprofiler data works/shows again [#4234](https://github.com/sitespeedio/sitespeed.io/pull/4234). + +## 34.7.0 - 2024-07-15 +### Added +* Update to Browsertime [22.6.0](https://github.com/sitespeedio/browsertime/blob/main/CHANGELOG.md#2260---2024-07-15) [#4226](https://github.com/sitespeedio/sitespeed.io/pull/4226). +* Crux: Push navigation types and form factor data by default to TSDB [#4227](https://github.com/sitespeedio/sitespeed.io/pull/4227). + +## 34.6.0 - 2024-07-12 +### Added +* Crux: Include RTT p75 [#4225](https://github.com/sitespeedio/sitespeed.io/pull/4225). + +## 34.5.0 - 2024-07-12 +### Added +* Crux: Add navigation types, and form factors. Fix colors to align with Grafana colors and fix broken legend colors [#4223](https://github.com/sitespeedio/sitespeed.io/pull/4223). +* Sustainable: Make it possible to choose sustainable model version (for model swd). To use the latest version for add: `--sustainable.model swd --sustainable.modelVersion 4` [#4224](https://github.com/sitespeedio/sitespeed.io/pull/4224). + +## 34.4.0 - 2024-07-09 +### Added +* Upgraded to Firefox 128 and Edge 126 in the Docker container [#4222](https://github.com/sitespeedio/sitespeed.io/pull/4222). + +### Fixed +* Show correct LCP and CLS image in each run page [#4221](https://github.com/sitespeedio/sitespeed.io/pull/4221). +* Update Browsertime [#4210](https://github.com/sitespeedio/sitespeed.io/pull/4210). +* Update minor dependencies and developer dependencies: co2.js [#4206](https://github.com/sitespeedio/sitespeed.io/pull/4206), uuid [#4207](https://github.com/sitespeedio/sitespeed.io/pull/4207), s3 [#4208](https://github.com/sitespeedio/sitespeed.io/pull/4208), eslint [#4211](https://github.com/sitespeedio/sitespeed.io/pull/4211), ava, jsdoc, sass [#4212](https://github.com/sitespeedio/sitespeed.io/pull/4212), dayjs [#4214](https://github.com/sitespeedio/sitespeed.io/pull/4214), p-limit [#4215](https://github.com/sitespeedio/sitespeed.io/pull/4215), os-name [#4216](https://github.com/sitespeedio/sitespeed.io/pull/4216), tape [#4219](https://github.com/sitespeedio/sitespeed.io/pull/4219) and p-limit [#4220](https://github.com/sitespeedio/sitespeed.io/pull/4220). + +## 34.3.5 - 2024-07-02 +### Fixed +* The fix for CLS and LCP in 34.3.4 faulty set those to false by default, changing the default behaviour. Fixed in [#4205](https://github.com/sitespeedio/sitespeed.io/pull/4205) + +## 34.3.4 - 2024-06-25 +### Fixed +* Expose command line parameters to disable CLS and LCP screenshots [#4201](https://github.com/sitespeedio/sitespeed.io/pull/4201). + +## 34.3.3 - 2024-06-24 +### Fixed +* Updated to Browsertime 25.5.2 that has updated versions of Selenium WebDriver and correct export for scripting. +* API: Copy Browsertime setting from the option object to the API. There cases where you use a configuration file, override it with CLI parameters and the cli parameters didn't override the configuration file. That is fixed now for Browsertime configurations [#4200](https://github.com/sitespeedio/sitespeed.io/pull/4200). + +## 34.3.2 - 2024-06-23 +### Fixed +* API: Remove extends from the configuration to make sure that testrunners ddo not try to extend configuration [#4198](https://github.com/sitespeedio/sitespeed.io/pull/4198). + +## 34.3.1 - 2024-06-20 +### Fixed +* The docker hub has had some problem and started to publish old images (as new!). That broke our latest tag to include chrome/edge//firefox 111. This release auto publish the latest one again. + +## 34.3.0 - 2024-06-20 +### Added +* API: Show the URL/script name in the API call [#4195](https://github.com/sitespeedio/sitespeed.io/pull/4195) +* Update WebPageReplay binaries [#4196](https://github.com/sitespeedio/sitespeed.io/pull/4196). + +## 34.2.2 - 2024-06-18 +### Fixed +* Make it possible to disable the API. In some cases where you extends another configuration file, you could end up in a API loop where the API calls the API [#4191](https://github.com/sitespeedio/sitespeed.io/pull/4191). + +## 34.2.1 - 2024-06-17 +### Fixed +* API: safer parsing if something fail to get better error messages [#4188](https://github.com/sitespeedio/sitespeed.io/pull/4188). + +## 34.2.0 - 2024-06-14 + +### Added +* Updated to Browsertime 22.5.0 [#4187](https://github.com/sitespeedio/sitespeed.io/pull/4187). +* Updated to Firefox 127 and Chrome/Chromedriver 126 [#4185](https://github.com/sitespeedio/sitespeed.io/pull/4185) + +### Fixed +* Fix for InfluxDBv2 to send annotations. Thank you [pavel bairov](https://github.com/Amerousful) for PR [#4175](https://github.com/sitespeedio/sitespeed.io/pull/4175). + +* Fix log output when using `--preWarmServer`, thank you [ThimoCap](https://github.com/ThimoCap) for PR [#4183](https://github.com/sitespeedio/sitespeed.io/pull/4183) + +## 34.1.2 - 2024-06-12 +### Fixed +* Using `--preWarmServer` resulted in trying to use an Android phone to prewarm. Fixed in [#4182](https://github.com/sitespeedio/sitespeed.io/pull/4182). + +## 34.1.1 - 2024-06-07 +### Fixed +* Enabling extra profile run/video run didn't stop the Browsertime engine in the correct place. PR [#4179](https://github.com/sitespeedio/sitespeed.io/pull/4179) fixes that. + +## 34.1.0 - 2024-06-06 +### Added +* Add `--enableVideoRun`. You can use it together with `--video false --visualMetrics true` to do one extra run where the video is kept. This is useful for tests against replay proxies [#4177](https://github.com/sitespeedio/sitespeed.io/pull/4177). + +## 34.0.3 - 2024-06-05 + +### Fixed +* Make sure extra options are passed on to S3 [#4176](https://github.com/sitespeedio/sitespeed.io/pull/4176). + +## 34.0.2 - 2024-06-04 + +### Fixed +* Update to Pug 3.0.3 [#4172](https://github.com/sitespeedio/sitespeed.io/pull/4172). + +## 34.0.1 - 2024-05-30 + +### Fixed +* The +1 container has updated to code to take care of if GPSI is missing metrics [GPSI #56](https://github.com/sitespeedio/plugin-gpsi/pull/56). + +## 34.0.0 - 2024-05-29 + +### Breaking + +* Woho! There's now a way to deploy your own version of sitespeed.io online for your own testing using [onlinetest][https://github.com/sitespeedio/onlinetest]! It has a HTML GUI and an API that you can use using sitespeed.io command line. There's one server part (the frontend and the API) and a testrunner part. You can run desktop, emulated mobile and Android test. I do not host a global version but I worked hard to make it easy to host yourself. I still work on the documentation but feel free to start to try it out before all documentation is finished :) If you have quick question and need help, please use the [Slack channel](https://join.slack.com/t/sitespeedio/shared_invite/zt-296jzr7qs-d6DId2KpEnMPJSQ8_R~WFw). If you have more complicated problems, please feel free to create issues [here](https://github.com/sitespeedio/onlinetest/issues/new). + +* With this release we remove all dependencies to WebPageTest [#4085](https://github.com/sitespeedio/sitespeed.io/pull/4085). You are only affected if you used the [plugin-webpagetest](https://github.com/sitespeedio/plugin-webpagetest) or the +webpagetest Docker container. If you still want to use WebPageTest with sitespeed.io you can build something on the archived [plugin-webpagetest](https://github.com/sitespeedio/plugin-webpagetest). + +* The S3 plugin has been upgraded to @aws-sdk/client-s3 v3 [#4138](https://github.com/sitespeedio/sitespeed.io/pull/4138). If you are using the S3 plugin and not set region, that will now fail. The v2 version of the aws-sdk used us-east-1 region as default, but v3 has removed the default setting. If you didn't used to set region you can add `--s3.region us-east-1` and it will work as before. If you do not do that, the uploads to S3 will fail. With v3 your `endpoint` need to start with http/https. + +* The -plus1 Docker container now has plugin-lighthouse and plugin-gpsi installed from npm instead of the git repository. It will work as before, but if you want to disable one of them, that has changed. To not run the GPSI plugin add `--plugins.remove @sitespeed.io/plugin-gpsi` and to disble Lighthouse you add `--plugins.remove @sitespeed.io/plugin-lighthouse`. + +* Updated to [Browsertime 22](https://github.com/sitespeedio/browsertime/blob/main/CHANGELOG.md#2200---2024-05-16). This version of Browsertime drops the Browsertime extension and start use the kind of new HAR exporter using Bidi as the default HAR exporter! If you add request headers to your Firefox test or clear the cache inside of your script using Firefox, this will stop to work for now until support is added in Firefox (request headers are coming soon!). + +### Added +* Updated to Chrome 125, Firefox 126 and Edge 124 in the Docker container [#4156](https://github.com/sitespeedio/sitespeed.io/pull/4156). + +### Fixed +* Fix loading globally installed plugins [#4167](https://github.com/sitespeedio/sitespeed.io/pull/4167). +* Fix configurations documentation for scp, thank you [Arash Hatam](https://github.com/hatamiarash7) for [#4166](https://github.com/sitespeedio/sitespeed.io/pull/4166). + + +## 33.6.1 - 2024-05-13 +### Fixed +* The plus1 container was updated with the latest version of the gpsi-plugin, since the old version broke when GPSI was updated to Lighthouse 12. + +## 33.6.0 - 2024-04-17 +### Added +* Updated to Chrome 124 and Firefox 125 in the Docker container [#4142](https://github.com/sitespeedio/sitespeed.io/pull/4142) and [#4142](https://github.com/sitespeedio/sitespeed.io/pull/4141). + +### Fixed +* Add new tag: axeType for axe data in InfluxDB [#4139](https://github.com/sitespeedio/sitespeed.io/pull/4139). Before the fix there was no way to query some of the Axe data. + +## 33.5.0 - 2024-04-04 +### Added +* Updated to Edge 123 in the Docker container [#4135](https://github.com/sitespeedio/sitespeed.io/pull/4135). +* Added missing default green/yellow/red limits for CLS and TTFB on the start page [#4120](https://github.com/sitespeedio/sitespeed.io/pull/4120). +* Browsertime 21.7.0 with Edgedriver 123. + +### Fixed +* The summary page alway showed blue color for AXE violations. This PR makes them green/yellow/red [#4123](https://github.com/sitespeedio/sitespeed.io/pull/4123). +* Updated dependencies: + * Axe-core 4.9.0 [#4126](https://github.com/sitespeedio/sitespeed.io/pull/4126) + * CO2 0.14.4 [#4127](https://github.com/sitespeedio/sitespeed.io/pull/4127) + * import-global 1.1.0 [#4129](https://github.com/sitespeedio/sitespeed.io/pull/4129) + * AWS SDK 2.1591.0 [#4130](https://github.com/sitespeedio/sitespeed.io/pull/4130) + * dayjs 1.11.10, fs-extra 11.2.0, uuid 9.0.1, junit-report-builder 3.2.1, [#4131](https://github.com/sitespeedio/sitespeed.io/pull/4131). + * cli-color 2.0.4, node-scp 0.0.23, ora 8.0.1, os-name 5.0.0 and p-limit 5.0.0 [#4132](https://github.com/sitespeedio/sitespeed.io/pull/4132). + * tape 5.7.5, find-up 7.0.0, sass 1.72.0 and clean-css-cli 5.6.3 [#4133](https://github.com/sitespeedio/sitespeed.io/pull/4133) + +## 33.4.0 - 2024-03-20 +### Added +* Chrome 123, Firefox 124 and Edge 122 in the Docker container [#4114](https://github.com/sitespeedio/sitespeed.io/pull/4114). +* Browsertime [21.6.0](https://github.com/sitespeedio/browsertime/blob/main/CHANGELOG.md#2160---2024-03-20) with updated Chrome/Edgedriver and a fix for running `.stopAsError`. + +## 33.3.0 - 2024-03-16 +### Added +* Show Long Animation frames (enabled in Chrome 123) [#4180](https://github.com/sitespeedio/sitespeed.io/pull/4108). Using the timeline/profiling is still best doing your tests but long animation frames can help you if you do not have it turned on or familiar with thart data in RUM. Please create an issue if you have any ideas on how we shoudl display the metrics/information! +* Show CPU power consumption (when using Firefox) [#4104](https://github.com/sitespeedio/sitespeed.io/pull/4104). You can try it with: `sitespeed.io -b firefox -n 1 --firefox.geckoProfiler --firefox.geckoProfilerParams.features "power" --firefox.powerConsumption https://www.sitespeed.io/` + +### Fixed +* Updated to [Browsertime 21.5.3](https://github.com/sitespeedio/browsertime/blob/main/CHANGELOG.md#2153---2024-03-12) containing various bug fixes. + +## 33.2.0 - 2024-03-12 +### Added +* Updated to Browsertime 21.5.0 in [#4103](https://github.com/sitespeedio/sitespeed.io/pull/4103) also included changes released in 21.4.0. + * Firefox: + * Move injectJS functionality to Bidi [#2088](https://github.com/sitespeedio/browsertime/pull/2088). This makes it possible to inject JS in Firefox on mobile. + * Expose Bidi in commands [#2091](https://github.com/sitespeedio/browsertime/pull/2091). You can now use webdriver bidi direct in your commands. + * Fixed command action.clear() that actually didn't clear the command [#2095](https://github.com/sitespeedio/browsertime/pull/2095). + * Added the following trace categories for Chrome that now is used by default when you turn on the timeline: 'disabled-by-default-devtools.timeline.frame', 'disabled-by-default-devtools.timeline.invalidationTracking','loading', 'latencyInfo' - done in [#2086](https://github.com/sitespeedio/browsertime/pull/2086). + * Added a simple Loaf-script to get the 10 largest loaf. Lets iterate over the script and see how we can get the most useful information from it [#2087](https://github.com/sitespeedio/browsertime/pull/2087). + +## 33.1.1 - 2024-02-26 +### Fixed +* Updateds to Browsertime 21.3.1 that has an updated version of the Chromedriver isntaller that fixes the bug installing on Windows [#4096](https://github.com/sitespeedio/sitespeed.io/pull/4096). + +## 33.1.0 - 2024-02-21 +### Added +* Firefox 123 and Chrome 122 in the Docker container [#4090](https://github.com/sitespeedio/sitespeed.io/pull/4090) and [#4089](https://github.com/sitespeedio/sitespeed.io/pull/4089). +* Chromedriver 122 and Edgedriver 121 +* [Browsertime 21.3.0](https://github.com/sitespeedio/sitespeed.io/pull/4091). + +## 33.0.0 - 2024-02-11 + +*Announcement*: In the next major release we will remove all support for WebPageTest. If you still plan to use WebPageTest you can probaly still use the [plugin](https://github.com/sitespeedio/plugin-webpagetest) for a while if your WebPageTest installation works. + +### Breaking +This is a breaking change if you use the compare plugin and do not set an id (`--compare.id`) for your test. +* If you auto generate the id for your compare test, this PR add browser, connectivity name and slug to the file name where the compare metrics is stored [#4083](https://github.com/sitespeedio/sitespeed.io/pull/4083). + + +### Added +* Updated to [Browsertime 21.2.0](https://github.com/sitespeedio/browsertime/blob/main/CHANGELOG.md#2120---2024-02-11) that adds a new way to stop your measureemnts if your navigation fails `measure.stopAsError(failureMessage, optionalURL)`. Perfect to use in a try/catch. +* Use darkmode for result HTML by adding `--html.darkMode`, thank you [petemyron](https://github.com/petemyron) for PR [#4081](https://github.com/sitespeedio/sitespeed.io/pull/4081). + +### Fixed +* Update co2.js to 0.14.2 [#4074](https://github.com/sitespeedio/sitespeed.io/pull/4074) +* More solid error handling if one page fail in scripting. This fixes so that the HTML for the rest of pages should be generated [#4079](https://github.com/sitespeedio/sitespeed.io/pull/4079). +* Remove console.errors of errors (they have already been reported in the log) [#4080](https://github.com/sitespeedio/sitespeed.io/pull/4080). +* Fix automatically switch to Throttle as engine on Mac and Linux if you add -c THROTTLING[#4082](https://github.com/sitespeedio/sitespeed.io/pull/4082). + ## 32.2.0 - 2024-01-24 ### Added * Chrome and Chromedriver 121 in the Docker container [#4069](https://github.com/sitespeedio/sitespeed.io/pull/4069). diff --git a/CODE_OF_CONDUCT.md b/CODE_OF_CONDUCT.md index 620341e06..8aaafe12b 100644 --- a/CODE_OF_CONDUCT.md +++ b/CODE_OF_CONDUCT.md @@ -28,6 +28,13 @@ We encourage everyone to participate and are committed to building a community f Although this list cannot be exhaustive, we explicitly honor diversity in age, gender, gender identity or expression, culture, ethnicity, language, national origin, political beliefs, profession, race, religion, sexual orientation, socioeconomic status, and technical ability. We will not tolerate discrimination based on any of the protected characteristics above, including participants with disabilities. +### No Unsolicited Advertising or Job Postings +We strive to maintain a collaborative and focused community. As such, advertising for companies/products or posting job advertisements without prior approval is strictly prohibited. + +If you engage in unsolicited advertising or recruitment activities, your account will be deleted without warning. + +If you're unsure whether your content falls under this policy, please reach out to an admin before posting. + ### Reporting Issues If you experience or witness unacceptable behavior—or have any other concerns—please report it by contacting us via [peter@soulgalore.com)](mailto:peter@soulgalore.com). All reports will be handled with discretion. In your report please include: diff --git a/CONTRIBUTORS.md b/CONTRIBUTORS.md index 91219e46b..46005817e 100644 --- a/CONTRIBUTORS.md +++ b/CONTRIBUTORS.md @@ -43,6 +43,7 @@ Many many many thanks to: * [Eike](https://github.com/EikeDawid) * [Jesse Zoldak](https://github.com/jzoldak) * [Devrim Tufan](https://github.com/tufandevrim) +* [Dileep Ponna](https://github.com/aiw-dileep) * [Keith Cirkel](https://github.com/keithamus) * [Jonathan Lee](https://github.com/beenanner) * [Pavel Bairov](https://github.com/Amerousful) diff --git a/Dockerfile b/Dockerfile index 0b169d453..3f8a7ac5b 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,4 +1,4 @@ -FROM sitespeedio/webbrowsers:chrome-121.0-firefox-122.0-edge-120.0 +FROM sitespeedio/webbrowsers:chrome-131.0-firefox-133.0-edge-131.0 ARG TARGETPLATFORM=linux/amd64 @@ -11,7 +11,6 @@ COPY docker/webpagereplay/wpr_key.pem /webpagereplay/certs/ COPY docker/webpagereplay/deterministic.js /webpagereplay/scripts/deterministic.js COPY docker/webpagereplay/LICENSE /webpagereplay/ - RUN sudo apt-get update && sudo apt-get install libnss3-tools python2 \ net-tools \ build-essential \ @@ -28,7 +27,8 @@ WORKDIR /usr/src/app COPY package.json /usr/src/app/ COPY npm-shrinkwrap.json /usr/src/app/ -RUN npm install --production && npm cache clean --force +COPY tools/postinstall.js /usr/src/app/tools/postinstall.js +RUN DOWNLOAD_URL2GREEN=true npm install --production && npm cache clean --force COPY . /usr/src/app COPY docker/scripts/start.sh /start.sh diff --git a/Dockerfile-slim b/Dockerfile-slim index afccc13d7..232fb65d8 100644 --- a/Dockerfile-slim +++ b/Dockerfile-slim @@ -2,11 +2,11 @@ FROM node:20.9.0-bookworm-slim ARG TARGETPLATFORM=linux/amd64 -ENV SITESPEED_IO_BROWSERTIME__DOCKER true -ENV SITESPEED_IO_BROWSERTIME__VIDEO false -ENV SITESPEED_IO_BROWSERTIME__BROWSER firefox -ENV SITESPEED_IO_BROWSERTIME__VISUAL_METRICS false -ENV SITESPEED_IO_BROWSERTIME__HEADLESS true +ENV SITESPEED_IO_BROWSERTIME__DOCKER=true +ENV SITESPEED_IO_BROWSERTIME__VIDEO=false +ENV SITESPEED_IO_BROWSERTIME__BROWSER=firefox +ENV SITESPEED_IO_BROWSERTIME__VISUAL_METRICS=false +ENV SITESPEED_IO_BROWSERTIME__HEADLESS=true ENV PATH="/usr/local/bin:${PATH}" @@ -21,7 +21,9 @@ RUN echo "deb http://deb.debian.org/debian/ unstable main contrib non-free" >> / RUN mkdir -p /usr/src/app WORKDIR /usr/src/app COPY . /usr/src/app -RUN CHROMEDRIVER_SKIP_DOWNLOAD=true EGDEDRIVER_SKIP_DOWNLOAD=true npm install --production && npm cache clean --force && npm uninstall npm -g +COPY tools/postinstall.js /usr/src/app/tools/postinstall.js +RUN CHROMEDRIVER_SKIP_DOWNLOAD=true EGDEDRIVER_SKIP_DOWNLOAD=true npm install --production && npm cache clean --force && npm uninstall npm npx -g + WORKDIR /usr/src/app COPY docker/scripts/start-slim.sh /start.sh diff --git a/README.md b/README.md index 1b161285f..5a1269d86 100644 --- a/README.md +++ b/README.md @@ -12,7 +12,8 @@ [![Changelog #212][changelog-image]][changelog-url] -[Website](https://www.sitespeed.io/) | [Documentation](https://www.sitespeed.io/documentation/sitespeed.io/) | [Changelog](https://github.com/sitespeedio/sitespeed.io/blob/main/CHANGELOG.md) | [Mastodon](https://fosstodon.org/@sitespeedio) +[Website](https://www.sitespeed.io/) | [Documentation](https://www.sitespeed.io/documentation/sitespeed.io/) | [Changelog](https://github.com/sitespeedio/sitespeed.io/blob/main/CHANGELOG.md) | [Bluesky](https://bsky.app/profile/sitespeed.io) | [Mastodon](https://fosstodon.org/@sitespeedio) + # Table of Contents @@ -209,7 +210,7 @@ We welcome contributions from the community! Whether you're fixing a bug, adding 5. **Test**: Run tests to ensure everything works as expected. 6. **Submit a Pull Request**: Push your changes to your fork and submit a pull request to the main repository. -Before contributing, please read our [CONTRIBUTING.md](.gitub/CONTRIBUTING.md) for more detailed information on how to contribute. +Before contributing, please read our [CONTRIBUTING.md](.github/CONTRIBUTING.md) for more detailed information on how to contribute. # Reporting Issues Found a bug or have a feature request? Please use the [GitHub Issues](https://github.com/sitespeedio/sitespeed.io/issues) to report them. Be sure to check existing issues to avoid duplicates. diff --git a/bin/browsertimeWebPageReplay.js b/bin/browsertimeWebPageReplay.js index e05942fdd..ecaeccd5e 100755 --- a/bin/browsertimeWebPageReplay.js +++ b/bin/browsertimeWebPageReplay.js @@ -24,6 +24,7 @@ let config; try { config = configPath ? JSON.parse(readFileSync(configPath)) : {}; + } catch (e) { if (e instanceof SyntaxError) { /* eslint no-console: off */ @@ -150,6 +151,7 @@ async function runBrowsertime() { ' to increase the level of detail.', type: 'count' }) + .parserConfiguration({ 'camel-case-expansion': false, 'deep-merge-config': true }) .config(config); const defaultConfig = { diff --git a/bin/sitespeed.js b/bin/sitespeed.js index f9f577046..4cf223b27 100755 --- a/bin/sitespeed.js +++ b/bin/sitespeed.js @@ -5,8 +5,9 @@ import { writeFileSync } from 'node:fs'; import { execSync } from 'node:child_process'; import { platform } from 'node:os'; -import { resolve, basename } from 'node:path'; +import path from 'node:path'; import { readFileSync } from 'node:fs'; +import { EventEmitter } from 'node:events'; import merge from 'lodash.merge'; import ora from 'ora'; @@ -15,6 +16,10 @@ import { parseCommandLine } from '../lib/cli/cli.js'; import { run } from '../lib/sitespeed.js'; import { addTest, waitAndGetResult, get } from '../lib/api/send.js'; +// This is due to CDP do no have (or has it) a way to remove listeners +// and default 10 is quite small number. +EventEmitter.defaultMaxListeners = 30; + async function api(options) { const action = options.api.action ?? 'addAndGetResult'; @@ -33,10 +38,10 @@ async function api(options) { // Add support for running multi tests if (options.multi) { const scripting = await readFileSync( - new URL(resolve(process.cwd(), options._[0]), import.meta.url) + new URL(path.resolve(process.cwd(), options._[0]), import.meta.url) ); apiOptions.api.scripting = scripting.toString(); - apiOptions.api.scriptingName = basename(options._[0]); + apiOptions.api.scriptingName = path.basename(options._[0]); } if (apiOptions.mobile) { @@ -52,16 +57,21 @@ async function api(options) { if (options.config) { const config = JSON.parse( await readFileSync( - new URL(resolve(process.cwd(), options.config), import.meta.url) + new URL(path.resolve(process.cwd(), options.config), import.meta.url) ) ); apiOptions = merge(options.explicitOptions, config); delete apiOptions.config; + delete apiOptions.extends; } + // We copy all browsertime settings to fix the problem when we use --config + // and then try to ovverride some configurations using command line + apiOptions.browsertime = options.browsertime; + if (action === 'add' || action === 'addAndGetResult') { const spinner = ora({ - text: `Send test to ${hostname}`, + text: `Send test to ${hostname} testing ${options._[0]}`, isSilent: options.api.silent }).start(); @@ -69,10 +79,10 @@ async function api(options) { const data = await addTest(hostname, apiOptions); const testId = JSON.parse(data).id; spinner.color = 'yellow'; - spinner.text = `Added test with id ${testId}`; + spinner.text = `Added test ${options._[0]} with id ${testId}`; if (action === 'add') { - spinner.succeed(`Added test with id ${testId}`); + spinner.succeed(`Added test ${options._[0]} with id ${testId}`); console.log(testId); process.exit(); } else if (action === 'addAndGetResult') { @@ -91,6 +101,9 @@ async function api(options) { } } else if (result.status === 'failed') { spinner.fail('Test failed'); + if (options.api.json) { + console.log(JSON.stringify(result)); + } process.exitCode = 1; process.exit(); } @@ -124,7 +137,7 @@ async function start() { let options = parsed.options; - if (options.api && options.api.hostname) { + if (options.api && options.api.hostname && !options.disableAPI) { api(options); } else { try { @@ -174,12 +187,10 @@ async function start() { } if (result.errors.length > 0) { - console.log('Errors while running:\n' + result.errors.join('\n')); throw new Error('Errors while running:\n' + result.errors.join('\n')); } - } catch (error) { + } catch { process.exitCode = 1; - console.log(error); } finally { process.exit(); } diff --git a/docker/Dockerfile-plus1 b/docker/Dockerfile-plus1 index ef359b2ab..6cbf68ba6 100644 --- a/docker/Dockerfile-plus1 +++ b/docker/Dockerfile-plus1 @@ -3,18 +3,14 @@ FROM sitespeedio/sitespeed.io:${version} ENV SITESPEED_IO_BROWSERTIME__XVFB true ENV SITESPEED_IO_BROWSERTIME__DOCKER true -ENV SITESPEED_IO_PLUGINS__ADD /lighthouse/index.js,/gpsi/lib/index.js +ENV SITESPEED_IO_PLUGINS__ADD @sitespeed.io/plugin-lighthouse,@sitespeed.io/plugin-gpsi RUN sudo apt-get update && sudo apt-get install git -y RUN node --version RUN npm --version -WORKDIR /gpsi -RUN git clone https://github.com/sitespeedio/plugin-gpsi.git . -RUN npm install --production -WORKDIR /lighthouse -RUN git clone https://github.com/sitespeedio/plugin-lighthouse.git . -RUN npm install --production +RUN npm install @sitespeed.io/plugin-lighthouse -g --production +RUN npm install @sitespeed.io/plugin-gpsi -g --production VOLUME /sitespeed.io -WORKDIR /sitespeed.io +WORKDIR /sitespeed.io \ No newline at end of file diff --git a/docker/Dockerfile-webpagetest b/docker/Dockerfile-webpagetest deleted file mode 100644 index 212150d5f..000000000 --- a/docker/Dockerfile-webpagetest +++ /dev/null @@ -1,14 +0,0 @@ -ARG version -FROM sitespeedio/sitespeed.io:${version} - -ENV SITESPEED_IO_BROWSERTIME__XVFB true -ENV SITESPEED_IO_BROWSERTIME__DOCKER true - -RUN sudo apt-get update && sudo apt-get install git -y - -WORKDIR /webpagetest -RUN git clone https://github.com/sitespeedio/plugin-webpagetest.git . -RUN npm install --production - -VOLUME /sitespeed.io -WORKDIR /sitespeed.io diff --git a/docker/docker-compose.yml b/docker/docker-compose.yml index 9733ddde4..5520feb48 100644 --- a/docker/docker-compose.yml +++ b/docker/docker-compose.yml @@ -1,7 +1,7 @@ version: '3' services: grafana: - image: grafana/grafana:10.0.2 + image: grafana/grafana:11.0.0 hostname: grafana depends_on: - graphite diff --git a/docker/graphite/conf/storage-schemas.conf b/docker/graphite/conf/storage-schemas.conf index ea8093f3c..f6a3bc085 100644 --- a/docker/graphite/conf/storage-schemas.conf +++ b/docker/graphite/conf/storage-schemas.conf @@ -1,3 +1,4 @@ +# Example file that you can use for sitespeed.io # Schema definitions for Whisper files. Entries are scanned in order, # and first match wins. This file is scanned for changes every 60 seconds. # @@ -7,18 +8,18 @@ # Carbon's internal metrics. This entry should match what is specified in # CARBON_METRIC_PREFIX and CARBON_METRIC_INTERVAL settings -[carbon] -pattern = ^carbon\. -retentions = 60:1d +# Store crux data, collect the data ones per day and save it for 2 years. [sitespeed_crux] pattern = ^sitespeed_io\.crux\. -retentions = 60m:40d +retentions = 1d:2y +# Run data, every ten seconds but only for 8 days +[sitespeed_run] +pattern = ^sitespeed_io\.(.*)\.(.*)\.run\. +retentions = 10s:8d + +# Summary data, ones per hour for 65 days [sitespeed] pattern = ^sitespeed_io\. -retentions = 10m:40d - -[catch_them_all] -pattern = .* -retentions = 5m:1d,15m:30d +retentions = 1h:65d \ No newline at end of file diff --git a/docker/scripts/start.sh b/docker/scripts/start.sh index c006ad238..770d17e6c 100755 --- a/docker/scripts/start.sh +++ b/docker/scripts/start.sh @@ -89,7 +89,7 @@ function runWebPageReplay() { record_pid=$! sleep $RECORD_WAIT - execNode $BROWSERTIME --browsertime.chrome.webPageReplayHostResolver --browsertime.chrome.webPageReplayHTTPPort $WPR_HTTP_PORT --browsertime.chrome.webPageReplayHTTPSPort $WPR_HTTPS_PORT --browsertime.chrome.webPageReplayRecord true --browsertime.firefox.preference network.dns.forceResolve:127.0.0.1 --browsertime.connectivity.engine throttle --browsertime.connectivity.throttle.localhost --browsertime.connectivity.profile custom --browsertime.connectivity.latency $LATENCY "$@" + execNode $BROWSERTIME --browsertime.chrome.webPageReplayHostResolver --browsertime.chrome.webPageReplayHTTPPort $WPR_HTTP_PORT --browsertime.chrome.webPageReplayHTTPSPort $WPR_HTTPS_PORT --browsertime.chrome.webPageReplayRecord true --browsertime.firefox.preference network.dns.forceResolve:127.0.0.1 --browsertime.firefox.acceptInsecureCerts true --browsertime.connectivity.engine throttle --browsertime.connectivity.throttle.localhost --browsertime.connectivity.profile custom --browsertime.connectivity.latency $LATENCY "$@" RESULT+=$? kill -2 $record_pid @@ -105,7 +105,7 @@ function runWebPageReplay() { if [ $? -eq 0 ] then - execNode --max-old-space-size=$MAX_OLD_SPACE_SIZE $SITESPEEDIO --browsertime.firefox.preference security.OCSP.enabled:0 --browsertime.firefox.preference network.dns.forceResolve:127.0.0.1 --browsertime.chrome.webPageReplayHostResolver --browsertime.chrome.webPageReplayHTTPPort $WPR_HTTP_PORT --browsertime.chrome.webPageReplayHTTPSPort $WPR_HTTPS_PORT --browsertime.connectivity.engine throttle --browsertime.connectivity.throttle.localhost --replay --browsertime.connectivity.profile custom --browsertime.connectivity.rtt $LATENCY "$@" & + execNode --max-old-space-size=$MAX_OLD_SPACE_SIZE $SITESPEEDIO --browsertime.firefox.preference security.OCSP.enabled:0 --browsertime.firefox.acceptInsecureCerts true --browsertime.firefox.preference network.dns.forceResolve:127.0.0.1 --browsertime.chrome.webPageReplayHostResolver --browsertime.chrome.webPageReplayHTTPPort $WPR_HTTP_PORT --browsertime.chrome.webPageReplayHTTPSPort $WPR_HTTPS_PORT --browsertime.connectivity.engine throttle --browsertime.connectivity.throttle.localhost --replay --browsertime.connectivity.profile custom --browsertime.connectivity.rtt $LATENCY "$@" & PID=$! diff --git a/docker/webpagereplay/linux/amd64/wpr b/docker/webpagereplay/linux/amd64/wpr index 4c89d62e0..bbc8d8852 100755 Binary files a/docker/webpagereplay/linux/amd64/wpr and b/docker/webpagereplay/linux/amd64/wpr differ diff --git a/docker/webpagereplay/linux/arm64/wpr b/docker/webpagereplay/linux/arm64/wpr index d0e20aee6..68750d63f 100755 Binary files a/docker/webpagereplay/linux/arm64/wpr and b/docker/webpagereplay/linux/arm64/wpr differ diff --git a/docs/Gemfile b/docs/Gemfile index 7434b39d2..eac80a5d0 100644 --- a/docs/Gemfile +++ b/docs/Gemfile @@ -1,2 +1,3 @@ source "https://rubygems.org" gem 'github-pages', group: :jekyll_plugins +ruby '3.0.0' diff --git a/docs/_includes/footer.html b/docs/_includes/footer.html index e324e0f75..68a620adf 100644 --- a/docs/_includes/footer.html +++ b/docs/_includes/footer.html @@ -27,9 +27,10 @@

Connect

sitespeed.io

@@ -45,7 +46,7 @@

Open Source