mirror of https://github.com/containers/podman.git
				
				
				
			
		
			
				
	
	
		
			52 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
			
		
		
	
	
			52 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
| #!/bin/bash
 | |
| 
 | |
| set -x
 | |
| 
 | |
| #
 | |
| # This script is intended to help developers contribute to the podman project. It
 | |
| # checks various pre-CI checks like building, linting, man-pages, etc.  It is meant
 | |
| # to be run in a specific container environment.
 | |
| 
 | |
| build() {
 | |
|     err=""
 | |
| 
 | |
|     echo "Building windows"
 | |
|     if ! GOOS=windows CGO_ENABLED=0 go build -tags "$REMOTETAGS" -o bin/podman-remote-windows ./cmd/podman; then
 | |
|         err+="\n - Windows "
 | |
|     fi
 | |
| 
 | |
|     echo "Building darwin"
 | |
|     if ! GOOS=darwin CGO_ENABLED=0 go build -tags "$REMOTETAGS" -o bin/podman-remote-darwin ./cmd/podman; then
 | |
|         err+="\n - Darwin "
 | |
|     fi
 | |
| 
 | |
|     echo "Building podman binaries"
 | |
|     if ! make binaries; then
 | |
|         err+="\n - Additional Binaries "
 | |
|     fi
 | |
| 
 | |
|     if [ ! -z "$err" ]
 | |
|     then
 | |
|         echo -e "\033[31mFailed to build: ${err}\033[0m">&2
 | |
|         exit 1
 | |
|     fi
 | |
| }
 | |
| 
 | |
| validate(){
 | |
|     echo "Running validation tooling"
 | |
| 
 | |
|     # golangci-lint gobbles memory.
 | |
|     # By default, podman machines only have 2GB memory,
 | |
|     # often causing the linter be killed when run on Darwin/Windows
 | |
|     mem=$(awk '/MemTotal/ {print $2}' /proc/meminfo)
 | |
|     if (( $((mem)) < 3900000 )); then
 | |
|         echo -e "\033[33mWarning: Your machine may not have sufficient memory (< 4 GB)to run the linter. \
 | |
| If the process is killed, please allocate more memory.\033[0m">&2
 | |
|     fi
 | |
| 
 | |
|     make validate
 | |
| }
 | |
| 
 | |
| build
 | |
| validate
 |