You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
					
					
						
							41 lines
						
					
					
						
							965 B
						
					
					
				
			
		
		
	
	
							41 lines
						
					
					
						
							965 B
						
					
					
				| # Usage: | |
| # | |
| #   docker build -t bcryptjs-linux-alpine-builder -f Dockerfile-alpine . | |
| #   CONTAINER=$(docker create bcryptjs-linux-alpine-builder) | |
| #   # Then copy the artifact to your host: | |
| #   docker cp "$CONTAINER:/usr/local/opt/bcrypt-js/prebuilds" . | |
| #   docker rm "$CONTAINER" | |
| 
 | |
| ARG FROM_IMAGE=node:18-alpine | |
| FROM ${FROM_IMAGE} | |
| 
 | |
| ENV project bcrypt-js | |
| ENV DEBIAN_FRONTEND noninteractive | |
| ENV LC_ALL en_US.UTF-8 | |
| ENV LANG ${LC_ALL} | |
| 
 | |
| RUN echo "#log: ${project}: Setup system" \ | |
|   && set -x \ | |
|   && apk add --update build-base python3 \ | |
|   && npm i -g prebuildify@5 node-gyp@9 \ | |
|   && sync | |
| 
 | |
| ADD . /usr/local/opt/${project} | |
| WORKDIR /usr/local/opt/${project} | |
| 
 | |
| RUN echo "#log: ${project}: Running build" \ | |
|   && set -x \ | |
|   && npm ci \ | |
|   && npm run build | |
| 
 | |
| ARG RUN_TESTS=true | |
| ARG TEST_TIMEOUT_SECONDS= | |
| 
 | |
| RUN if "${RUN_TESTS}"; then \ | |
|     echo "#log ${project}: Running tests" \ | |
|     && npm test; \ | |
|   else \ | |
|     echo "#log ${project}: Tests were skipped!"; \ | |
|   fi | |
| 
 | |
| CMD /bin/bash -l
 | |
| 
 |