forked from vieter-v/vieter
				
			fix(build): explicitely set PATH variable in build containers
							parent
							
								
									424b0651e9
								
							
						
					
					
						commit
						4200f5c8de
					
				|  | @ -22,6 +22,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 | |||
| * Renamed `/api/v1/repos` namespace to `/api/v1/targets` | ||||
| * Branch name for 'git' targets is now optional; if not provided, the | ||||
|   repository will be cloned with the default branch | ||||
| * Build containers now explicitely set the PATH variable | ||||
| 
 | ||||
| ### Removed | ||||
| 
 | ||||
|  |  | |||
|  | @ -11,6 +11,9 @@ import models { Target } | |||
| const ( | ||||
| 	container_build_dir = '/build' | ||||
| 	build_image_repo    = 'vieter-build' | ||||
| 	// Contents of PATH variable in build containers | ||||
| 	path_dirs           = ['/sbin', '/bin', '/usr/sbin', '/usr/bin', '/usr/local/sbin', | ||||
| 		'/usr/local/bin', '/usr/bin/site_perl', '/usr/bin/vendor_perl', '/usr/bin/core_perl'] | ||||
| ) | ||||
| 
 | ||||
| // create_build_image creates a builder image given some base image which can | ||||
|  | @ -109,7 +112,13 @@ pub fn build_target(address string, api_key string, base_image_id string, target | |||
| 
 | ||||
| 	c := docker.NewContainer{ | ||||
| 		image: '$base_image_id' | ||||
| 		env: ['BUILD_SCRIPT=$base64_script', 'API_KEY=$api_key'] | ||||
| 		env: [ | ||||
| 			'BUILD_SCRIPT=$base64_script', | ||||
| 			'API_KEY=$api_key', | ||||
| 			// `archlinux:base-devel` does not correctly set the path variable, | ||||
| 			// causing certain builds to fail. This fixes it. | ||||
| 			'PATH=${build.path_dirs.join(':')}', | ||||
| 		] | ||||
| 		entrypoint: ['/bin/sh', '-c'] | ||||
| 		cmd: ['echo \$BUILD_SCRIPT | base64 -d | /bin/bash -e'] | ||||
| 		work_dir: '/build' | ||||
|  |  | |||
		Loading…
	
		Reference in New Issue