mirror of
https://github.com/prymitive/karma
synced 2026-05-15 04:06:41 +00:00
Merge pull request #199 from cloudflare/travis-build-stages
Travis build stages
This commit is contained in:
54
.travis.yml
54
.travis.yml
@@ -1,20 +1,44 @@
|
||||
language: go
|
||||
|
||||
go:
|
||||
- 1.9.x
|
||||
|
||||
go_import_path: github.com/cloudflare/unsee
|
||||
|
||||
cache:
|
||||
directories:
|
||||
- node_modules
|
||||
- vendor
|
||||
jobs:
|
||||
include:
|
||||
- stage: Test Go code
|
||||
language: go
|
||||
go: "1.9.2"
|
||||
before_script:
|
||||
- make mock-assets
|
||||
cache:
|
||||
directories:
|
||||
- vendor
|
||||
script: make test-go
|
||||
|
||||
env:
|
||||
- NODE_ENV=test
|
||||
- stage: Test JavaScript code
|
||||
language: node_js
|
||||
node_js: "8"
|
||||
env:
|
||||
- NODE_ENV=test
|
||||
cache:
|
||||
directories:
|
||||
- node_modules
|
||||
script: make test-js
|
||||
|
||||
before_script:
|
||||
- nvm install 8
|
||||
- stage: Lint Go code
|
||||
language: go
|
||||
go: "1.9.2"
|
||||
script: make lint-go
|
||||
|
||||
script:
|
||||
- make test
|
||||
- stage: Lint JavaScript code
|
||||
language: node_js
|
||||
node_js: "8"
|
||||
cache:
|
||||
directories:
|
||||
- node_modules
|
||||
script: make lint-js
|
||||
|
||||
- stage: Build Docker image
|
||||
sudo: true
|
||||
addons:
|
||||
apt:
|
||||
packages:
|
||||
- docker-ce
|
||||
script: make docker-image
|
||||
|
||||
34
Makefile
34
Makefile
@@ -37,6 +37,7 @@ endif
|
||||
touch $@
|
||||
|
||||
.build/npm.install: package.json package-lock.json
|
||||
@mkdir -p .build
|
||||
npm install
|
||||
touch $@
|
||||
|
||||
@@ -89,16 +90,40 @@ run-docker: docker-image
|
||||
-p $(PORT):$(PORT) \
|
||||
$(NAME):$(VERSION)
|
||||
|
||||
.PHONY: lint
|
||||
lint: .build/deps.ok
|
||||
.PHONY: lint-go
|
||||
lint-go: .build/golint
|
||||
golint ./... | (egrep -v "^vendor/|^bindata_assetfs.go" || true)
|
||||
|
||||
.PHONY: lint-js
|
||||
lint-js: .build/npm.install
|
||||
$(CURDIR)/node_modules/.bin/eslint --quiet assets/static/*.js
|
||||
|
||||
.PHONY: test
|
||||
test: lint bindata_assetfs.go
|
||||
.PHONY: lint
|
||||
lint: lint-go lint-js
|
||||
|
||||
# Creates mock bindata_assetfs.go with source assets rather than webpack generated ones
|
||||
.PHONY: mock-assets
|
||||
mock-assets: .build/go-bindata .build/go-bindata-assetfs
|
||||
mkdir -p $(CURDIR)/assets/static/dist/templates
|
||||
cp $(CURDIR)/assets/static/*.* $(CURDIR)/assets/static/dist/
|
||||
touch $(CURDIR)/assets/static/dist/templates/loader_unsee.html
|
||||
touch $(CURDIR)/assets/static/dist/templates/loader_shared.html
|
||||
touch $(CURDIR)/assets/static/dist/templates/loader_help.html
|
||||
go-bindata-assetfs -prefix assets -nometadata assets/templates/... assets/static/dist/...
|
||||
# force assets rebuild on next make run
|
||||
rm -f .build/bindata_assetfs.*
|
||||
|
||||
.PHONY: test-go
|
||||
test-go: .build/vendor.ok
|
||||
go test -bench=. -cover `go list ./... | grep -v /vendor/`
|
||||
|
||||
.PHONY: test-js
|
||||
test-js:
|
||||
npm test
|
||||
|
||||
.PHONY: test
|
||||
test: lint test-go test-js
|
||||
|
||||
.build/dep.ok:
|
||||
go get -u github.com/golang/dep/cmd/dep
|
||||
@mkdir -p .build
|
||||
@@ -114,7 +139,6 @@ vendor: .build/dep.ok
|
||||
dep ensure
|
||||
dep prune
|
||||
|
||||
|
||||
.PHONY: vendor-update
|
||||
vendor-update: .build/dep.ok
|
||||
dep ensure -update
|
||||
|
||||
Reference in New Issue
Block a user