Skip to content

Commit

Permalink
Port bashbrew to use Go modules instead of GB
Browse files Browse the repository at this point in the history
Something in here also fixes the "missing build output on error" bug we've been seeing on Jenkins (see https://doi-janky.infosiftr.net/job/multiarch/job/arm32v7/job/rabbitmq/184/console for example).
  • Loading branch information
tianon committed Mar 28, 2019
1 parent c9ff9d5 commit 058fbda
Show file tree
Hide file tree
Showing 191 changed files with 4,400 additions and 24,468 deletions.
10 changes: 2 additions & 8 deletions .travis.yml
@@ -1,15 +1,9 @@
language: go
go: 1.7.x

# allow for use of Docker-based workers
sudo: false

install:
- go get -v -u github.com/constabulary/gb/...
go: 1.12.x

before_script:
- env | sort
- ( cd bashbrew/go && gb build )
- ./bashbrew/bashbrew.sh --help > /dev/null
- export PATH="$PWD/bashbrew/go/bin:$PATH"

script:
Expand Down
8 changes: 3 additions & 5 deletions Dockerfile
Expand Up @@ -35,11 +35,9 @@ RUN mkdir -p "$BASHBREW_CACHE" \
WORKDIR $DIR
COPY . $DIR

RUN set -ex; \
cd bashbrew/go; \
export GOPATH="$PWD:$PWD/vendor"; \
cd src; \
CGO_ENABLED=0 go install -v ./...
RUN set -eux; \
CGO_ENABLED=0 ./bashbrew/bashbrew.sh --help > /dev/null; \
cp -vL bashbrew/go/bin/bashbrew /usr/local/bin/

VOLUME $BASHBREW_CACHE

Expand Down
3 changes: 0 additions & 3 deletions bashbrew/.dockerignore
Expand Up @@ -3,7 +3,4 @@
.dockerignore
Dockerfile*
go/bin
go/pkg
go/vendor/bin
go/vendor/pkg
!.bashbrew-arch-to-goenv.sh
4 changes: 2 additions & 2 deletions bashbrew/Dockerfile.release
Expand Up @@ -5,7 +5,6 @@ RUN apk add --no-cache \
gnupg

WORKDIR /usr/src/bashbrew
ENV GOPATH /usr/src/bashbrew:/usr/src/bashbrew/vendor
ENV CGO_ENABLED 0

ENV BASHBREW_ARCHES \
Expand Down Expand Up @@ -73,7 +72,8 @@ RUN set -euxo pipefail; \
-ldflags '-s -w' \
-tags netgo -installsuffix netgo \
-o "$targetBin" \
./src/bashbrew \
-mod vendor \
bashbrew/src/bashbrew \
; \
ls -lAFh "$targetBin"; \
file "$targetBin"; \
Expand Down
6 changes: 1 addition & 5 deletions bashbrew/bashbrew.sh
Expand Up @@ -3,10 +3,6 @@ set -e

dir="$(dirname "$(readlink -f "$BASH_SOURCE")")"

if ! command -v gb &> /dev/null; then
( set -x && go get github.com/constabulary/gb/... )
fi

( cd "$dir/go" && gb build > /dev/null )
( cd "$dir/go" && go build -o bin/bashbrew -mod vendor bashbrew/src/bashbrew > /dev/null )

This comment has been minimized.

Copy link
@7AC

7AC Apr 4, 2019

Contributor

This needs to be reflected in the README


exec "$dir/go/bin/bashbrew" "$@"
10 changes: 10 additions & 0 deletions bashbrew/go/go.mod
@@ -0,0 +1,10 @@
module bashbrew

