# Objective - Run examples in WASM in CI - Fix #4817 ## Solution - on feature `bevy_ci_testing` - add an extra log message before exiting - when building for wasm, read CI config file at compile time - add a simple [playwright](https://playwright.dev) test script that opens the browser then waits for the success log, and takes a screenshot - add a CI job that runs the playwright test for Chromium and Firefox on one example (lighting) and save the screenshots - Firefox screenshot is good (with some clusters visible) - Chromium screenshot is gray, I don't know why but it's logging `GPU stall due to ReadPixels` - Webkit is not enabled for now, to revisit once https://bugs.webkit.org/show_bug.cgi?id=234926 is fixed or worked around - the CI job only runs on bors validation example run: https://github.com/mockersf/bevy/actions/runs/2361673465. The screenshots can be downloaded
		
			
				
	
	
		
			77 lines
		
	
	
		
			2.4 KiB
		
	
	
	
		
			JSON
		
	
	
	
	
	
			
		
		
	
	
			77 lines
		
	
	
		
			2.4 KiB
		
	
	
	
		
			JSON
		
	
	
	
	
	
{
 | 
						|
  "name": "start-wasm-example",
 | 
						|
  "version": "1.0.0",
 | 
						|
  "lockfileVersion": 2,
 | 
						|
  "requires": true,
 | 
						|
  "packages": {
 | 
						|
    "": {
 | 
						|
      "name": "start-wasm-example",
 | 
						|
      "version": "1.0.0",
 | 
						|
      "license": "ISC",
 | 
						|
      "dependencies": {
 | 
						|
        "dotenv": "^16.0.1"
 | 
						|
      },
 | 
						|
      "devDependencies": {
 | 
						|
        "@playwright/test": "^1.22.1"
 | 
						|
      }
 | 
						|
    },
 | 
						|
    "node_modules/@playwright/test": {
 | 
						|
      "version": "1.22.1",
 | 
						|
      "resolved": "https://registry.npmjs.org/@playwright/test/-/test-1.22.1.tgz",
 | 
						|
      "integrity": "sha512-8ouMBUboYslHom41W8bnSEn0TwlAMHhCACwOZeuiAgzukj7KobpZ+UBwrGE0jJ0UblJbKAQNRHXL+z7sDSkb6g==",
 | 
						|
      "dev": true,
 | 
						|
      "dependencies": {
 | 
						|
        "playwright-core": "1.22.1"
 | 
						|
      },
 | 
						|
      "bin": {
 | 
						|
        "playwright": "cli.js"
 | 
						|
      },
 | 
						|
      "engines": {
 | 
						|
        "node": ">=14"
 | 
						|
      }
 | 
						|
    },
 | 
						|
    "node_modules/dotenv": {
 | 
						|
      "version": "16.0.1",
 | 
						|
      "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-16.0.1.tgz",
 | 
						|
      "integrity": "sha512-1K6hR6wtk2FviQ4kEiSjFiH5rpzEVi8WW0x96aztHVMhEspNpc4DVOUTEHtEva5VThQ8IaBX1Pe4gSzpVVUsKQ==",
 | 
						|
      "engines": {
 | 
						|
        "node": ">=12"
 | 
						|
      }
 | 
						|
    },
 | 
						|
    "node_modules/playwright-core": {
 | 
						|
      "version": "1.22.1",
 | 
						|
      "resolved": "https://registry.npmjs.org/playwright-core/-/playwright-core-1.22.1.tgz",
 | 
						|
      "integrity": "sha512-H+ZUVYnceWNXrRf3oxTEKAr81QzFsCKu5Fp//fEjQvqgKkfA1iX3E9DBrPJpPNOrgVzcE+IqeI0fDmYJe6Ynnw==",
 | 
						|
      "dev": true,
 | 
						|
      "bin": {
 | 
						|
        "playwright": "cli.js"
 | 
						|
      },
 | 
						|
      "engines": {
 | 
						|
        "node": ">=14"
 | 
						|
      }
 | 
						|
    }
 | 
						|
  },
 | 
						|
  "dependencies": {
 | 
						|
    "@playwright/test": {
 | 
						|
      "version": "1.22.1",
 | 
						|
      "resolved": "https://registry.npmjs.org/@playwright/test/-/test-1.22.1.tgz",
 | 
						|
      "integrity": "sha512-8ouMBUboYslHom41W8bnSEn0TwlAMHhCACwOZeuiAgzukj7KobpZ+UBwrGE0jJ0UblJbKAQNRHXL+z7sDSkb6g==",
 | 
						|
      "dev": true,
 | 
						|
      "requires": {
 | 
						|
        "playwright-core": "1.22.1"
 | 
						|
      }
 | 
						|
    },
 | 
						|
    "dotenv": {
 | 
						|
      "version": "16.0.1",
 | 
						|
      "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-16.0.1.tgz",
 | 
						|
      "integrity": "sha512-1K6hR6wtk2FviQ4kEiSjFiH5rpzEVi8WW0x96aztHVMhEspNpc4DVOUTEHtEva5VThQ8IaBX1Pe4gSzpVVUsKQ=="
 | 
						|
    },
 | 
						|
    "playwright-core": {
 | 
						|
      "version": "1.22.1",
 | 
						|
      "resolved": "https://registry.npmjs.org/playwright-core/-/playwright-core-1.22.1.tgz",
 | 
						|
      "integrity": "sha512-H+ZUVYnceWNXrRf3oxTEKAr81QzFsCKu5Fp//fEjQvqgKkfA1iX3E9DBrPJpPNOrgVzcE+IqeI0fDmYJe6Ynnw==",
 | 
						|
      "dev": true
 | 
						|
    }
 | 
						|
  }
 | 
						|
}
 |