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`
 | 
					* Renamed `/api/v1/repos` namespace to `/api/v1/targets`
 | 
				
			||||||
* Branch name for 'git' targets is now optional; if not provided, the
 | 
					* Branch name for 'git' targets is now optional; if not provided, the
 | 
				
			||||||
  repository will be cloned with the default branch
 | 
					  repository will be cloned with the default branch
 | 
				
			||||||
 | 
					* Build containers now explicitely set the PATH variable
 | 
				
			||||||
 | 
					
 | 
				
			||||||
### Removed
 | 
					### Removed
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -11,6 +11,9 @@ import models { Target }
 | 
				
			||||||
const (
 | 
					const (
 | 
				
			||||||
	container_build_dir = '/build'
 | 
						container_build_dir = '/build'
 | 
				
			||||||
	build_image_repo    = 'vieter-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
 | 
					// 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{
 | 
						c := docker.NewContainer{
 | 
				
			||||||
		image: '$base_image_id'
 | 
							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']
 | 
							entrypoint: ['/bin/sh', '-c']
 | 
				
			||||||
		cmd: ['echo \$BUILD_SCRIPT | base64 -d | /bin/bash -e']
 | 
							cmd: ['echo \$BUILD_SCRIPT | base64 -d | /bin/bash -e']
 | 
				
			||||||
		work_dir: '/build'
 | 
							work_dir: '/build'
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
		Reference in New Issue