@@ -3,38 +3,37 @@ const fs = require('fs');
33
44const PORT = 8041 ;
55const PR_NUMBER = process . env . GITHUB_PR_NUMBER ;
6- const environments = [
6+ const OUTPUT_DIR = './lighthouse-reports' ;
7+ const ENVIRONMENTS = [
78 {
89 title : 'pr' ,
9- url : `https://frontdoor-test-docs.nginx.com/previews/docs/${ PR_NUMBER } /` ,
10- } ,
11- {
12- title : 'main' ,
13- url : 'https://docs.nginx.com/' ,
10+ url : `https://frontdoor-test-docs.nginx.com/previews/nginx-hugo-theme/${ PR_NUMBER } /` ,
1411 } ,
1512] ;
16- const OUTPUT_DIR = './lighthouse-reports' ;
1713
1814const signIntoFrontDoor = async ( browser , env ) => {
1915 const page = await browser . newPage ( ) ;
20- await page . authenticate ( {
21- username : process . env . FRONT_DOOR_USERNAME ,
22- password : process . env . FRONT_DOOR_PASSWORD ,
23- } ) ;
24-
25- await page . goto ( env [ 'url' ] ) ;
26- await page . waitForSelector ( '.grid-container' ) ;
27- console . log ( 'Logged in...' ) ;
28- await page . close ( ) ;
16+ try {
17+ await page . authenticate ( {
18+ username : process . env . FRONT_DOOR_USERNAME ,
19+ password : process . env . FRONT_DOOR_PASSWORD ,
20+ } ) ;
21+ await page . goto ( env [ 'url' ] ) ;
22+ await page . waitForSelector ( '.navbar' ) ;
23+ console . log ( 'Logged in...' ) ;
24+ await page . close ( ) ;
25+ } catch {
26+ console . log ( 'Unable to log in...' ) ;
27+ }
2928} ;
3029
31- const runLighthouse = async ( env ) => {
30+ const generateLighthouseReport = async ( env ) => {
3231 const OUTPUT_FILE = `${ env [ 'title' ] } -report.json` ;
33-
3432 const lighthouse = ( await import ( 'lighthouse' ) ) . default ;
3533 console . log ( `Running Lighthouse for ${ env [ 'title' ] } ...` ) ;
3634 const result = await lighthouse ( env [ 'url' ] , { port : PORT } ) ;
3735 fs . writeFileSync ( `${ OUTPUT_DIR } /${ OUTPUT_FILE } ` , result . report ) ;
36+ console . log ( `Generated report for ${ env [ 'title' ] } ...` ) ;
3837} ;
3938
4039( async ( ) => {
@@ -46,12 +45,12 @@ const runLighthouse = async (env) => {
4645 fs . mkdirSync ( OUTPUT_DIR ) ;
4746 }
4847
49- for ( const env of environments ) {
48+ for ( const env of ENVIRONMENTS ) {
5049 if ( env [ 'title' ] === 'pr' ) {
5150 await signIntoFrontDoor ( browser , env ) ;
5251 }
53- await runLighthouse ( env ) ;
52+ await generateLighthouseReport ( env ) ;
5453 }
5554
56- await browser . close ( ) ;
55+ browser . close ( ) ;
5756} ) ( ) ;
0 commit comments