| 
									
										
										
										
											2023-07-03 23:27:06 +10:00
										 |  |  | #!/usr/bin/env bash
 | 
					
						
							| 
									
										
										
										
											2020-07-17 16:51:39 -07:00
										 |  |  | set -e | 
					
						
							|  |  |  | set +x | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2020-09-21 17:47:44 +02:00
										 |  |  | if [[ ($1 == '--help') || ($1 == '-h') || ($1 == '') || ($2 == '') ]]; then | 
					
						
							| 
									
										
										
										
											2024-10-21 17:00:10 +02:00
										 |  |  |   echo "usage: $(basename $0) {--arm64,--amd64} {jammy,noble} playwright:localbuild-noble" | 
					
						
							| 
									
										
										
										
											2020-07-17 16:51:39 -07:00
										 |  |  |   echo | 
					
						
							| 
									
										
										
										
											2024-10-21 17:00:10 +02:00
										 |  |  |   echo "Build Playwright docker image and tag it as 'playwright:localbuild-noble'." | 
					
						
							| 
									
										
										
										
											2020-07-17 16:51:39 -07:00
										 |  |  |   echo "Once image is built, you can run it with" | 
					
						
							|  |  |  |   echo "" | 
					
						
							| 
									
										
										
										
											2024-10-21 17:00:10 +02:00
										 |  |  |   echo "  docker run --rm -it playwright:localbuild-noble /bin/bash" | 
					
						
							| 
									
										
										
										
											2020-07-17 16:51:39 -07:00
										 |  |  |   echo "" | 
					
						
							|  |  |  |   echo "NOTE: this requires on Playwright dependencies to be installed with 'npm install'" | 
					
						
							|  |  |  |   echo "      and Playwright itself being built with 'npm run build'" | 
					
						
							|  |  |  |   echo "" | 
					
						
							|  |  |  |   exit 0 | 
					
						
							|  |  |  | fi | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | function cleanup() { | 
					
						
							| 
									
										
										
										
											2021-12-07 09:28:59 -08:00
										 |  |  |   rm -f "playwright-core.tar.gz" | 
					
						
							| 
									
										
										
										
											2020-07-17 16:51:39 -07:00
										 |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | trap "cleanup; cd $(pwd -P)" EXIT | 
					
						
							|  |  |  | cd "$(dirname "$0")" | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2021-10-11 10:52:17 -04:00
										 |  |  | # We rely on `./playwright-core.tar.gz` to download browsers into the docker | 
					
						
							| 
									
										
										
										
											2020-07-17 16:51:39 -07:00
										 |  |  | # image. | 
					
						
							| 
									
										
										
										
											2021-10-11 10:52:17 -04:00
										 |  |  | node ../../utils/pack_package.js playwright-core ./playwright-core.tar.gz | 
					
						
							| 
									
										
										
										
											2020-07-17 16:51:39 -07:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2021-12-07 09:28:59 -08:00
										 |  |  | PLATFORM="" | 
					
						
							|  |  |  | if [[ "$1" == "--arm64" ]]; then | 
					
						
							|  |  |  |   PLATFORM="linux/arm64"; | 
					
						
							|  |  |  | elif [[ "$1" == "--amd64" ]]; then | 
					
						
							|  |  |  |   PLATFORM="linux/amd64" | 
					
						
							|  |  |  | else | 
					
						
							|  |  |  |   echo "ERROR: unknown platform specifier - $1. Only --arm64 or --amd64 is supported" | 
					
						
							|  |  |  |   exit 1 | 
					
						
							|  |  |  | fi | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | docker build --platform "${PLATFORM}" -t "$3" -f "Dockerfile.$2" . |