diff --git a/.github/workflows/manual-start.yml b/.github/workflows/manual-start.yml new file mode 100644 index 0000000..6d53b18 --- /dev/null +++ b/.github/workflows/manual-start.yml @@ -0,0 +1,43 @@ +name: "Manual - Run test against url" +on: + workflow_dispatch: + inputs: + url: + description: 'Webpage url to test' + required: true + default: 'https://webperf.se/' + type: string +env: + TEST_TAG: webperfse/webperf-core:test +jobs: + build: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + - name: Use Node.js + uses: actions/setup-node@v4 + with: + node-version: '20.x' + - name: Install latest Chrome + run: | + wget -q -O - https://dl-ssl.google.com/linux/linux_signing_key.pub | sudo apt-key add - + sudo sh -c 'echo "deb [arch=amd64] http://dl.google.com/linux/chrome/deb/ stable main" >> /etc/apt/sources.list.d/google.list' + sudo apt-get update + sudo apt-get --only-upgrade install google-chrome-stable + google-chrome --version + - name: Browser versions + run: | + google-chrome --version + - name: Install sitespeed.io + run: | + npm install sitespeed.io -g + cd ../plugin-accessibility-statement + npm install + - name: Start local HTTP server + run: (npm run start-server&) + - name: Lint + run: npm run lint + - name: Show sitespeed.io version + run: sitespeed.io --version + - name: Run tests using plugin + run: sitespeed.io --plugins.add ./lib/index.js --browsertime.chrome.includeResponseBodies all --xvfb -n 1 --javascript.terminal.showresults true ${{ github.event.inputs.url }} diff --git a/lib/index.js b/lib/index.js index 6f87e62..4b14df1 100644 --- a/lib/index.js +++ b/lib/index.js @@ -22,6 +22,7 @@ export default class JavascriptPlugin extends SitespeedioPlugin { const libFolder = fileURLToPath(new URL('..', import.meta.url)); this.pluginFolder = path.resolve(libFolder); this.options = options; + this.log = context.log; this.pug = await fsp.readFile( path.resolve(this.pluginFolder, 'pug', 'index.pug'), @@ -111,6 +112,10 @@ export default class JavascriptPlugin extends SitespeedioPlugin { super.sendMessage(pluginname + '.summary', summary.groups[group], { group }); + + if (this.options.javascript && this.options.javascript.terminal && this.options.javascript.terminal.showresults) { + this.log.info('plugin-javascript', group, JSON.stringify(summary.groups[group], false, ' ')); + } } break; } @@ -119,4 +124,4 @@ export default class JavascriptPlugin extends SitespeedioPlugin { // close(options, errors) { // // Cleanup if necessary // } -} \ No newline at end of file +}