Age | Commit message (Collapse) | Author | Files | Lines |
|
Adds a Dockerfile that builds sally using a phased Docker build.
The first phase builds sally,
and the second phase publishes a scratch image
with just sally.
If Uber publishes this to a container registry,
a user can use it like so:
% vim sally.yaml # create a sally yaml
% cat > Dockerfile
FROM sally:latest
COPY sally.yaml /sally.yaml
% docker build .
Even without publishing, this provides an example
of how to build sally for deployment.
Testing:
I verified the instructions above locally
by tagging locally with:
% docker build -t sally:latest
I'm also using a variation of this Dockerfile in production
right now for my own hosted instance of sally.
|
|
This was all added back when these tests were running on Travis CI
and attempted to create an isolated build of sally.
This is all no longer necessary because GitHub Actions and Go modules
provide enough isolation.
|
|
Update all dependencies,
use Go 1.18 to build and test,
and delete outdated `bindata` clause in Makefile
(we switched to `go:embed` in #50).
Other minor changes:
- Fix the golint import path
(it switched to golang.org/x/lint long before it was deprecated)
and fix the failing lint check.
(Switching from golint to revive is out of scope for this PR.)
- Delete .envrc -- this was transitional for when Go modules were
optional.
|
|
sally is not a library, so there's no reason to test it with two
versions of Go.
Use the latest version of Go to build and test it.
|
|
This commit modernizes the repository organization a bit.
In short, this,
- Upgrades to Go 1.11.
- Uses Go modules instead of Glide.
- Drops errcheck, which we rarely use in our codebase internally.
- Uses `./...` to run build, tests, etc. since that does not have to
account for vendor anymore.
- Drops `-installsuffix cgo` from the production build. This was a
workaround for pre-1.10 versions of Go. See
https://github.com/golang/go/issues/9344#issuecomment-69944514.
- Uses a tools.go as recommended in [go-modules-by-example/tools][1] to
pin to tool dependencies.
- Uses `go run` instead of `go install`ing tools globally.
[1]: https://github.com/go-modules-by-example/index/tree/master/010_tools
Tested locally with `make docker-launch`.
|
|
|
|
|