mirror of https://github.com/kubeflow/examples.git
				
				
				
			
		
			
				
	
	
		
			64 lines
		
	
	
		
			2.1 KiB
		
	
	
	
		
			Makefile
		
	
	
		
			Executable File
		
	
	
			
		
		
	
	
			64 lines
		
	
	
		
			2.1 KiB
		
	
	
	
		
			Makefile
		
	
	
		
			Executable File
		
	
	
| # Copyright 2017 The Kubernetes Authors.
 | |
| #
 | |
| # Licensed under the Apache License, Version 2.0 (the "License");
 | |
| # you may not use this file except in compliance with the License.
 | |
| # You may obtain a copy of the License at
 | |
| #
 | |
| #     http://www.apache.org/licenses/LICENSE-2.0
 | |
| #
 | |
| # Unless required by applicable law or agreed to in writing, software
 | |
| # distributed under the License is distributed on an "AS IS" BASIS,
 | |
| # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 | |
| # See the License for the specific language governing permissions and
 | |
| # limitations under the License.
 | |
| #
 | |
| # Requirements:
 | |
| #   https://github.com/mattrobenolt/jinja2-cli
 | |
| #   pip install jinja2-clie
 | |
| #
 | |
| # To override variables do
 | |
| # make ${TARGET} ${VAR}=${VALUE}
 | |
| #
 | |
| 
 | |
| # IMG is the base path for images..
 | |
| # Individual images will be
 | |
| # $(IMG)/$(NAME):$(TAG)
 | |
| IMG ?= gcr.io/kubeflow-examples/pytorch-mnist
 | |
| 
 | |
| # List any changed  files. We only include files in the notebooks directory.
 | |
| # because that is the code in the docker image.
 | |
| # In particular we exclude changes to the ksonnet configs.
 | |
| CHANGED_FILES := $(shell git diff-files --relative=mnist/)
 | |
| 
 | |
| # Whether to use cached images with GCB
 | |
| USE_IMAGE_CACHE ?= true
 | |
| 
 | |
| ifeq ($(strip $(CHANGED_FILES)),)
 | |
| # Changed files is empty; not dirty
 | |
| # Don't include --dirty because it could be dirty if files outside the ones we care
 | |
| # about changed.
 | |
| GIT_VERSION := $(shell git describe --always)
 | |
| else
 | |
| GIT_VERSION := $(shell git describe --always)-dirty-$(shell git diff | shasum -a256 | cut -c -6)
 | |
| endif
 | |
| 
 | |
| TAG := $(shell date +v%Y%m%d)-$(GIT_VERSION)
 | |
| all: build
 | |
| 
 | |
| # Build the GCB workflow
 | |
| build-gcb-spec:
 | |
| 	rm -rf ./build
 | |
| 	mkdir  -p build
 | |
| 	jsonnet ./image_build.jsonnet --ext-str imageBase=$(IMG) \
 | |
| 	  --ext-str gitVersion=$(GIT_VERSION) --ext-str tag=$(TAG) \
 | |
| 	  --ext-str useImageCache=$(USE_IMAGE_CACHE) \
 | |
| 	  > ./build/image_build.json
 | |
| 
 | |
| # Build using GCB. This is useful if we are on a slow internet connection
 | |
| # and don't want to pull images locally.
 | |
| # Its also used to build from our CI system.
 | |
| build-gcb: build-gcb-spec
 | |
| 	gcloud builds submit --machine-type=n1-highcpu-32 --project=kubeflow-ci \
 | |
| 	    --config=./build/image_build.json \
 | |
| 		--timeout=3600 .
 |