require (
github.com/codegangsta/cli v1.20.0
github.com/docker-library/go-dockerlibrary v0.0.0-20190129000321-7e50189a05d4
golang.org/x/crypto v0.0.0-20190325154230-a5d413f7728c // indirect
golang.org/x/sys v0.0.0-20190322080309-f49334f85ddc // indirect
pault.ag/go/debian v0.0.0-20190109175134-a131cb0ae041
pault.ag/go/topsort v0.0.0-20160530003732-f98d2ad46e1a
)
15 changes: 15 additions & 0 deletions bashbrew/go/go.sum
@@ -0,0 +1,15 @@
github.com/codegangsta/cli v1.20.0 h1:iX1FXEgwzd5+XN6wk5cVHOGQj6Q3Dcp20lUeS4lHNTw=
github.com/codegangsta/cli v1.20.0/go.mod h1:/qJNoX69yVSKu5o4jLyXAENLRyk1uhi7zkbQ3slBdOA=
github.com/docker-library/go-dockerlibrary v0.0.0-20190129000321-7e50189a05d4 h1:Jl830zF5XyeMipP9Ag2J64TAeheWDvOsqLuaDHn4pb8=
github.com/docker-library/go-dockerlibrary v0.0.0-20190129000321-7e50189a05d4/go.mod h1:ijRhN3WM71dD8TfohKoUdX46BT2uz/Ek5O+5PINI880=
github.com/kjk/lzma v0.0.0-20161016003348-3fd93898850d/go.mod h1:phT/jsRPBAEqjAibu1BurrabCBNTYiVI+zbmyCZJY6Q=
github.com/xi2/xz v0.0.0-20171230120015-48954b6210f8/go.mod h1:HUYIGzjTL3rfEspMxjDjgmT5uz5wzYJKVo23qUhYTos=
golang.org/x/crypto v0.0.0-20190103213133-ff983b9c42bc/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4=
golang.org/x/crypto v0.0.0-20190325154230-a5d413f7728c h1:Vj5n4GlwjmQteupaxJ9+0FNOmBrHfq7vN4btdGoDZgI=
golang.org/x/crypto v0.0.0-20190325154230-a5d413f7728c/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w=
golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
golang.org/x/sys v0.0.0-20190322080309-f49334f85ddc/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
pault.ag/go/debian v0.0.0-20190109175134-a131cb0ae041 h1:LmTwXQVDWXMigTB88hFtd6mc3l5eLAlgdtfPI0F69bQ=
pault.ag/go/debian v0.0.0-20190109175134-a131cb0ae041/go.mod h1:e7Gva9AMoKtUKYJ1G9kIesbh+4VS2JnAOS8VWafyTCk=
pault.ag/go/topsort v0.0.0-20160530003732-f98d2ad46e1a h1:WwS7vlB5H2AtwKj1jsGwp2ZLud1x6WXRXh2fXsRqrcA=
pault.ag/go/topsort v0.0.0-20160530003732-f98d2ad46e1a/go.mod h1:INqx0ClF7kmPAMk2zVTX8DRnhZ/yaA/Mg52g8KFKE7k=
8 changes: 6 additions & 2 deletions bashbrew/go/src/bashbrew/main.go
Expand Up @@ -70,8 +70,12 @@ func main() {

// TODO add "Description" to app and commands (for longer-form description of their functionality)

cli.VersionFlag.Name = "version" // remove "-v" from VersionFlag
cli.HelpFlag.Name = "help, h, ?" // add "-?" to HelpFlag
// add "-?" to HelpFlag
cli.HelpFlag = cli.BoolFlag{
Name: "help, h, ?",
Usage: "show help",
}

app.Flags = []cli.Flag{
cli.BoolFlag{
Name: "debug",
Expand Down
2 changes: 2 additions & 0 deletions bashbrew/go/vendor/github.com/codegangsta/cli/.flake8

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 2 additions & 0 deletions bashbrew/go/vendor/github.com/codegangsta/cli/.gitignore

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

27 changes: 27 additions & 0 deletions bashbrew/go/vendor/github.com/codegangsta/cli/.travis.yml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

21 changes: 21 additions & 0 deletions bashbrew/go/vendor/github.com/codegangsta/cli/LICENSE

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

0 comments on commit 058fbda

Please sign in to comment.