Merge pull request #831 from weaveworks/build-example-in-container

Build example app in container.
This commit is contained in:
Tom Wilkie
2016-01-16 12:49:26 -08:00
7 changed files with 79 additions and 9 deletions

View File

@@ -125,6 +125,7 @@ clean:
deps:
go get -u -f -tags netgo \
github.com/FiloSottile/gvt \
github.com/mattn/goveralls \
github.com/mjibson/esc \
github.com/weaveworks/github-release

View File

@@ -17,11 +17,14 @@ dependencies:
cache_directories:
- "~/docker"
override:
- "sudo apt-get update && sudo apt-get install jq pv"
- curl https://sdk.cloud.google.com | bash
- test -z "$SECRET_PASSWORD" || bin/setup-circleci-secrets "$SECRET_PASSWORD"
- make deps
- "mkdir -p $(dirname $SRCDIR) && cp -r $(pwd)/ $SRCDIR"
- >
sudo apt-get update &&
sudo apt-get install jq pv &&
(curl https://sdk.cloud.google.com | bash) &&
(test -z "$SECRET_PASSWORD" || bin/setup-circleci-secrets "$SECRET_PASSWORD") &&
make deps &&
mkdir -p $(dirname $SRCDIR) &&
cp -r $(pwd)/ $SRCDIR
- "cd $SRCDIR/client; ../tools/rebuild-image weaveworks/scope-ui-build . Dockerfile package.json webpack.production.config.js .eslintrc .babelrc && touch $SRCDIR/.scope_ui_build.uptodate"
- "cd $SRCDIR/backend; ../tools/rebuild-image weaveworks/scope-backend-build . Dockerfile build.sh && touch $SRCDIR/.scope_backend_build.uptodate"
- cd $SRCDIR/integration; ./gce.sh make_template:

View File

@@ -1,19 +1,27 @@
CC=gcc
CFLAGS=-g -lpthread
BUILD_IN_CONTAINER=true
all: qotd.marker app.marker client.marker searchapp.marker shout.marker frontend.marker echo.marker
searchapp/searchapp: searchapp/app.go
shout/shout: shout/shout.go
qotd/qotd: qotd/qotd.o
ifeq ($(BUILD_IN_CONTAINER),true)
qotd/qotd qotd/qotd.o searchapp/searchapp shout/shout:
$(SUDO) docker run -ti --rm -v $(shell pwd)/../../:/go/src/github.com/weaveworks/scope -e GOARCH -e GOOS \
weaveworks/scope-backend-build -C experimental/example $@
else
qotd/qotd:
gcc -o $@ $< $(CFLAGS)
%.o: %.c
$(CC) -c -o $@ $< $(CFLAGS)
searchapp/searchapp: searchapp/app.go
shout/shout: shout/shout.go
shout/shout searchapp/searchapp:
go get -tags netgo ./$(@D)
go build -ldflags "-extldflags \"-static\"" -tags netgo -o $@ ./$(@D)
endif
qotd.marker: qotd/* qotd/qotd
app.marker: app/*

View File

@@ -0,0 +1 @@
GOLANG LIBRARY TO PROD [SHOUTCLOUD](SHOUTCLOUD.IO)

View File

@@ -0,0 +1,46 @@
package SHOUTCLOUD
import (
"bytes"
"encoding/json"
"errors"
"io/ioutil"
"net/http"
)
type SHOUTREQUEST struct {
INPUT string
}
type SHOUTRESPONSE struct {
INPUT string
OUTPUT string
}
func UPCASE(THING_TO_YELL string) (string, error) {
REQUEST := &SHOUTREQUEST{THING_TO_YELL}
ENCODED, ERR := json.Marshal(REQUEST)
if ERR != nil {
return "", errors.New("COULDN'T MARSHALL THE REQUEST")
}
READER := bytes.NewReader(ENCODED)
// NO TLS, SO MUCH SADNESS.
RESP, ERR := http.Post("http://API.SHOUTCLOUD.IO/V1/SHOUT",
"application/json", READER)
if ERR != nil {
return "", errors.New("REQUEST FAILED CAN'T UPCASE ERROR MESSAGE HALP")
}
BODYBYTES, ERR := ioutil.ReadAll(RESP.Body)
if ERR != nil {
return "", errors.New("COULDN'T READ BODY HALP")
}
var BODY SHOUTRESPONSE
if json.Unmarshal(BODYBYTES, &BODY) != nil {
return "", errors.New("COULDN'T UNPACK RESPONSE")
}
return BODY.OUTPUT, nil
}

11
experimental/example/vendor/manifest vendored Normal file
View File

@@ -0,0 +1,11 @@
{
"version": 0,
"dependencies": [
{
"importpath": "github.com/richo/GOSHOUT",
"repository": "https://github.com/richo/GOSHOUT",
"revision": "da80b9993cbabeba5d04ee1c31688313dd730ad8",
"branch": "master"
}
]
}

View File

@@ -148,7 +148,7 @@ function lint_files {
function list_files {
if [ $# -gt 0 ]; then
find "$@" -type f | grep -vE '^\./(\.git|vendor)/'
find "$@" -type f | grep -vE '(^\./\.git|^\./\.pkg|/vendor/)'
else
git diff --cached --name-only
fi