Conversation
examples/Dockerfile-envoy-image
Outdated
| RUN apt-get update && apt-get install -y \ | ||
| curl \ | ||
| python-pip | ||
| RUN objcopy --only-keep-debug /usr/local/bin/envoy /usr/local/bin/envoy.dbg |
There was a problem hiding this comment.
For now I would just strip and drop the debug symbols to make the image smaller. If people want the debug symbols we can deal with that later. Also, do we need curl and python above? Can that be deleted?
There was a problem hiding this comment.
Ok, dropping debug. The curl and python above are needed in the examples. I could move their addition to the examples' docker file. If we want that, then I would move this Dockerfile to ci/; at that point this dockerfile would belong there rather than here. What do you think?
There was a problem hiding this comment.
Yeah let's keep this as clean/simple as possible.
ci/docker_push.sh
Outdated
| then | ||
| # docker login -e $DOCKER_EMAIL -u $DOCKER_USERNAME -p $DOCKER_PASSWORD | ||
| export TAG=`if [ "$TRAVIS_BRANCH" == "master" ]; then echo "latest"; else echo $TRAVIS_BRANCH; fi` | ||
| echo "TAG is $TAG" |
There was a problem hiding this comment.
Any thoughts on tagging based on semantic versioning?
i.e., master branch can be "unstable", while a.b.c could be tagged with tags: envoy:a, envoy:a.b, envoy:a.b.c, and envoy:latest pointing to the a.b.c
However, if you are maintaining 1.0.0 and 1.1.0 branch for internal purposes, then please disregard the comment above.
There was a problem hiding this comment.
The 1.0.0 and 1.1.0 stuff was copied from somewhere else. We will delete that. I have no preference on whether we call master unstable or latest. Whatever folks want is fine.
I think for now, as long as we are building on every master commit, we will end up manually tagging each release, and can also point latest at that release. (Need docs on this, and eventually potentially a script for doing an official release).
| RUN apt-get update && apt-get install -y \ | ||
| curl \ | ||
| python-pip | ||
| build-essential |
There was a problem hiding this comment.
what is this? do we need it?
There was a problem hiding this comment.
Yeah just for strip. I was trying to find if it could be installed individually but didn't find an alt package for it.
ci/docker_push.sh
Outdated
| #!/bin/bash | ||
| set -ev | ||
| want_push='false' | ||
| for branch in "master" "1.0.0" "1.1.0" |
There was a problem hiding this comment.
we don't do versioned branches right now, let's just delete 1.0.0 and 1.1.0
There was a problem hiding this comment.
Initially I thought these would work for our tagged releases but then I realized this would require us maintaining actual release branches not just having a tagged release.
42e3c2c to
0557a61
Compare
| read -r -p "Are you on master and have a clean branch? [y/N] " response | ||
| if [[ $response =~ ^([yY][eE][sS]|[yY])$ ]] | ||
| then | ||
| read -r -p "What SHA do you want to tag the envoy-build with? [y/N] " tag |
There was a problem hiding this comment.
can we just read this from git rev-parse and not ask the user
There was a problem hiding this comment.
cool, I didn't know about this.
| eval $(docker-machine env default) | ||
| docker build --rm -t lyft/envoy-build:$tag . | ||
| docker login -u $DOCKER_USERNAME -p $DOCKER_PASSWORD | ||
| docker push lyft/envoy-build:$tag |
There was a problem hiding this comment.
can we also tag latest, better for dev
| read -r -p "Do you have master checked out with most recent changes? [y/N] " response | ||
| if [[ $response =~ ^([yY][eE][sS]|[yY])$ ]] | ||
| then | ||
| TAG="$(git rev-parse origin/master)" |
There was a problem hiding this comment.
this should be master, not origin/master, as your local my not be up to date and that is what you are building.
There was a problem hiding this comment.
Agreed, that way there is no divergence between the tag and what was actually built.
Automatic merge from submit-queue. Tcp filter report delta **What this PR does / why we need it**: Let MixerClient send periodical reports for long TCP connections. Use config TcpClientConfig::report_interval to set report interval. If report_interval is not set, or report_interval is not correct, then use 10 seconds as default interval. **Which issue this PR fixes** *(optional, in `fixes #<issue number>(, fixes #<issue_number>, ...)` format, will close that issue when PR gets merged)*: fixes #[539](https://github.com/istio/proxy/issues/539) **Special notes for your reviewer**: **Release note**: ```release-note ```
Signed-off-by: John Plevyak <jplevyak@gmail.com>
…am from 1.6.9 to 1.6.10 (#408)
@lyft/network-team
I have added two new scripts to CI:
ci/docker_push.sh: this file creates alyft/envoy:latestimage that is used by script 2. and gets push to dockerhub if the current branch is master. This will cause our lyft/envoy:latest image to be updated every time a PR is merged to master.ci/verify_examples.sh: this file builds our examples and verifies that all the containers run. This is the way I devised to verify that our examples build and run on every PR. The grpc-bridge example is a little convoluted because travis does not allow multi-lingual environments so I had to install go, and setup the project on a gopath.Both scripts are part of the script portion of CI so that their failure causes test failure and people notice them. Both scripts only run on the
normalenv.