build: fix deploy target for Makefile

Because the go.mod and related files were not being copying, the
packages are resolved within the current $GOROOT, which does not work.

This change copies all application files, not just Go source files and
app.yaml.
This commit is contained in:
Adin Scannell 2019-04-29 10:00:02 -07:00 committed by Ian Lewis
parent 0b4eca7b32
commit 0f5e7e011c
1 changed files with 8 additions and 10 deletions

View File

@ -5,21 +5,19 @@ NPM := npm
GCLOUD := gcloud GCLOUD := gcloud
GCP_PROJECT := gvisor-website GCP_PROJECT := gvisor-website
# Source Go files. example: main.go foo/bar.go # Source Go files, example: main.go, foo/bar.go.
GO_SOURCE = $(shell find cmd/gvisor-website -type f -name "*.go" | sed 's/ /\\ /g') APP_SOURCE = $(wildcard cmd/gvisor-website/*)
# Target Go files. example: public/main.go public/foo/bar.go # Target Go files, example: public/main.go, public/foo/bar.go.
GO_TARGET = $(shell cd cmd/gvisor-website && find . -type f -name "*.go" | sed 's/ /\\ /g' | sed 's/^.\//public\//') APP_TARGET = $(patsubst cmd/gvisor-website/%,public/%,$(APP_SOURCE))
default: website default: website
.PHONY: default .PHONY: default
website: all-upstream public/app.yaml $(GO_TARGET) public/static website: all-upstream $(APP_TARGET) public/static
.PHONY: website .PHONY: website
public: public:
mkdir -p public mkdir -p public
public/app.yaml: public
cp -vr cmd/gvisor-website/app.yaml public/
# Load repositories. # Load repositories.
upstream: upstream:
@ -39,8 +37,8 @@ content/docs/community/sigs: upstream/community $(wildcard upstream/community/si
cat upstream/community/sigs/$$file.md |grep -v -E '^# ' >> content/docs/community/sigs/$$file.md; \ cat upstream/community/sigs/$$file.md |grep -v -E '^# ' >> content/docs/community/sigs/$$file.md; \
done done
$(GO_TARGET): public $(GO_SOURCE) $(APP_TARGET): public $(APP_SOURCE)
cd cmd/gvisor-website && find . -name "*.go" -exec cp --parents \{\} ../../public \; cp -a cmd/gvisor-website/$(patsubst public/%,%,$@) public/
public/static: node_modules config.toml $(shell find archetypes assets content themes -type f | sed 's/ /\\ /g') public/static: node_modules config.toml $(shell find archetypes assets content themes -type f | sed 's/ /\\ /g')
HUGO_ENV="production" $(HUGO) HUGO_ENV="production" $(HUGO)
@ -56,7 +54,7 @@ server: all-upstream
.PHONY: server .PHONY: server
# Deploy the website to App Engine. # Deploy the website to App Engine.
deploy: public/app.yaml deploy: $(APP_TARGET)
cd public && $(GCLOUD) app deploy cd public && $(GCLOUD) app deploy
.PHONY: deploy .PHONY: deploy