Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add Dockerfile for sequence diagram generation #3811

Merged
merged 1 commit into from
Jan 26, 2015
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
12 changes: 12 additions & 0 deletions docs/design/clustering/Dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
FROM debian:jessie

RUN apt-get update
RUN apt-get -qy install python-seqdiag make curl

WORKDIR /diagrams

RUN curl -sLo DroidSansMono.ttf https://googlefontdirectory.googlecode.com/hg/apache/droidsansmono/DroidSansMono.ttf

ADD . /diagrams

CMD bash -c 'make >/dev/stderr && tar cf - *.png'
13 changes: 13 additions & 0 deletions docs/design/clustering/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -14,3 +14,16 @@ $(FONT):

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This doesn't seem to have your last change where you fixed the curl target (removing the .ttf extension).

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yeah -- didn't plan these together so kept them in separate branches.

%.png: %.seqdiag $(FONT)
seqdiag --no-transparency -a -f '$(FONT)' $<

# Build the stuff via a docker image
.PHONY: docker
docker:
docker build -t clustering-seqdiag .
docker run --rm clustering-seqdiag | tar xvf -

docker-clean:
docker rmi clustering-seqdiag || true
docker images -q --filter "dangling=true" | xargs docker rmi

fix-clock-skew:
boot2docker ssh sudo date -u -D "%Y%m%d%H%M.%S" --set "$(shell date -u +%Y%m%d%H%M.%S)"
17 changes: 17 additions & 0 deletions docs/design/clustering/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,3 +7,20 @@ pip install seqdiag
```

Just call `make` to regenerate the diagrams.

## Building with Docker
If you are on a Mac or your pip install is messed up, you can easily build with docker.

```
make docker
```

The first run will be slow but things should be fast after that.

To clean up the docker containers that are created (and other cruft that is left around) you can run `make docker-clean`.

If you are using boot2docker and get warnings about clock skew (or if things aren't building for some reason) then you can fix that up with `make fix-clock-skew`.

## Automatically rebuild on file changes

If you have the fswatch utility installed, you can have it monitor the file system and automatically rebuild when files have changed. Just do a `make watch`.